权限管理-文件权限
一. 文件权限管理之基本权限
1.基本权限介绍
r: 可读==>4
w: 可写==>2
x: 可执行==>1
权限归属
属主:u
属组:g
其他用户:o
-rw-r--r-- 1 root root 1146 Jul 16 18:42 a.txt
文件类型 文件属主权限 文件属组权限 其他用户 硬链接数
- rw r-- r-- 1
文件的属主 文件的属组 文件的大小(字节数) 文件的最近访问时间 文件名
root root 1146 Jul 16 18:42 a.txt
2.设置权限
chmod 修改 u,g,o 对应的权限
(1)+号 -号 授权
chmod u+x,g-w,o+r a.txt
(2)赋值 =号授权
(2)赋值 =号授权
chmod a=rwx a.txt #所有用户的权限为rwx(a代表所有用户)
chmod a=- a.txt #所有用户没有权限
chmod ug=rw,o=r a.txt #属主属组的权限为rw,其他用户的权限为r
(3)数字授权
r:4
w:2
x:1
-:0
chmod 644 a.txt
chmod -R 777 /a/ #a目录及目录下的子目录和文件的权限都改为rwx(-R代表递归授权)
chown 修改属主,属组
[root@aliyun ~]# chown alice.hr file1 # 修改属主,属组
[root@aliyun ~]# chown alice file1 #只修改属主
[root@aliyun ~]# chown alice. file1 #修改属主和属组都为alice
[root@aliyun ~]# chown .alice file1 #只改属组
[root@aliyun ~]# chown -R alice. /a/ #修改目录a及目录下的子目录和文件都为alice(-R递归修改)
3.权限的作用
文件:
r:读取文件的内容
w:修改文件内容
x:可以把文件当成一个命令/程序运行
目录:
r:可以浏览该目录下的子目录名和子文件名字
w:创建、删除、移动文件
x: 可以进入该目录,涉及到多目录,需要对每一级目录都要有x权限才可以正常走到下一级
总结:
针对目录
(1)要想在目录下创建/删除内容:对目录要有wx权限
(2)要浏览目录下的内容:对目录要有rx权限
(3)要执行目录下程序:对目录x权限和对文件x权限,如果文件是解释型语言写的脚本程序,还需要对文件有r权限
针对文件:
(1)查看某一个文件内容:对沿途所有目录要有x权限以及对目标文件要有r权限
(2)修改某一个文件内容:对沿途所有目录要有x权限以及对目标文件要有w权限
二. 文件权限管理之特殊权限
1.SUID(4000)
作用:让普通用户对可执行的二进制文件,临时拥有二进制文件的属主权限
特点:- SUID 权限仅对二进制可执行文件有效
- 如果执行者对于该二进制可执行文件具有 x 的权限,执行者将具有该文件的所有者的权限
- 本权限仅在执行该二进制可执行文件的过程中有效
授权方式:
chmod u+s 命令文件
chmod 4755 命令文件
如果该文件属主权限位上有执行权限,则:s
如果该文件属主权限位上没有执行权限,则:S
2.SGID(2000)
[root@oldboyedu ~]# ll /bin/write
-rwxr-sr-x. 1 root tty 19624 Oct 31 2018 /bin/write
当用户对某一目录有写和执行权限时,该用户就可以在该目录下建立文件,如果该目录设置了SGID ,则该用户在这个目录下建立的文件都是属于这个目录所属的组.
如果该属组权限位上有执行权限,则:s
如果该属组权限位上没有执行权限,则:S
授权方式:
chmod 2755 /tmp/test/
chmod g+s /tmp/test/
SGID的特点
(1)当某个目录设置了sgid后,在该目录中新建的文件不在是创建该文件的默认所属组.
(2)用户在该目录下创建的子目录或文件的所属组和该目录的所属组一致.
(3)使用sgid可以使得多个用户之间共享一个目录的所有文件.
3.sbit(1000)
粘滞位
[root@oldboyedu ~]# ll -d /tmp/
drwxrwxrwt. 8 root root 105 Jul 2 10:15 /tmp/
如果该其他用户权限位上有执行权限,则:t
如果该其它用户权限位上没有执行权限,则:T
授权方式:
chmod 1755 /opt
chmod o+t /opt
sticky(SI TI KI)粘滞,目前只对目录有效,作用如下:
普通用户对该目录拥有w和x权限,即普通用户可以在此目录中拥有写入权限,如果没有粘滞位,那么普通用户就可以删除此目录下的所有文件,包括其他用户建立的文件。但是一旦被赋予了粘滞位,除了root可以删除所有文件,普通用户就算有w权限也只能删除自己建立的文件,而不能删除其他用户建立的文件.
4.特殊权限总结:
SUID
主要是对命令,或者二进制文件,以该二进制文件的属主权限来执行该文件 命令:passwd
SGID
主要是针对目录进行授权,共享目录
SBIT
粘滞位,即便是其他用户对该目录拥有wx权限,但是除了root用户,其他用户只能对自己的文件进行删除、移动操作.
三. umask
新建目录,文件的默认权限都是由umask决定的.