一、权限说明

        1、chmod 命令用来改变文件或目录的权限属性。但是只有文件的属主和超级用户 root 才可以执行 chmod 命令。

        2、Linux 中权限

drwxrwxr-x 6 root root       4096 Apr 25  2018 phpredis-4.0.2

d rwx rwx r-x 文件和权限位 分为两个部分 

d 表示文件的类型 

 rwx      rwx     r-x     权限位,一共9位,没3位一组,分别表示如下
 属主     所属组   其他

        3、普通文件权限说明

r可读		表示具有读取文件的权限。

w可写		表示具有新增、修改文件内容的权限。
			1、如果没有r读的权限,使用 vi 编辑器如果强制保存,则会覆盖原来的文件内容
			2、删除或修改文件名称的权限,是受父级目录的权限控制,和文件本身的权限没有关系。
				因为文件名在父级目录的 block 里保存。

x可执行		表示具有可以执行文件的权限。
			1、想要执行文件,那么文件本身需要能够执行。
			2、普通用户必须还要有 r 的权限才能够执行,没有 r 不能执行。
			3、root 用户即使没有 r 权限,只要有 x 权限就可以执行。
			4、root 用户位没有执行权限,但是只要其他权限位上有 x 权限,就可以执行。

        4、目录权限说明

r可读		表示具有可以浏览目录下面文件和子目录的权限。 ls可以查看到内容
			1、如果没有 x 可执行权限,不能进入到目录中,即无法 cd 目录
			2、ls 可以看到所有的文件名,不过会提示无权访问目录下的文件。
			3、如果 ls -l 列表,所有的属性信息会带有问号,也会提示无权访问目录下的文件,但是可以看到所有的文件名。

w可写		表示具有增加、删除或修改目录内文件名的权限
			1、增加的不是文件内容,而是创建一个新的文件。
			2、修改的不是文件内容,只能修改文件名,或重命名文件名。
			3、删除也是删除文件而不是看文件本身的权限,是看目录的权限,如果没有 x 权限也不能删除。
			
x可执行		表示具有进入目录的权限。 可以 cd 目录
			1、没有 r 权限则无法查看目录列表。
			2、没有 w 权限无法创建文件。

二、参数

        -R         递归的处理指定目录及子目录下的所有文件。

        1、修改所有用户权限为 rwx

[root@cenos79 test]# 
[root@cenos79 test]# ll more.txt 
-rw-r--r-- 1 root root 90332 Jul 28 15:14 more.txt
[root@cenos79 test]# chmod a=rwx more.txt  ## 表示给所有用户都设置成 rwx 的权限。
    用户类型:
        a 表示所有用户  All
        u 表示属主      user
        g 表示所属组    group
        o 表示其他用户  other  
    操作字符:
        + 加入某个权限
        - 减去某个权限
        = 设置成某个权限
[root@cenos79 test]# ll more.txt 
-rwxrwxrwx 1 root root 90332 Jul 28 15:14 more.txt
[root@cenos79 test]# 

## 给 md5.txt 文件属主加 x 的权限,所属组加 w 的权限
[root@cenos79 test]# ll md5.txt 
-rw-r--r-- 1 root root 44 Jun 28 16:57 md5.txt
[root@cenos79 test]# chmod u+x,g+w md5.txt 
-rwxrw-r-- 1 root root 44 Jun 28 16:57 md5.txt

        2、使用数字设置权限

[root@cenos79 test]# ll more.txt 
-rwxrwxrwx 1 root root 90332 Jul 28 15:14 more.txt
[root@cenos79 test]# chmod 755 more.txt 
[root@cenos79 test]# ll more.txt 
-rwxr-xr-x 1 root root 90332 Jul 28 15:14 more.txt

## 说明:权限位可以使用数字表示。 r == 4;  w == 2;  x == 1;
如果想设置某个权限为:rwx -xr -xr,只要计算出每个权限上的和即可
对应为: rwx  == 4+2+1 = 7
        -xr  == 0+4+1  = 5

## 效果等同于
[root@cenos79 test]# chmod u=rwx,go=rx more.txt 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐