文章目录
一、基本概念
访问人群:
- 属主:文件的主人,即文件的拥有者。
- 属组:文件的拥有组
- 其他人:除了上面两种人
权限种类:
1.r(读):
文件:可以看里面的内容
文件夹:可以用ls 看文件夹中的文件列表
2.w(写):
文件:可以修改文件的内容(还得有读的权限)
文件夹(不需要读):新建文件(文件夹),删除文件(文件夹),移动文件(文件夹)
3.x(执行):
文件:可以运行(命令脚本)颜色是绿色
文件夹:执行是最小权限,没有执行,读写无法使用
注意:对于文件而言,如果大家没有执行权限,则超级管理员也没有执行权限,只要有一个人有权限,那么超级管理员也有。
问题:删除一个文件和文件本身权限有关系吗?
答:和文件本身没有关系,和文件所在的文件夹有关。
数字法来表示文件的权限:
数字 | 含义 |
---|---|
4 | 读 |
2 | 写 |
1 | 执行 |
rwx | 含义 |
---|---|
100 (4) | 读 |
010(2) | 写 |
001(1) | 执行 |
111(7) | 读写执行 |
2进制转换成10进制
7 7 7
属主 属组 其他
二、修改文件属性命令
chmod
1.模式法
chmod [选项] 对象 操作 权限 文件名
-R 表示递归修改(注意:此命令危险,谨慎使用)
对象:属主(u)、属组(g)、其他人(o)、所有人(a)
操作:+加上、-减去、=赋予
权限:r w x
2.数字法
将你想要设置的权限转换成数字即可,比如你想设定为属主属组其他人都有读写执行的权限,即可写成chmod 777 文件名
chown
改变文件的属主和属组
chown -R递归改变
chown 用户:组名 文件名
命令 | 含义 |
---|---|
chown 属主 文件名 | 只改变文件的属主 |
chown :属组 文件名 | 只改变文件的属组 |
chown .属组 文件名 | 只改变文件的属组 |
chown 属主:属组 文件名 | 改变文件的属主属组 |
三、其他
1.umask
权限掩码
在Linux中规定了新建文件夹和新建文件的权限,默认umask 为0022,是你没有的权限,拿最高权限777减去umask 就是你的最终权限。
文件夹的最高权限为777
777-022=755 所以文件夹落地的权限为755
文件的最高权限为666 (因为执行权限对于文件而言非常危险)
注意:文件权限,用666-umask 结果有奇数自动加1 偶数不变
例子:666-123=543 +101=644
实现方式:
1.直接使用umask可以看到当前的umask设置
2.umask后面跟上数值可以设置umask的值
2.三种特殊权限
suid:如果拥有该权限,把当前用户当成文件的属主
guid:如果拥有该权限,把当前用户当成文件的属组 一般对命令使用
sticky位:拥有该权限的文件夹,该文件内的文件只有超级管理员和属主可以删除,其他人不可以删除
3.访问控制列表 ACL
ACL:Access Control List,实现灵活的权限管理
除了文件的所有者,所属组和其它人,可以对更多的用户设置权限,单独控制某个用户的权限。