5.1 chmod–查看修改文件权限
权限信息由 10 个字符组成:
第一个字符代表文件类型,接下来的九个字符分为三组,每组三个字符,分别代表所有者、所属组和其他用户的权限。
5.1.1 基本权限:
r:可读取权限,r=4
w:可写入权限,w=2
x:可执行权限,x=1
s:运行时重新设置UID或GID
chmod
参数:
-c:若文件权限确实已更改,才显示其更改动作
-f:若该文档权限无法被更改也不要显示错误信息
-v:权限变更的详细资料
-R:对当前目录下的所有文件与子目录进行相同权限的变更
注:u:文档拥有者、g:群组、o:其它、a:三者皆是
//把file.txt设置为所有人可读
[root@host1 ~]# chmod ugo+r file1.txt
[root@host1 ~]# chmod a+r file.txt
//把file.txt,filew2.txt设置为文件拥有者,同组群体可写入,其它角色无法写入
[root@host1 ~]# chmod ug+w,o-w file1.txt,flile2.txt
[root@host1 ~]# chmod a=rwx file.txt 和 chmod 777 file.txt效果等同
[root@host1 ~]# chmod ug=rwx,o=x file.txt 和 chmod 771 file.txt效果等同
//将文件1的属性(读,写,可执行权限)复制到文件2
chmod --reference=filename1 filename2
[root@host1 ~]# ll /root/report.sh
-rw-r--r-- 1 root root 3467 Oct 30 2017 /root/report.sh
[root@host1 ~]# ./report.sh
-bash: ./report.sh: Permission denied //报错提示为权限不足
//增加 x 执行权限即可
[root@host1 ~]# chmod +x /root/report.sh
或
[root@host1 ~]# chmod 655 /root/report.sh
[root@host1 ~]# ll /root/report.sh
-rwxr-xr-x 1 root root 3467 Oct 30 2017 /root/report.sh
5.1.2 继承权限:
(1)Set UID 附加权限(附加在属主的 x 位上,属主的权限标识会变成 s)
适用于可执行文件,Set UID 可以让使用者具有文件属主的身份及部分权限
chmod u+s 文件
(2)Set GID 附加权限(附加在属组的 x 位上,属组的权限标识会变成 s)
适用于目录,Set GID 可以使目录下新增的文档自动设置与父目录相同的属组,让子文档自动继承父目录的属组身份
chmod g+s 文件
(3)Sticky Bit 附加权限(附加在其他人的 x 位上,其他人的权限标识会变为 t )
适用于开放 w 权限的目录,可以阻止用户滥用 w 写入权限(禁止操作别人的文档)
chmod o+t 文件
5.3 chown–修改属主属组
chown对于用户的操作,用户可以是用户名或用户ID,组可以是组名或组ID。
参数:
-c:若该文件拥有者确实已经更改,才显示其更改动作。
-f:若改文件拥有者无法变更也不要显示错误信息
-h:只对连结(link)进行变更,而非该link真正指向的文件
-v:显示拥有者变更的详细资料
-R:递回方式逐个变更
chown [-R] 属主 文件
chown [-R] :属组 文件
chown [-R] 属主:属组 文件
chown etl:users etlm* #支持模糊匹配更改
[root@host1 ~]# ll linux.txt
-rw-r--r-- 1 root root 0 Apr 9 08:44 linux.txt
[root@host1 ~]# chown oracle:oinstall linux.txt
[root@host1 ~]# ll linux.txt
-rw-r--r-- 1 oracle oinstall 0 Apr 9 08:44 linux.txt
5.4 umask–默认创建文件权限
umask可用来设定[权限掩码]。[权限掩码]是由3个八进制的数字所组成,将现有的存取权限减掉权限掩码后,即可产生建立文件时预设的权限。
umask [-S][权限掩码]
参数:
-S 以文字的方式来表示权限掩码
//查看当前权限掩码
[root@host1 ~]# umask
0022
//新建目录,查看权限
[root@host1 ~]# mkdir test
[root@host1 ~]# ll test/
total 0
[root@host1 ~]# ll -d test/
drwxr-xr-x 2 root root 4096 Apr 9 08:47 test/
注:"drwxr-xr-x"="777-022=755"。777-umask=创建文件默认权限
5.5 acl 策略(能对个别用户、个别组设置独立的权限)
-R 递归设置 acl
-b 清空策略
-x 删除指定策略
//查看文件 acl 策略
getfacl 文件
//添加 acl 策略
setfacl -R -m u:用户名:权限类别 文件
setfacl -R -m g:组名:权限类别 文件