Linux常用命令学习(十七)权限管理命令chmod

分类栏目:服务器

123

chmod命令用来修改文件或目录的权限。

在Linux中,一个文件的用户分为三类,分别是所有者(u)、所属组(g)和其它人(o),权限也是三类,分别是读、写、执行(r、w、x)。一个文件在创建时,文件的所有者默认将拥有所有权限。

我们先通过ls -l来看一下Centos安装时默认生成的三个文件的权限。

chmod命令

我们以install.log为例,前面第一个字段为-rw-r--r--,其中第一位为-表示为一个文件,如果d表示是一个目录,l表示是一个链接文件。从第二位开始以三位为一组分成三组,第一组rw-表示所有者的权限,有读写权限,第二组r--表示所属组的权限,只有读权限,第三组r--表示其它用户的权限,只有读权限。

命令名称

chmod

命令原意

change the permissions mode of a file

所在路径

/bin/chmod

执行权限

所有用户

功能描述

修改文件或目录的权限

命令语法

chmod [选项] [{ugoa}{+-=}{rwx}] [文件或目录],u表示文件所有者,g表示文件所属级,o表示其它用户,a表示所有用户,+表示增加权限,-表示减少权限,=表示使用哪些权限。(这种方式用得较少)

chmod [选项] [mode=777] [文件或目录](一般都是用这种方式)

命令选项

-c, --changes:类似 --verbose,但只在有更改时才显示结果
--no-preserve-root:不特殊对待根目录(默认)
--preserve-root:禁止对根目录进行递归操作
-f, --silent, --quiet:去除大部份的错误信息
-v, --verbose:为处理的所有文件显示诊断信息
--reference=参考文件:使用指定参考文件的模式,而非自行指定权限模式
-R, --recursive:以递归方式更改所有的文件及子目录
--help:显示此帮助信息并退出
--version:显示版本信息并退出

其中以-R选项用得最多。

命令实例

1、chmod u+x install.log,给install.log的所有者添加执行权限

2、chmod ugo+x install.log,给所有者、所属组、其它用户都加上执行权限

chmod命令

3、chmod u-w install.log,所有者去除写权限

上面三种都是用rwx字符来表示权限,下面我们来说说用数字该如何表示一个文件的权限。

数字和字符的对应关系:

r=4

w=2

x=1

如上可以得到:7=4+2+1则为rwx,6=4+2+0则为rx-,5=4+0+1则为r-x。

4、chmod 777 install.log,将所有者、所属组和其它人的权限都设置为rwx。

5、chmod 644 install.log,将install.log的权限恢复为默认

6、chmod -R 666 /tmp,将tmp目录和它的所有子目录、文件都设置为读写权限。-R为递归设置。