Linux文件权限管理解析
一、Linux用户权限解析
我们linux服务器上有严格的权限等级,如果权限过高导致误操作会增加服务器的风险。所以对于了解linux系统中的各种权限及要给用户,服务等分配合理的权限十分重要
二、ugo权限讲解
u user
g group
o other
--- --- ---
u g o
rwx r-x --x
r read
w write
x execute
[root@qfedu.com ~]# chmod 权限 文件
[root@qfedu.com ~]# chmod u-r-w a.txt
[root@qfedu.com ~]# chmod u+r a.txt
[root@qfedu.com ~]# chmod g+w a.txt
[root@qfedu.com ~]# chmod o+x a.txt
[root@qfedu.com ~]# chmod u+w,g-w,o+w a.txt
[root@qfedu.com ~]# chmod a-r a.txt a表示ugo3个位置
[root@qfedu.com ~]# chmod -r a.txt (建议少用)
4=r 2=w 1=x
rwx 4+2+1=7
r-- 4
r-x 4+1=5
745
[tom@qfedu.com ~]$ chmod 604 a.txt
[tom@qfedu.com ~]$ ll a.txt
-rw----r-- 1 tom tom 44 Nov 25 11:43 a.txt
三、文件所有者/所属组讲解
[root@qfedu.com ~]#chown 用户 文件
[root@qfedu.com ~]#chown user2 a.txt
[root@qfedu.com ~]#chown {.|:}组 文件
[root@qfedu.com ~]#chown .grp2 a.txt
[root@qfedu.com ~]#chown 用户.组 文件
[root@qfedu.com ~]#chown user3:grp3 a.txt
-R recoursive 递归修改,修改目录的时候连带目录的所有子文件一起修改
四、linux文件类型讲解
linux里面 一切皆文件
查看文件类型
[root@qfedu.com ~]#ls -l 文件名
-rwxrwxrwx. 1 root root 819 11月 18 10:14 1考试.txt
文件类型种类
- 普通文件 f
d 目录
b 块设备 /dev/sda /dev/sda1 /dev/sr0
c 字符设备 /dev/pts/0 /dev/tty0
#tty //查看字符设备名称
l symbolic link 符号链接 软链接(快捷方式)
s socket 套接字 网络进程间通信的一种方式
p pipe 管道 本地进程间通信的一种方式
文件数据类型
[root@qfedu.com ~]#file 文件
比如:
[root@qfedu.com ~]# file VNC-5.2.0-Linux-x64-RPM.tar.gz
VNC-5.2.0-Linux-x64-RPM.tar.gz: gzip compressed data,
from Unix, last modified: Tue Jun 3 18:07:35 2014
查看命令类型
比如:
[root@qfedu.com ~]# type ls
ls 是 `ls --color=auto' 的别名
五、权限掩码
umask 用户掩码
控制用户创建文件和目录的默认权限
root用户默认权限 目录777 文件666
查看umask
[root@qfedu.com ~]#umask
0022 root账户默认
0002 普通用户默认
修改umask
[root@qfedu.com ~]#umask 0111
计算方法:
先把掩码做取反操作,然后在与原始权限做与运算
六、文件属性
又称为隐藏权限
[root@qfedu.com ~]# lsattr a.txt
[root@qfedu.com ~]# chattr +a a.txt
[root@qfedu.com ~]# chattr -a a.txt
[root@qfedu.com ~]# chattr +i a.txt
[root@qfedu.com ~]# chattr -i a.txt
+A:Atime,告诉系统不要修改对这个文件的最后访问时间
+S:Sync,一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘。
+d:No dump,在进行文件系统备份时,dump程序将忽略这个文件。
chattr命令不能保护/、/dev、/tmp、/var目录
七、sudo提权
[root@qfedu.com ~]# visudo
#别名的定义
Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool
开放个别命令使用权:
huxulong ALL=/usr/bin/passwd, /bin/cat, NETWORKING
开放所有命令使用权:
huxulong ALL=(ALL) ALL
相关推荐HOT
更多>>分布式锁是什么?有什么作用?
分布式锁是一种用于在分布式系统中实现并发控制的机制。在多个节点或进程之间共享资源时,分布式锁可确保只有一个节点或进程可以访问或修改共享...详情>>
2023-06-15 11:05:38Java中switch条件语句如何使用?
在Java中,switch语句是一种条件语句,用于根据不同的条件值执行不同的代码块。switch语句的语法如下:switch(expression){casevalue1://当expr...详情>>
2023-06-06 16:24:02js获取checkbox是否选中
要检查 JavaScript 复选框是否被选中,可以使用 checked 属性。该属性返回布尔值 true 表示复选框被选中,false 表示未被选中。详情>>
2023-04-21 10:19:04linux查找文件命令
在Linux系统中,可以使用以下命令来查找文件:1.find命令:find命令可以在指定的目录下递归查找文件,可以根据文件名、类型、大小等条件来查找...详情>>
2023-03-14 13:28:14