文章目录
概念
权限:是操作系统用来限制对资源访问的机制,通过这样的机制来限制哪些用户或用户组可以对特定文件进行相应的操作。同时每个文件都添加了很多的属性,很大程度上维护了数据的安全,这是系统底层安全设定方法之一,保证每个文件被可以使用的用户使用。
文件属性:
号码 内容 意思 1 文件类型 ‘-’:代表普通文件或者空文件
’d’:代表是目录
’l’:代表链接文件;分为软连接和硬链接
’s’:scoket套接字文件
’b’:block块设备文件
’c’:字符设备2 权限属性 [rwx] [rwx] [rwx] [.]:可分为四块
第一块:所有者权限
第二块:组用户权限
第三块:其他人权限
第四块:ACL权限列表:’.‘未开启;’+‘已开启
’r’:读权限
’w’:写权限
’x’:执行权限
’-’:无权限3 文件出现次数 1.文件:代表硬链接数量
2.目录:代表目录内第一级子目录总数量4 用户及用户组 文件所属用户名;文件所属用户组名 5 文件大小 默认单位是字节 6 最后修改时间 有关atime的触发 7 文件名 以’.'开头的都是隐藏文件
权限
更改文件【用户用户组】属性
chgrp:更改文件属组
chgrp [选项] 属组名 文件名
-R #递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改
-h #只对连接的文件作修改,而不是该其相关原文件;
chown:更改文件属主,也可以同时更改文件属组
chown [选项] 属主名 文件名
chown [选项] 属主名:属组名 文件名
-R #递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改
-h #只对连接的文件作修改,而不是该其相关原文件;
#注意区分 属主 与 属组
更改文件【权限】属性
权限解读
权限 | 文件类型 | 作用 |
---|---|---|
r | 文件 | 是否可以查看文件内容 |
目录 | 是否可以查看目录中包含的所有内容 | |
w | 文件 | 是否可以改变文件内容 |
目录 | 是否可以对目录中子目录或子文件的元数据进行更改 | |
x | 文件 | 是否可以通过文件名称调用文件内记录的程序 |
目录 | 是否可以进入目录,注意目录必须拥有 x 权限,否则无法查看其内容 |
chmod:用来变更文件或目录的权限
chmod权限使用对照概念:
rwx rwx rwx 9个权限符号,分为3组
[u] [g] [o] 分别对应uers(所属主),group(所属组),other(其他人)权限
chmod [选项] [u|g|o][+|-|=][r|w|x] 文件或目录
-R #递归处理,将指令目录下的所有文件及子目录一并处
示例:
1.改变文件file的所属主权限为rwx,原权限为rw
chmod u+x file
2.改变目录dir的所属组权限为rwx,原权限为—
chmod g-rx file
上面讲到的rwx为符号权限,为方便权限更快速便捷更改,将字符权限拓展了数字权限; 对照如下:r=4,w=2,x=1;rwx=4+2+1=7;rw=6;rx=5;wx=3 所有chmod命令可以使用数字执行例如:
chmod 644 file1 #file为文件,权限更改为rw-r--r-- chmod 755 dir1 #dir1为目录文件;目录文件权限更改为rwxr-xr-x
UMask
在linux系统中,我们创建一个新的文件或者目录的时候,这些新的文件或目录都会有默认的访问权限,umask命令与文件和目录的默认访问权限有关。若用户创建一个文件,则文件的默认访问权限为[ -rw-rw-rw-] ,创建目录的默认权[drwxrwxrwx] ,而umask值则表明了需要从默认权限中去掉哪些权限来成为最终的默认权限值。
最终权限=满权限-umask
文件权限=666-022=644,系统设定文件默认满权限为666
目录权限=777-022=777,系统设定目录默认满权限为777
umsk值更改
临时更改
umask 命令
umask 077
#将umask值改为077
永久更改
vim /etc/profile #修改系统配置文件
vim /etc/bashrc #修改shell配置文件
source /etc/profile #source命令,重新执行配置文件,生效
source /etc/bashrc #source命令,重新执行配置文件,生效
特殊权限
sticky
sticky 粘滞位
作用:
只针对目录生效,当一个目录有sticky’权限时,在这个目录中的文件只能被所有者删除
设置方式:chmod o+t 目录 chmod 1xxx 目录
sgid
sgid 强制位
作用:
文件:只针对二进制执行文件,当文件有sgid权限时任何执行此文件,文件产生的进程都属于文件的组
目录:当一个目录有sgid权限时,任何人在此目录中建立的文件都属目录的所有组
设置方式:chmod g+s 文件|目录 chmod 2xxx 文件|目录
suid
suid 冒险位
作用:
只针对二进制执行文件,当文件有suid权限时任何执行此文件,文件产生的进程都属于文件的所属主
设置方式:chmod u+s 文件 chmod 4xxx 文件
ACL权限列表
ACL权限列表:
让特定的用户对特定的文件拥有特定的权限
查看
getfacl file #查看文件file的acl权限列表
# file: file #文件名称
# owner: root #文件所属主
# group: root #文件所属组
user::rw- #文件所属主的权限
user:tom:rwx #指定用户(tom)的权限(为rwx)
group::r-- #文件所属组的权利
mask::rwx #能赋予用户的最大权力的阈值
other::r-- #其他人的权力
管理
setfacl -m u:username:rwx file #设定用户(username)对file文件拥有权限(为rwx)
setfacl -m g:group:rwx file #设定用户组(group)对file文件拥有权限(为rwx)
setfacl -x u:username file #从acl列表中删除用户(username)
setfacl -b file #关闭file文件的acl列表,所有acl信息删除
setfacl -R ........... #递归生效
mask阈值
在权限列表中mask标示着能生效的权力值
当用chmod减小开启acl的文件权限时mask值会发生改变
chmod g-w file #改变file文件mask值,消除w权限
setfacl -m m:rw file #设置file文件mask值为rw
acl权限默认设定
只针对目录设定
acl默认权限设定完成之后,只针对新建了的目录生效,已存在的文件是不会继承默认权限的
setfacl -m d:u:username:rwx /home/user/dir #为路径为/home/user下的dir目录文件的acl权限添加用户(username)权限(为rwx)
setfacl -k /home/user/dir #关闭目录acl权限默认设定
反向改变权限
文章上面讲过的权限,通常都是功能开启后,权限放大
下面介绍的确实反向,功能开启后权限缩小
chattr [选项] {+|-|=} [属性] 文件|目录
[选项]
-R #递归处理,将指令目录下的所有文件及子目录一并处理
[属性]
a #让文件或目录仅供附加用途
b #不更新文件或目录的最后存取时间
c #将文件或目录压缩后存放
d #将文件或目录排除在倾倒操作之外
i #不得任意更动文件或目录
s #保密性删除文件或目录
S #即时更新文件或目录
u #预防意外删除
lsattr -d file #查看文件file的第二扩展文件系统属性