Linux 修改文件夹权限

转自: https://www.cnblogs.com/fefjay/p/6047820.html


0.说明

Linux系统下常常遇到文件或者文件夹的权限问题,或者是由于文件夹所属的用户问题而没有访问的权限。根据我本身遇到的状况,对这类问题作一个小结。
在命令行使用命令“ll”或者“ls -a”,能够查看文件或者文件的权限:css

-rw-r--r--. 1 root root 6 Nov 9 16:42 a.txt

其中“-rw-r--r--”表示权限,一共有十个字符。html

第一个字符,若是是“-”则表示是文件,若是是“d”则表示是目录(directory)。lua

后面9个字符每3个字符又做为一个组,则有3组信息(“rw-”、“r--”、“r--”),分别表示所属用户自己具备的权限、所属用户的用户组其余成员的权限、其余用户的权限。spa

每一组信息如“rw-”,每个字符都有它本身的特定含义且前后位置是固定的,其中r是读权限、w是写权限、x是可执行权限、-没有对应字符的权限。Linux里面对这些字符设置对应的数值,r是4,w是2,x是1,-是0。上面的“rw-”则是6(=4+2+0),因此最开始a.txt的权限是644,属于root用户组的root用户。命令行

1.修改权限chmod

1.1改文件的权限

我想修改文件a.txt的权限为755,则为:code

[root@master my]# ll
-rw-r--r--. 1 root root 6 Nov  9 16:42 a.txt #改以前权限是644
[root@master my]# chmod 755 a.txt
[root@master my]# ll
-rwxr-xr-x. 1 root root 6 Nov  9 16:42 a.txt #改后权限是755

1.2改文件夹的权限

改以前:htm

[root@master test1]# ll
drw-r--r--. 2 root root 4096 Nov  9 16:42 my #改以前文件夹my的权限是644
[root@master test1]# ll my/
-rwxr-xr-x. 1 root root 6 Nov  9 16:42 a.txt #改以前文件夹my的里面的文件权限是755

1.2.1只改变文件夹自己权限,不改动子文件(夹)

执行命令修改my文件夹权限为600:blog

[root@master test1]# chmod 600 my/ #修改命令
[root@master test1]# ll
drw-------. 2 root root 4096 Nov  9 16:42 my #改my文件夹以后权限是600
[root@master test1]# ll my/
-rwxr-xr-x. 1 root root 6 Nov  9 16:42 a.txt #改my文件夹以后里面的文件权限仍是755,没有变化

1.2.2改变文件夹及子目录下全部文件(夹)权限

执行1.2.1步骤以后,my文件夹和里面的文件权限都是不一样的。如今递归修改,都改成统一的权限777:递归

[root@master test1]# chmod -R 777 my/ #修改命令,注意中间是大写的R,不是小写
[root@master test1]# ll
drwxrwxrwx. 2 root root 4096 Nov  9 16:42 my #修改后my文件夹权限是777
[root@master test1]# ll my/
-rwxrwxrwx. 1 root root 6 Nov  9 16:42 a.txt #修改后里面的文件变为了777

2.修改所属用户和用户组chown

这个和修改文件夹的权限是基本相同的,只不过是把chmod命令换成了chown。ast

2.1修改文件所属用户和用户组

修改a.txt文件所属用户(jay)和用户组(fefjay):

chown jay:fefjay a.txt #修改文件所属用户为jay,所属用户组为fefjay

2.2修改文件夹所属用户和用户组

1.2.1只改文件夹自己所属用户和用户组,不改子文件(夹)

仅修改文件夹my自己所属用户(jay)和用户组(fefjay):

chown jay:fefjay my #修改文件所属用户为jay,所属用户组为fefjay

2.2.2改变文件夹及全部子文件(夹)所属用户和用户组

递归修改文件夹my及包含的全部子文件(夹)的所属用户(jay)和用户组(fefjay):

chown -R jay:fefjay my #修改文件所属用户为jay,所属用户组为fefjay

3.总结

修改单个文件(夹)就用命令:

chownchmod    “权限”或“名:组”    文件(夹)名称

修改文件夹及子文件夹全部文件就用命令:

chownchmod  -R   “权限”或“名:组”    文件夹名称