您的位置:首页 > 其它

文件权限的管理以及acl权限列表

2018-04-10 22:58 204 查看

一、文件属性的查看

ls -l  文件名称



上面的命令以长格式显示文件与目录,每一行都是一个文件或目录的属性数据,每个文件或子目录的属性数据又以7个字段显示,各个字段的说明如下:
(1)文件类型与权限:该字段共有10个字符,第一个字符表示文件的类型,剩下的9个字符表示文件的权限状态。
文件类型:

-        #普通文件
d        #目录
s        #socket套接子
l        #软链接
p        #管道
c        #字符设备
b        #块设备

权限状态:
rw-|rw-|r--
 @   $   *
 @        #文件拥有者对文件能做的动作

 $        #文件所在组的组成员能对文件做的动作

*        #其他人对与文件能做的动作
(2)连接数:表示该文件所建立的连接的数量
(3)文件拥有者:表示拥有该文件的用户账号

(4)文件所属组:表示拥有该文件的组账号
(5)文件的容量:默认以byte为单位进行计算,表示文件的大小
(6)创建时间:创建这个文件的日期
(7)文件名:文件的名称

二、文件所有人、所有组的管理

监控命令  watch -n 1 ls -lR hello
初始状态如下:



chown username file|dir ##更改文件的所有人




chgrp groupname file|dir ##更改文件的所有组




chown username.groupname file|dir ##更改所有人所有组




chown -R username dir ##更改目录本身及里面所有内容的所有人




chgrp -R groupname dir ##更改目录本身及里面所有内容的所有组



实验之后整体的效果如下:




三、文件的普通权限

rw- | r-- | r--

用户权限(u)     组成员权限(g)      其他用户权限(o)

u优先匹配,g次优先,o当u,g不匹配时匹配
权限针对目录或文件有不同的种类
r权限针对文件,表示可以查看文件内容
r权限针对目录,表示可以ls 查看目录中存在的文件名称
w权限针对文件,表示可以更改文件的内容
w权限针对目录,表示是否可以删除目录中的子文件或者子目录
x权限对于文件,表示是否可以开启文件当中记录的程序
x权限对于目录,表示是否可以进入目录中
字符方式修改文件的权限:chmod [-R] <u|g|o><+|-|=><r|w|x> file|dir
举例如下:




对象和权限的组合方式多样,不再赘述
数字方式修改文件的权限:
各个权限对应的数值: r=4    w=2    x=1     -=0

u=rwx=7    |g=rwx=7|   o=rwx=7
举个例子:u=rw-=6  g=r--=4  o=r--=4   644
数值算法:7=rwx,6=rw-,5=r-x,4=r--,3=-wx,2=-w-,1=--x,0=---




四、特殊权限

suid        ###冒险位
u+s        ###针对文件,文件记录动作在执行时是一文件所有人身份执行的,与是谁发起的无关
chmod u+s file
chmod 4777 file




sgid        ###粘制位
g+s        ##针对目录,在目录中创建的文件都自动归属到目录所在组,针对二进制文件,文件内记录的程序在执行时和执行者的组身份没有关系,而是以二进制文件的所有组的身份执行的
chmod g+s file|directory
chmod 2777 file|directory



stickyid    ###强制位
o+t    ###只针对目录,当一个目录上有t权限时,这个目录中的文件只能被文件拥有者删除
t=1
chmod o+t directroy
chmod 1777 directory



五、文件的默认权限

从系统存在角度来说,开放权力越大,系统存在意义越高
从系统安全角度来说,开放权力越少,系统安全性越高
所以系统设定新建文件或目录会去掉一些权限
设定方式
umask ##查看系统保留权限,默认为022
umask 077 ##修改该系统保留权限为077,此设定为临时设定,只在当前shell中生效




永久设定方式
vim /etc/bashrc ##shell配置文件



修改之前的配置:





修改之后的配置:




vim /etc/profile ##系统配置文件



[b]修改之前的配置:[/b]
[b][b]

[/b]
[/b]
[b]修改之后的配置:[/b]
[b]


[/b]
两个修改的umask值必须一致!
然后再进行下面两行命令:

source /etc/profile
source /etc/bashrc

重新读取,让设定立即生效

六、acl 权限列表

acl    ## 指定特定的用户对特定的文件拥有特殊权力

-rw-rwx---+ 1 root root 0 Mar 28 02:39 file
+表示权限列表开启

设定acl列表
setfacl -m u:username:rwx file        #设定用户对file文件可以读写执行
setfacl -m g:group:rwx  file    #设定组对文件可以读写执行
setfacl -x u:username  file        #在权限列表中删除用户的信息
setfacl -x g:group   file    #在权限列表中删除student组的信息
setfacl -b   file            #关闭权限列表那么,"+"消失



这个文件的普通权限也在权限列表中识别,ls -l 看到的权限是不准确的
这时就要用到命令 getfacl 来查看权限列表的相关内容
getfacl   file
#内容如下:
file:file        #文件名称
# owner: root        #文件的拥有者
# group: root        #文件的组
user::rw-        #文件拥有者的权限
user:westos:rw-        #特殊指定用户的权限
group::---        #文件组的权限
group:student:rwx    #特殊指定组的权限
mask::rwx        #权限最大值
other::---        #其他人的权限




mask值
mask值是能够赋予用户权限的最大值
当设定acl列表后,如果用chmod命令缩小文件的权限,那么mask值会被更改

修改之前:



修改之后:



setfacl -m m:rwx file        #用此命令可以恢复mask的值



acl列表的默认权限

当我们需求某个目录对于某个用户可写,并且目录中新建的子目录对也可写就要设定默认默认权限
setfacl -m d:u:username:rwx  dir




新建文件对xupter用户有rwx权限
对已经存在的文件无效
对目录本身无效
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: