Linux文件系统权限(2)

作用在二进制程序上,当用户执行该程序时,运行该程序的身份为该程序的属主而非用户自身
示例:

[root@centos7 data]# su masuri [masuri@centos7 data]$ ll `which cat` 此时suid没有修改 -rwxr-xr-x. 1 root root 54160 Oct 31 03:16 /usr/bin/cat [masuri@centos7 data]$ cat /etc/shadow shadow文件无法访问 cat: /etc/shadow: Permission denied [masuri@centos7 data]$ exit exit [root@centos7 data]# chmod u+s `which cat` 修改suid [root@centos7 data]# ll `which cat` -rwsr-xr-x. 1 root root 54160 Oct 31 03:16 /usr/bin/cat [masuri@centos7 data]$ cat /etc/shadow 此时shadow文件可以访问 root:$6$FBXKJJRgWCz23UDt$ji24UW5dVeYK55JOkBzBbmXaSGKAwhM1sjY9rg3TguL1GaTEmrlSzbDYNIu7p57/hehYEIE3LYLMHv2IqxIb70::0:99999:7::: bin:*:17834:0:99999:7::: daemon:*:17834:0:99999:7::: adm:*:17834:0:99999:7::: lp:*:17834:0:99999:7::: SGID:

作用在目录上,当用户在拥有SGID权限的目录下创建文件时,该文件的属组自动变为该目录的属组。
示例:

[root@centos7 data]# groupadd wang [root@centos7 data]# mkdir testdir [root@centos7 data]# chown .wang testdir [root@centos7 data]# ll total 0 drwxr-xr-x 2 root wang 6 Mar 15 01:01 testdir [root@centos7 data]# chmod g+s testdir [root@centos7 data]# touch testdir/{a,b} [root@centos7 data]# ll testdir/ total 0 -rw-r--r-- 1 root wang 0 Mar 15 01:03 a -rw-r--r-- 1 root wang 0 Mar 15 01:03 b STICKY:

作用在目录上,表示该目录下创建的文件只有该文件的属主才能进行删除。
示例:

[root@centos7 data]# mkdir -m 777 testdir 创建目录并赋予777的权限 [root@centos7 data]# ll total 0 drwxrwxrwx 2 root root 6 Mar 15 01:13 testdir [root@centos7 data]# touch testdir/{a,b} 在目录下创建a和b两个文件 [root@centos7 data]# ls testdir/ a b [root@centos7 data]# su masuri 切换至masuri用户 [masuri@centos7 data]$ rm -rf testdir/a 此时可以删除root创建的a文件 [masuri@centos7 data]$ ll testdir/ total 0 -rw-r--r-- 1 root root 0 Mar 15 01:13 b [masuri@centos7 data]$ exit 切回root exit [root@centos7 data]# chmod o+t testdir 对testdir加sticky权限 [root@centos7 data]# su masuri 切回masuri用户 [masuri@centos7 data]$ touch testdir/a 在testder目录下添加a文件 [masuri@centos7 data]$ exit exit [root@centos7 data]# su wang 切换至wang用户 [wang@centos7 data]$ touch testdir/c 创建一个c文件 [wang@centos7 data]$ rm testdir/a rm: remove write-protected regular empty file ‘testdir/a’? y 删除masuri用户的a文件 rm: cannot remove ‘testdir/a’: Operation not permitted 无法删除 [wang@centos7 data]$ rm testdir/c 但是可以删除自己创建的C文件 [wang@centos7 data]$ ll testdir/ total 0 -rw-rw-r-- 1 masuri masuri 0 Mar 15 01:20 a -rw-r--r-- 1 root root 0 Mar 15 01:13 b

四、访问控制列表acl
setfacl:
命令格式:

setfacl [-bkndRLPvh] [{-m|-x} acl_spec] [{-M|-X} acl_file] file ... setfacl --restore=file 说明:
访问控制列表给与了文件更加灵活的权限设置,除了文件的所有者,所属组和其它人,可以对更多的用户设置权限选项参数
-m   设置权限  
-R   递归  
-M  
-x   删除acl权限  
-X file   参照file 文件删除acl 权限  
-k dir   删除默认acl设置权限  
-b file   清空acl权限  

示例:
1.对���户设置访问控制权限

[root@centos7 data]# mkdir testdir [root@centos7 data]# touch testdir/{a,b} [root@centos7 data]# setfacl -m u:masuri:--- testdir [root@centos7 data]# su masuri [masuri@centos7 data]$ cd testdir bash: cd: testdir: Permission denied [masuri@centos7 data]$ ll total 0 drwxr-xr-x+ 2 root root 24 Mar 15 03:19 testdir [masuri@centos7 data]$ getfacl testdir # file: testdir # owner: root # group: root user::rwx user:masuri:--- group::r-x mask::r-x other::r-x

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/12117.html