Linux 文件/目录权限命令:chmod

chmod:用于改变文件或目录的访问权限

当我们在主机上首次运行用户创建的文件时,可能会收到错误提示信息“拒绝访问”。
如 ls的示例所示,可以用于检查文件的权限。

[root@izwz94jtz9hbdq165vpxpxz ~]# vi test.txt
-rw-r--r--  1 root root       12 Aug 16 10:48 test.txt

这表明您没有权限(没有“x”)来执行文件,我们可通过 chmod 来修改权限。

该命令有两种用法:

1、用包含字母和操作符表达式的文字设定法

Linux 文件/目录权限命令:chmod_第1张图片
chmod命令.png

app1/www 目录下的123.txt 文本文件为例说明:

 [root@izwz94jtz9hbdq165vpxpxz ~]# cd /app1/www
 [root@izwz94jtz9hbdq165vpxpxz www]# ls -l
 -rw-r--r-- 1 root root    161 Jul 16 22:48 123.txt

温馨提示:对象+操作+权限,中间无空格

1)给所有用户增加可执行权限:chmod +x 123.txt
以上命令等同于chmod a+x 123.txt,对象a可省略,即表示所有用户

 [root@izwz94jtz9hbdq165vpxpxz www]# chmod +x 123.txt
 [root@izwz94jtz9hbdq165vpxpxz www]# ls -l
 -rwxr-xr-x 1 root root    161 Jul 16 22:48 123.txt

2)给其他用户增加可写权限:chmod o+w 123.txt

 [root@izwz94jtz9hbdq165vpxpxz www]#chmod o+w 123.txt
 [root@izwz94jtz9hbdq165vpxpxz www]# ls -l
 -rwxr-xrwx 1 root root    161 Jul 16 22:48 123.txt

3)给所属组用户删除可读权限:chmod g-r 123.txt

 [root@izwz94jtz9hbdq165vpxpxz www]#chmod o+w 123.txt
 [root@izwz94jtz9hbdq165vpxpxz www]# ls -l
 -rwx--xrwx 1 root root    161 Jul 16 22:48 123.txt      //第2个r已没有了

4)同时给不同对象设置不同权限:chmod u=w,g+rw,o-x 123.txt

 [root@izwz94jtz9hbdq165vpxpxz www]# ls -l
 -r-x--xrwx 1 root root    161 Jul 16 22:48 123.txt
 [root@izwz94jtz9hbdq165vpxpxz www]# chmod u=w,g+rw,o-x 123.txt
 [root@izwz94jtz9hbdq165vpxpxz www]# ls -l     //查看修改后的文件权限
 --w-rwxrw- 1 root root    161 Jul 16 22:48 123.txt

5)递归地给某个目录下所有文件和子目录的属组分配写的权限
chmod -R g+w a2

 //修改前查看a2目录及子目录下的文件权限
 [root@izwz94jtz9hbdq165vpxpxz www]# ls -l
 drwxr-xr-x 3 root root   4096 Jul 31 21:25 a2
 [root@izwz94jtz9hbdq165vpxpxz www]# cd a2
 [root@izwz94jtz9hbdq165vpxpxz a2]# ls -l
 -rw-r--r-- 1 root root    6 Jul 31 21:52 hello.txt
 drwxr-xr-x 2 root root 4096 Jul 24 21:38 test
 -rw-r--r-- 1 root root    0 Jul 31 21:25 test1
 -rw-r--r-- 1 root root    0 Jul 31 21:25 test2
 [root@izwz94jtz9hbdq165vpxpxz a2]# cd test
 [root@izwz94jtz9hbdq165vpxpxz test]# ls -l
 -rw-r--r-- 1 root root 7 Jul 31 21:53 hello1.txt
 -rw-r--r-- 1 root root 7 Jul 31 21:53 hello2.txt

  执行命令后,查看修改后的权限
  [root@izwz94jtz9hbdq165vpxpxz test]# cd ../..    //需返回a2的上级目录
  [root@izwz94jtz9hbdq165vpxpxz www]# chmod -R g+w a2      //修改权限
  drwxrwxr-x 3 root root   4096 Jul 31 21:52 a2       //修改前权限是 r-x
  -rw-rw-r-- 1 root root    6 Jul 31 21:52 hello.txt      //修改前权限是 r--
  drwxrwxr-x 2 root root 4096 Jul 31 21:53 test       //修改前权限是  r-x
  -rw-rw-r-- 1 root root    0 Jul 31 21:25 test1          //修改前权限是   r--
  -rw-rw-r-- 1 root root    0 Jul 31 21:25 test2         //修改前权限是   r--
  -rw-rw-r-- 1 root root 7 Jul 31 21:53 hello1.txt      //修改前权限是   r--
  -rw-rw-r-- 1 root root 7 Jul 31 21:53 hello2.txt      //修改前权限是   r--   

2、用数字修改权限 : chmod 501 123.txt
r、w、x 分别对应数字 4、2、1

举例说明:
5=4+1,即文件拥有者有 rx 权限,0表示文件所属组用户无权限,1表示其他用户有 x 权限

[root@izwz94jtz9hbdq165vpxpxz www]# ls -l     //查看修改后的文件权限
--w-rwxrw- 1 root root    161 Jul 16 22:48 123.txt
[root@izwz94jtz9hbdq165vpxpxz www]# chmod 501 123.txt        
-r-x-----x 1 root root    161 Jul 16 22:48 123.txt

你可能感兴趣的:(Linux 文件/目录权限命令:chmod)