目录
- 前提
- 权限概念
- whoami指令
- Linux权限管理
- 文件访问者的分类(人)
- file指令
- 权限信息
- 权限的表示方法
- chmod指令 更改权限
- chown指令 修改文件,文件夹所属用户和用户组
- 权限掩码
- umask(权限掩码)
- 粘滞位
前提
请先看下面这篇文章。
用户与用户组
权限概念
Linux下有两种用户:超级用户(root)、普通用户。
- 超级用户:可以再linux系统下做任何事情,不受限制
- 普通用户:在linux下做有限的事情。
- 超级用户的命令提示符是“#”,普通用户的命令提示符是“$”
whoami指令
whoami
功能:
显示当前登录用户的用户名
Linux权限管理
文件访问者的分类(人)
对于用户来讲,我们可以将其分为三类:
- 文件和文件目录的所有者:u—User(拥有者)
- 文件和文件目录的所有者所在的组的用户:g—Group(所属组)
- 其它用户:o—Others
在Linux中,我们通常查看当前目录下文件的详细信息,使用ll指令,会看到文件前面有很多字符,他们都是什么意思呢?
file指令
功能:辨识文件类型。
权限信息
- r表示读权限
- 针对文件,可以查看文件内容
- 针对文件夹,可以查看文件夹内容,如ls命令
- w表示写权限
- 针对文件,表示可以修改此文件
- 针对文件夹,可以在文件夹内:创建,删除,改名等操作
- x表示执行权限
- 针对文件,表示可以将文件作为程序执行
- 针对文件夹,表示可以更改工作目录到此文件夹,如cd进入命令
权限的表示方法
1. 字符表示法:
字符 | 说明 | 字符 | 说明 |
---|---|---|---|
r - - | 仅可读 | - w - | 仅可写 |
- - x | 仅可执行 | r w - | 可读可写 |
- w x | 可写可执行 | r - x | 可读可执行 |
r w x | 可读可写可执行 | - - - | 无权限 |
2. 八进制数值表示法:
权限符号 | 八进制 | 二进制 | 说明 |
---|---|---|---|
r - - | 4 | 100 | 仅可读 |
r - - | 4 | 100 | 仅可读 |
- w - | 2 | 010 | 仅可写 |
- - x | 1 | 001 | 仅可执行 |
r w - | 6 | 110 | 可读可写 |
r - x | 5 | 101 | 可读可执行 |
- w x | 3 | 011 | 可写可执行 |
r w x | 7 | 111 | 可读可写可执行 |
- - - | 0 | 000 | 无权限 |
如此,751可表示为
rwxr-xr--
chmod指令 更改权限
chmod [-R] 权限 文件或者文件夹
功能:修改文件,文件夹的权限信息。
选项:
- -R 对文件夹内的全部内容应用同样的操作
示例:
其中,u表示所属用户权限,g表示group组权限,o表示other其他用户权限
chmod u=rwx,g=rx,o=x hello.txt 将文件权限修改为 `rwxr-x--x`
chmod -R u=rwx,g=rx,o=x dir 将文件夹以及文件夹内全部内容权限修改
chmod 751 hello.txt 将文件修改权限为`rwxr-xr--`
chown指令 修改文件,文件夹所属用户和用户组
chown [-R] [用户] [:] [用户组] 文件或文件夹
选项:
- -R 对文件夹内全部内容应用相同规则
- 用户,修改所属用户
- 用户组,修改所属用户组
- : 用于分隔用户和用户组
功能:
修改文件,文件夹所属用户和用户组
示例:
chown -R :root test 将test目录和里面全部内容的用户组更改为root
权限掩码
Linux规定:普通文件和目录被创建出来,默认的权限是0666和0777。
umask(权限掩码)
权限掩码的功能:凡是在umask中出现的权限,都必须在起始权限中去掉。
超级用户默认掩码值为0022,普通用户默认为0002。
实例:
# umask //查看
# umask 044//设置
粘滞位
因为只要用户具有目录的写权限, 用户就可以删除目录中的文件。
我张三创建的一个文件, 凭什么被你李四可以删掉?不合理。
为了解决这个不科学的问题, Linux引入了粘滞位的概念。
chmod +t
当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由
- 一、超级管理员删除
- 二、该目录的所有者删除
- 三、该文件的所有者删除