权限分类:r w x X s S
权限生效顺序:u(所有者)->g(所属组)->o(other) 先看所有者,再组,后看other ACL权限优先级比传统权限高
chown-》change own修改所有者
chmod-》change mod修改文件权限
chgrp-》change group修改所属组
chmod -R 目录下所有目录和文件,递归
chgrp -R 修改文件的数组,递归
chown wang:g1 file file更改为wang用户和g1组
方法1:mode 法
chmod who opt per file
用户:u g o a(全部)
选项:+ - =
权限:r w x X(只加目录执行权限,如果已有执行权限的文件也会加执行权限)
例子:chmod u+x file
方法2:数字法
u g o
rwx rw- r--
111 110 100
7 6 4
chmod 764 file
读 r:4
写 w:2
执行 x:1
/etc/.bashrc
umask # (新建文件或文件夹的初始权限,系统默认root:022 普通用户002)
功能:取消对应的权限
对于文件夹
default权限=777-umask
对于文件
default权限=666-umask:如果结果有奇数+1,偶数不变
umask -S 模式方式显示
-p 输出可被调用
特殊权限
s 含x的特殊权限
S 不包含x的特殊权限
suid:继承程序所有者的权限 (只能用于二进制的可执行程序) s:4
sgid:1、继承程序所有组的权限 s:2
2、作用于目录后,此目录新建的文件继承目录的所有组
sticky:作用于目录后,此目录的文件只能被所有者删除 t:1
chattr +i 不能删除、改名、更改
chattr +a 只能追加内容
lsattr 显示特定属性
acl访问控制列表 (ACL权限优先级比传统权限高)
getfacl 查看文件的acl列表
setfacl -M 从文件读取访问控制列表条目更改
-m 更改文件的访问控制列表
-x 根据文件中访问控制列表移除条目
-X 从文件读取访问控制列表条目并删除
-b 删除所有扩展访问控制列表条目
-R 递归操作子目录
-k 删除默认访问控制列表
getfacl file1 |setfacl -M file1 file2 复制file1的acl权限给file2
练习:
1.新建文件夹,更改组成员和权限
mkdir -p /testdir/dir
chgrp webs /testdir
chmod -c g+s
usermod -aG apps tomcat
groupadd dbs
usermod -aG dbs mysql
chmod -c o= dir
cat > acl
g:apps:rw
g:dbs:r
setfacl -M acl dir
2.
getfacl dir > acl2 备份ACL
setfacl -b dir 删除ACL
setfacl -M acl2 dir 恢复ACL