一、文件的权限
r读权限
w写权限
x执行权限,此文件必须可执行,属于目录可访问的最小权限
rwx/所有者? ? ? rwx/所属组? ? ? ? ?rwx? /? other
注意:用户的最终权限,是从左向右进行顺序匹配,即,所有者,所属组,其他人,一旦匹配权限立即
生效,不再向右查看其权限
chmod用法:
模式法:
MODE:who opt permission
who:u,g,o,a
opt:+,-,=
permission:r,w,x
修改指定一类用户的所有权限
u= g= o= ug= a= u=,g=
修改指定一类用户某个或某个权限
u+ u- g+ g- o+ o- a+ a- + -
-R: 递归修改权限
数字法:
r? | w|? ? x
100 |? 010? | 001?
4? |? 2? ?| 1?
?
?
?
二、设置文件的所有者chown
chown 命令可以修改文件的属主,也可以修改文件属组
chown [OPTION]... [OWNER][:[GROUP]] FILE...
chown [OPTION]... --reference=RFILE FILE...
用法说明:
OWNER ? #只修改所有者
OWNER:GROUP #同时修改所有者和属组
:GROUP ? #只修改属组,冒号也可用 . 替换
--reference=RFILE ?#参考指定的的属性,来修改 ?
-R #递归,此选项慎用,非常危险!
?
三、新建文件权限的默认属性
umask 的值可以用来保留在创建文件权限
实现方式:
新建文件的默认权限: 666-umask,如果所得结果某位存在执行(奇数)权限,则将其权限+1,偶
数不变
新建目录的默认权限: 777-umask
非特权用户umask默认是 002
root的umask 默认是 022
如果永久生效:加入bashrc
?
四、文件的特殊权限
任何一个可执行程序文件能不能启动为进程:取决发起者对程序文件是否拥有执行权限
启动为进程之后,其进程的属主为原程序文件的属主
SUID只对二进制可执行程序有效
SUID设置在目录上无意义
文件上:
[wang@centos7 //]$cat /etc/shadow
cat: /etc/shadow: Permission denied
[wang@centos7 //]$su?
Password:?
[root@centos7 //]#which cat
/usr/bin/cat
[root@centos7 //]#chmod u+s /usr/bin/cat
[root@centos7 //]#
[root@centos7 //]#
[root@centos7 //]#
[root@centos7 //]#exit
exit
[wang@centos7 //]$cat /etc/shadow? ? //成功查看
?
数字法;
u是4
g是2
t是1
?
?
目录上:
[root@centos7 date]#ll ?-d shiyan2
drwxr-xr-x. 2 root root 6 Jul 28 23:06 shiyan2
[root@centos7 date]#touch shiyan2/1.w
[root@centos7 date]#ll ?shiyan2/1.w?
-rw-r--r--. 1 root root 0 Jul 28 23:07 shiyan2/1.w
[root@centos7 date]#chmod g+s shiyan2
[root@centos7 date]#chown ?:wang shiyan2
[root@centos7 date]#ll -d shiyan2
drwxr-sr-x. 2 root wang 17 Jul 28 23:07 shiyan2
[root@centos7 date]#touch shiyan2/w.2
[root@centos7 date]#ll shiyan2/
total 0
-rw-r--r--. 1 root root 0 Jul 28 23:07 1.w
-rw-r--r--. 1 root wang 0 Jul 28 23:08 w.2
other上:文件中的t权限
只能删除或者修改自己属主的文件?
chmod o+t DIR...
?
?
总结:
suid file? ?#当file是程序并且运行时,自动继承所有者的权限
sgid file? #当file是程序并且运行时,自动继承所诉组的权限
sticky dir? #只能删除或者修改自己属主的文件?
sgid dir? ?#创建文件时,所属组是目录的所属组
?
?
五、设置文件的特殊权限(包括root)
设置文件的特殊属性,可以访问 root 用户误操作删除或修改文件
?
chattr +i? ?#不能删除,改名,更改
?
chattr +a? # 只能追加内容,不能删除,改名
lsattr? ?# 查看特定属性
[root@centos8 data]#chattr +i dir
[root@centos8 data]#lsattr dir
------------------ dir/fstab
------------------ dir/f1.txt
[root@centos8 data]#lsattr *
------------------ dir/fstab
------------------ dir/f1.txt
------------------ f11.txt
------------------ f22.txt
[root@centos8 data]#ll
drwxr-xr-x 2 root root ?33 Dec 18 14:32 dir
-rw-r--r-- 1 root root 719 Dec 18 14:30 f11.txt
-rw-r--r-- 1 root root ? 6 Dec 18 14:30 f22.txt
[root@centos8 data]#rm -rf dir
rm: cannot remove ‘dir/fstab‘: Operation not permitted
rm: cannot remove ‘dir/f1.txt‘: Operation not permitted
[root@centos8 data]#lsattr
------------------ ./f11.txt
------------------ ./f22.txt
----i------------- ./dir
[root@centos8 data]#chattr -i dir
?
六、文件的访问控制列表acl
?
getfacl? ? ? ?file? ?#查看文件的acl权限
setfacl? ? ? ? ? ? ? ? ? #可以设置ACL权限
]#setfacl -m u:wang:- f1.txt? ?#给wang这个账号设置权限
? ? ? ? ? ? ? ? -x? ? ? ? ? ? ? ? ? ? ? #删除
? ? ? ? ? ? ? ? ?-b? ? ? ? ? ? ? ? ? ? #全部删除
? ? ? ? ? ? ? ? ? -R? ? ? ? ? ? ? ? ? #递归增加
?
? ? ? ? ? ? ?
?
?
?
?
?