Linux 文件权限管理命令
2016-07-22 15:28
661 查看
在讲文件权限管理命令之前,我们先讲一下文件的权限。一个用户对一个文件或目录可以有 r (读)、w (写)、x (执行) 三种权限。这三种权限表示可以对文件和目录进行的操作如下表:
下面介绍四个权限管理命令:chmod、chown、chgrp、umask
1. 权限管理命令 chmod
英文原意:change the permissions mode of a file
所在路径:/bin/chmod
功能:改变文件或目录的权限
具体有两种方法:
(1) chmod {ugoa}{+-=}{rwx} 文件或目录名
u:所有者, g:所属组, o:其他用户, a:所有用户
例如:赋予文件 aaa 所属组写权限
(2) chmod <八进制权限字串> 文件或目录
八进制权限字串由3位八进制数字(0~7)组成,3位数字依次对应于文件所有者、所属组、其他用户对该文件的操作权限。
首先,每种权限对应一个八进制数值: - — 0,x — 1,w — 2,r — 4
八进制权限字串中的每一位八进制数值就是对应个权限之和:
--- —— 0,--x —— 1,-w- —— 2,-wx —— 3,r-- —— 4,r-x —— 5,rw- —— 6,rwx —— 7
例如:对上面的例子用八进制字串来设置
rw-rw-r-- 对应的八进制权限字串为 664:
此外,chmod 有一个 -R 选项,表示递归遍历子目录并同时修改相应目录下所有文件和子目录。但此选项是很危险的,比如 chmod -R <权限字串> / 将会改变整个文件系统的权限,可能会导致系统再也无法启动。所以不是只有删除才是最危险的。
2. 权限管理命令 chown
英文原意:change file ownership
所在路径:/bin/chown
功能:改变文件或目录的所有者
语法: chown 用户(新的所有者) 文件或目录
例如:将文件 aaa 的所有者更改为 tmp 用户
3. 权限管理命令 chgrp
英文原意:change file group ownership
所在路径:/bin/chgrp
功能:改变文件或目录的所属组
语法: chown 用户组(新的所属组) 文件或目录
例如:将文件 aaa 的所属组更改为 tmp 组
4. 权限管理命令 umask
英文原意:the user file-creation mask
所在路径:Shell 内置命令
功能:显示、设置文件的默认权限
语法:umask -S 以rwx形式显示新建文件缺省权限
通过 umask -S 显示新建文件的缺省权限为 rwxr-xr-x。新建一个目录 /xiaobao,其权限确实为 rwxr-xr-x。但是新建一个文件mm,它的权限却是 rw-r--r--,所有权限上都少了一个 x,这是因为在 Linux 中权限管理有一个最基本的定义:缺省创建的文件是不能具有可执行权限的。这也是基于安全性考虑的,因为常见的病毒、木马、攻击程序都是可执行的。
也可以通过 umask 更改文件的缺省权限: umask <权限字串>(这里的权限字串是缺省权限与 rwx rwx rwx 逻辑与运算的结果)。一般不推荐更改。
对于这个 0022,第一个 0 是特殊权限,后面的 022 是权限子串。022
即 --- -w- -w-,它与 rwx rwx rwx 逻辑与运算如下:
如果想要更改默认权限为700(目录权限为 700,文件权限为 600),则通过逻辑与运算反推:
所以此时通过umask
077 命令就可以更改默认权限为 700。当然是不建议更改的。
下面介绍四个权限管理命令:chmod、chown、chgrp、umask
1. 权限管理命令 chmod
英文原意:change the permissions mode of a file
所在路径:/bin/chmod
功能:改变文件或目录的权限
具体有两种方法:
(1) chmod {ugoa}{+-=}{rwx} 文件或目录名
u:所有者, g:所属组, o:其他用户, a:所有用户
例如:赋予文件 aaa 所属组写权限
(2) chmod <八进制权限字串> 文件或目录
八进制权限字串由3位八进制数字(0~7)组成,3位数字依次对应于文件所有者、所属组、其他用户对该文件的操作权限。
首先,每种权限对应一个八进制数值: - — 0,x — 1,w — 2,r — 4
八进制权限字串中的每一位八进制数值就是对应个权限之和:
--- —— 0,--x —— 1,-w- —— 2,-wx —— 3,r-- —— 4,r-x —— 5,rw- —— 6,rwx —— 7
例如:对上面的例子用八进制字串来设置
rw-rw-r-- 对应的八进制权限字串为 664:
此外,chmod 有一个 -R 选项,表示递归遍历子目录并同时修改相应目录下所有文件和子目录。但此选项是很危险的,比如 chmod -R <权限字串> / 将会改变整个文件系统的权限,可能会导致系统再也无法启动。所以不是只有删除才是最危险的。
2. 权限管理命令 chown
英文原意:change file ownership
所在路径:/bin/chown
功能:改变文件或目录的所有者
语法: chown 用户(新的所有者) 文件或目录
例如:将文件 aaa 的所有者更改为 tmp 用户
3. 权限管理命令 chgrp
英文原意:change file group ownership
所在路径:/bin/chgrp
功能:改变文件或目录的所属组
语法: chown 用户组(新的所属组) 文件或目录
例如:将文件 aaa 的所属组更改为 tmp 组
4. 权限管理命令 umask
英文原意:the user file-creation mask
所在路径:Shell 内置命令
功能:显示、设置文件的默认权限
语法:umask -S 以rwx形式显示新建文件缺省权限
通过 umask -S 显示新建文件的缺省权限为 rwxr-xr-x。新建一个目录 /xiaobao,其权限确实为 rwxr-xr-x。但是新建一个文件mm,它的权限却是 rw-r--r--,所有权限上都少了一个 x,这是因为在 Linux 中权限管理有一个最基本的定义:缺省创建的文件是不能具有可执行权限的。这也是基于安全性考虑的,因为常见的病毒、木马、攻击程序都是可执行的。
也可以通过 umask 更改文件的缺省权限: umask <权限字串>(这里的权限字串是缺省权限与 rwx rwx rwx 逻辑与运算的结果)。一般不推荐更改。
对于这个 0022,第一个 0 是特殊权限,后面的 022 是权限子串。022
即 --- -w- -w-,它与 rwx rwx rwx 逻辑与运算如下:
如果想要更改默认权限为700(目录权限为 700,文件权限为 600),则通过逻辑与运算反推:
所以此时通过umask
077 命令就可以更改默认权限为 700。当然是不建议更改的。
相关文章推荐
- 改变文件属主和属组 2012-02-09
- PostgreSQL教程(十二):角色和权限管理介绍
- PHP chmod 函数与批量修改文件目录权限
- 一天一个shell命令 linux文本操作系列-chmod命令用法
- PHP对文件夹递归执行chmod命令的方法
- Mysql权限管理grant命令使笔记
- Android获取设备隐私 忽略6.0权限管理
- 如何使用AngularJs打造权限管理系统【简易型】
- 关于Yii 后台权限管理分享
- [Linux学习笔记] Linux常用命令 - 权限管理命令
- 第四章 INI配置
- 一天一个shell命令 linux文本操作系列-chmod命令用法
- 在Linux和Unix中使用chmod命令改变文件权限的用法
- MySQL之权限管理
- umask使用方法
- chmod命令详细用法
- Linux批量修改文件夹755 文件644权限
- Linux文件和目录权限:chmod、更改所有者和所属组:chown,umask命令,隐藏权限:lsattr/chattr
- 红帽6 RHCE&RHCS认证培训笔记(2)
- linux 操作系统中chgrp命令的使用