权限管理

泪湿孤枕 提交于 2019-11-26 17:13:42

Linux文件系统权限:

权限对象:

​ 文件拥有者

​ 群组

​ 其他人

权限类型:

d rwxr-xr-x. 5 root root 4096 Jul 27 17:26 test

**r:4;w:2;x:1;**r–r--r–:444;rw-rwx-r:674;

rwx权限说明:

1.对于文件而言

r:可以获取文件的数据

w:可以修改文件数据

x:可以将此文件运行为进程

2.对于目录而言

​ r:可以使用ls命令获取文件列表

​ w:可以修改文件列表,即创建和删除

​ x:表示我们可以cd此目录,并且可以使用ls -l获取文件的详细属性

权限判断逻辑:

  1. 文件:前提条件,用户能够进入到文件所在目录

(1)删除文件:看用户是否具备对目录的w权限

判断用户身份,owner-group-other

rwxr(左三位)-xr(中三位)-x(右三位)

(2) 创建文件和删除文件逻辑相同

2.目录:前提条件:判断用户是否能够成功进入目录所在目录**(**x权限)

(1)删除目录:看用户是否具备对目录的x权限

判断用户身份,owner-group-other

rwxr(左三位)-xr(中三位)-x(右三位)

(2) 创建和删除逻辑相同

权限管理命令:

chmod

​ chmod [OPTION]… MODE[,MODE]… FILE…

​ chmod [OPTION]… OCTAL-MODE FILE…

​ chmod [OPTION]… --reference=RFILE FILE…

三类用户:

u;g;o;a(所有)

​ MODE表示法:

chmod 777 filename

​ 赋权表示法(覆盖),rwx

​ u= u=r

​ g=

​ o=

​ a=

chmod u= ,g= ,o=

​ 授权表示法

​ u+,u-

​ g+,g-

​ o+,o

​ a+,a-

​ 注意,只有用户自己修改自己的文件

从属关系chown

​ chown(可修改属组和属主 chown :用户 /目录/),chgrp

chown username:groupname dirname

chown username:dirname

chown :groupname dirname

chgrp groupname dirname

-r

-R:递归修改

注意:只有管理员可以修改

进程安全上下文:

​ 进程对文件访问权限模型:

​ 进程的属主与文件的属主是否相同,如果相同,则应用的是属主权限。

​ 否则,则检查进程的属主是否属于文件的属组,如果是,则应用属组的权限

​ 否则,使用other权限

基本权限ACL:

​ 1、可以针对单个用户设置

​ 2、针对用户组设置

​ 3、子文件/目录继承父目录的权限 (只能编辑,不能创建)

​ 查看系统是否支持ACL:

[root@node5 ~]# tune2fs -l /dev/sda2 |grep "Default mount options:"

设置ACL

setfacl [-bkndRLPvh] [{-m|-x} acl_spec] [{-M|-X} acl_file] file…

​ -m:配置acl权限,不能和-x同时使用

​ -x:删除ACL配置

​ -b:移除所有的acl配置

​ -R:递归配置acl

​ -d:配置默认的acl参数,只对目录有效

[root@node5 tmp]# setfacl -m g:tech:rw aclfile

[root@node5 tmp]# getfacl /tmp/aclfile(查看)

权限掩码

​ umask

​ 文件权限:

​ 666-022

​ 644

​ 目录:

​ 777-022

​ 755

特殊权限:

SUID:

当在文件所有者的x权限上出现s时,表示当前这个文件具有SUID权限 s

​ 1、SUID仅仅对二进制程序有效

​ 2、执行者对于该程序有x权限

​ 3、本权限仅仅在执行程序的过程中有效

​ 4、程序的执行者拥有该程序的拥有者的权限

​ 如果当前文件属主位没有x权限,显示S;

SGID:

s(用来继承父目录的属组)

​ 1、SGID作用于二进制可执行文件

​ 2、执行者对该程序具有可执行权限 (x权限)

​ 3、主要用于目录之上:

SBIT:

t /tmp具有此权限)

​ 1、主要针对于other位

​ 2、作用于目录

​ 3、在该目录下创新建的文件或目录,只有自己和root可以删除

​ 4、对文件无效

SUID,SGID,SBIT

字符表示法 s s t u+s

数字表示法 4 2 1

chmod 0755

​ 1755

[root@node5 tmp]# cp /usr/bin/passwd .
[root@node5 tmp]# ls
aclfile  mydir  mylinux  passwd  yum.log
[root@node5 tmp]# mkdir testdir
[root@node5 tmp]# ll
total 56
drwxr-xr-x+ 2 root root  4096 Jul 28 22:05 mydir
drwxr-xr-x. 6 root root  4096 Jul 28 17:25 mylinux
-rwxr-xr-x. 1 root root 30768 Jul 28 23:10 passwd
drwxr-xr-x. 2 root root  4096 Jul 28 23:10 testdir
[root@node5 tmp]# chmod u+s passwd
[root@node5 tmp]# ll
total 56
drwxr-xr-x+ 2 root root  4096 Jul 28 22:05 mydir
drwxr-xr-x. 6 root root  4096 Jul 28 17:25 mylinux
-rwsr-xr-x. 1 root root 30768 Jul 28 23:10 passwd
drwxr-xr-x. 2 root root  4096 Jul 28 23:10 testdir、
[root@node5 tmp]# chmod 0755 passwd
[root@node5 tmp]# ll
total 56
drwxr-xr-x+ 2 root root  4096 Jul 28 22:05 mydir
drwxr-xr-x. 6 root root  4096 Jul 28 17:25 mylinux
-rwxr-xr-x. 1 root root 30768 Jul 28 23:10 passwd
drwxr-xr-x. 2 root root  4096 Jul 28 23:10 testdir
[root@node5 tmp]# chmod 4755 passwd
[root@node5 tmp]# ll
total 56
drwxr-xr-x+ 2 root root  4096 Jul 28 22:05 mydir
drwxr-xr-x. 6 root root  4096 Jul 28 17:25 mylinux
-rwsr-xr-x. 1 root root 30768 Jul 28 23:10 passwd
drwxr-xr-x. 2 root root  4096 Jul 28 23:10 testdir
[root@node5 tmp]# chmod 757 testdir/
[root@node5 tmp]# ll
total 56
drwxr-xr-x+ 2 root root  4096 Jul 28 22:05 mydir
drwxr-xr-x. 6 root root  4096 Jul 28 17:25 mylinux
-rwsr-xr-x. 1 root root 30768 Jul 28 23:10 passwd
drwxr-xrwx. 2 root root  4096 Jul 28 23:10 testdir
[root@node5 tmp]# chmod g+s passwd
[root@node5 tmp]# ll
total 56
drwxr-xr-x+ 2 root root  4096 Jul 28 22:05 mydir
drwxr-xr-x. 6 root root  4096 Jul 28 17:25 mylinux
-rwsr-sr-x. 1 root root 30768 Jul 28 23:10 passwd
drwxr-xrwx. 2 root root  4096 Jul 28 23:10 testdir
[root@node5 tmp]# chmod 2755 passwd
[root@node5 tmp]# ll
total 56
drwxr-xr-x+ 2 root root  4096 Jul 28 22:05 mydir
drwxr-xr-x. 6 root root  4096 Jul 28 17:25 mylinux
-rwxr-sr-x. 1 root root 30768 Jul 28 23:10 passwd
drwxr-xrwx. 2 root root  4096 Jul 28 23:10 testdir
[root@node5 tmp]# chmod 2755 passwd
[root@node5 tmp]# chmod 757 testdir/
[root@node5 tmp]# ll
total 56
drwxr-xr-x+ 2 root root  4096 Jul 28 22:05 mydir
drwxr-xr-x. 6 root root  4096 Jul 28 17:25 mylinux
-rwxr-sr-x. 1 root root 30768 Jul 28 23:10 passwd
drwxr-xrwx. 2 root root  4096 Jul 28 23:10 testdir

chattr:显示隐藏属性

​ a:append 只能向文件添加属性,不能删除属性

​ i:当前文件不能被删除、改名、链接,同时不能被写入内容

​ A:atime访问时间不可修改

lsattr:列出文件隐藏属性

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!