一.文件权限类型介绍
文件权限是限制用户对文件操作的规则,可以对文件的不同所有进行不同的权限管理。按照用户类型可分为三种:u(user :文件所有者),g(group :文件所有者所在用户组)。o (other :其他人)。文件或目录的权限分为读取权限,写权限,执行权限三种,分别用r w x 表示。
1. 文件权限的字符型表示
r 查看 w 编辑 x 执行
r-- 只读 rw- 读写 r-x 读和执行 rwx 读写执行 ---无权限 -wx 写和执行 -w- 写
2. 8进制数字表示
r:4 w:2 x:1
rw:6 wx:3 rwx:7 rx:5 rw:6
rw- -r- r-- 664 111100100 :755
eg:
此文件file 的权限为664,用户可以对文件查看编写,不能执行,用户组可以查看和编辑,不能执行,其他人只能查看
二,文件权限的查看
ls -l file
ll file 查看文件详细属性,可查看到文件权限信息
ls -ld dir
ll -d dir 查看目录详细属性,可查看到目录权限信息
监控命令:watch -n 1 ls -lR file
三. 文件权限管理
chown 命令 更改文件或目录所有人或组群所有人
-R 同时更改目录下的所有u子目录与文件权限
chown 用户名 更改所有人
:组群所有者 更改组群所有人
用户名.用户组 同时更改所有人和组群所有人
chgrp 命令 更改文件或目录所属组
chgrp 组名称 文件或目录 更改所属组
chmod 命令 更改文件或目录的权限
命令语法 chmod 【选项】【文件】
【选项【模式】【文件】
u\g\o\a 用户\组\其他人\所有人
+ 添加某个权限
- 取消某个权限
= 赋予新权限并删除原有权限
取消用户所有人读取权限
是用户所有者拥有所有权限,其他人和组没有任何权限
umask 系统建立文件默认保留权力,此文件在/etc/profile 下,可通过修改文件,永久更改系统默认保留的权力
vim /etc/profile 系统配置文件 60行普通用户umask 62行超级用户umask
vim /etc/bashrc shell配置文件
更改在默认情况下重起生效,用source /etc/profile 与source /etc/bashrc 可以让更改立即生效,两个文件的umask要相同
特殊权限
sticky 粘制位: 对目录来说,如果它有sticky 权限时只能被文件所有者删除
设定方式 chmod o+t dir
chmod 1xxx dir
sgid 强制位:对于二进制可执行文件,程序运行的进程所有组只能是文件所有组
设定方式 chmod g+s file| dir
chmod 2xxx file| dir
suid 冒险位 :对于二进制可执行文件,任何人运行程序的记录都视为文件所有人。
设定方式 chmod u+s file
chmos 2xxx file
acl :指特定用户对特定文件拥有特殊权力
查看acl权限
用监控命令可以看见 +表示acl开启
getfacl file 查看acl开启的文件详细的权限
设定方式
setfacl -m u:user:rwx file 用户对file拥有rwx权限
setfacl -m g:group:rwx file 组对file拥有rwx权限
setfacl -x g:group file 删除组信息
setfacl -x u:user file 从acl列表中删除用户
setfacl -b file 关闭acl列表,同时+消失
mask 最大有效访问权限
chmod u-w file 更改后mask权限也会改变
setfacl -m m:rwx 恢复mask值
acl 默认权限: 对于目录来说,修改默认权限只会对更改后的新文件生效。
setfacl -m d:u:用户名:权限 目录 更改默认权限
set -k 目录 恢复默认权限