Linux -- 权限管理命令
权限管理命令
- 一个文件把 Linux 的用户分成了三类
- 所有者 u
- 所属组 g
- 其他人 o
- 权限分成三种
- 读 r
- 写 w
- 执行 x
命令执行权限
/bin/
/bin
目录下的命令是所有用户都可以执行的
/user/bin/
/usr/bin/
目录下的命令只有管理员才能够执行
更改文件 / 目录权限 chmod
change the permissions mode of a file
-
位置:
/bin/chmod
-
执行权限:所有用户
-
格式 (两种方式)
chmod [-R] [{ugoa}{+-=}{rwx}] [文件或目录]
- 通过组的代号 (ugo) 及加减符号修改对文件的权限
-
- 表示增加指定权限
-
- 表示移除指定权限
- = 表示重新设置指定权限
-
a
代表所有
- 通过组的代号 (ugo) 及加减符号修改对文件的权限
chmod [-R] [mode=421] [文件目录]
- mode 的值
- 7 代表增、写、执行
- 6 代表增、写
- 5 代表增、执行
- 4 代表读
- 3 代表写、执行
- 2 代表写
- 1 代表执行
-R
: 递归修改,当我们递归的创建多级目录的时候,子目录与父目录的权限信息时完全相同的,如果我们现在修改其中一个目录的权限,在不适用-R
选项的情况下,该目录对应子目录的权限信息是不会同步被修改的,因此我们可以使用-R
来实现多级目录下权限的同步修改。
- mode 的值
- 注意
- 使用第一种方式批量处理同一个文件 / 目录的权限时,使用逗号将多个表达式并列
chmod u+x, o=rwx README.txt
- 使用第一种方式批量处理同一个文件 / 目录的权限时,使用逗号将多个表达式并列
- 谁可以更改文件 / 文件夹权限?
- 管理员 root
- 文件 / 文件夹所有者
r w x 三种权限剖析
r 权限
- 对于文件的含义
- 可以查看文件内容
- 对于目录的函数
- 可以列出目录中的内容
w 权限
- 对于文件的含义
- 可以修改文件内容
- 对于目录的含义
- 可以在目录中创建、删除文件
- 删除文件的前提是用户对文件所在的目录有 “w” 权限
x 权限
- 对于文件的含义
- 可以执行该文件
- 对于目录的含义
- 可以进入该目录
注意
- 对于一个目录来说,其 r 权限和 x 权限基本上是同时出现的
- 权限是由继承关系的,如果一个用户对一个目录下的文件拥有全部操作权限,但是对该目录没有任何操作权限,那么该用户是不能操作这些文件的
其他权限管理命令
更改文件或目录的所有者 chown
谁可以更改一个文件的所有者?
- Linux 中只有
root
用户可以更改文件的所有者,即使是文件的所有者也无法修改文件的所有者
chown 命令
change file ownership
- 所在路径:
/bin/chown
- 执行权限: 所有用户
- 格式
chown [目标用户] [文件/目录]
更改文件或目录的所属组 chgrp
change file group ownership
- 所在路径:
/bin/chgrp
- 执行权限: 所有用户
- 格式
chgrp [用户组] [文件/目录]
显示、设置文件的缺省权限 umask
相关
- 当我们创建一个文件或者目录的时候,这个被创建的对象是有默认的权限的一般的,
- 创建一个新的文件,默认权限为
rw-r--r--
- 创建一个新的文件夹,默认权限是
rwxr-xr-x
- 创建一个新的文件,默认权限为
- 一个文件的所有者正常来讲就是创建这个文件的用户
- 一个用户可以有多个组,但是该用户肯定要有一个缺省组(即默认组)
- 一个用户的缺省组只能有一个
- 一个文件的所属组就是这个文件的所有者所在的缺省组
umask(显示、设置文件的缺省权限)
the user file-creation mask
-
问卷路径:shell 内置命令
-
执行权限:所有用户
-
格式
umask [-S]
-S
,大写 S,表示以 rwx 格式显示新建文件的缺省权限- 在不添加
-S
的时候,得到的是一个权限的掩码,我们将每一个数字用 7 相减,得到的就是真正的权限数据 - 当我们需要设置缺省权限的时候,需要使用上面提到的掩码来设置。
- 比如我们现在要设置缺省权限为
rwxr-xr--
即754
,那么对应的掩码就是023
,因此我们设置缺省权限时,使用命令umask 023
即可
- 比如我们现在要设置缺省权限为
- 举例
[root@host ~]# umask -S u=rwx,g=rx,o=rx
[root@host ~]#
[root@host ~]# umask 0022 [root@host ~]#
```* **注意**
* 在 Linux 中,使用 touch 创建的文件缺省是不能有执行权限的,因此文件的缺省权限是`u=rw,g=r,o=r`。这样是为了安全性的考虑,因为木马病毒等文件都是可执行权限
## [](http://support.i-search.com.cn/forward?goto=%23%E9%9C%80%E8%A6%81%E6%B3%A8%E6%84%8F%E7%9A%84%E5%9C%B0%E6%96%B9)需要注意的地方
1. 只有文件的所有者和超级用户可以修改文件的权限
2. 只有 root 超级用户才可以修改文件的所有者
3. Linux 默认缺省权限是`755`
1. `umask -S` 得到的是`rwxr-xr-x`
2. `umask` 得到的是`022`
study~