linux 更改文件权限命令 chmod

时间:2021-05-31 11:14:20

chmod  -change file mode bits :更改文件权限

chmod是用来改变文件或者目录权限的命令,但只有文件的属主和超级用户(root)才有这种权限。

更改文件权限的2种方式:

  一、权限字母+操作符表达式

  二、数字方法(常用)

hmod数字权限方法(推进)

命令格式:

  chmod  [数字组合]   文件名

chmod [数字组合] 目录名 -R参数可递归生效(该目录下所有文件或子目录一起改变)

一、chmod的数字方法的说明:

r  
w    
x  
-  

例如:

rwxr-xr-x  目录默认权限  

rw-r--r--  644文件默认权限 

每个三位的权限代码(属主,用户组,其他用户)组合,有8种可能:

八进制                    权限
---
--x
-w-
-wx
r--
r-x
rw-
rwx

举例:

  rw-rw-r-x  代表数字权限:665

  --xr-x-wx  代表数字权限:163

  -wx--x--x  代表数字权限:311

  rwx--xr-x  代表数字权限:715

  -----x-w-  代表数字权限:012

  如果我们仅仅想改变目录的权限,使用chmod不用加任何参数。如果想把目录下的文件和子目录也同时改变,需要使用

-R参数

chmod字符式权限表示法

命令格式:

Chmod [用户类型] [+ | - | =] [权限字符] 文件名

表一 详细说明表

chmod

用户类型

操作字符

权限字符

文件和目录

U(user)

+(增加)

r

G(group

-

O(others)

-(减少)

w

A(all)

=(设置)

x

说明:

+:添加某个权限
-:取消某个权限
=:取消其他所有权限赋予给定的权限

chmod u-x test.sh

[root@MongoDB ~]# chmod u-x test.sh
[root@MongoDB ~]# ll
total
-rw-------. root root Mar : anaconda-ks.cfg
-rw-r-xr-x root root Jun : test.sh

chmod g+w test.sh

[root@MongoDB ~]# chmod g+w test.sh
[root@MongoDB ~]# ll
total
-rw-------. root root Mar : anaconda-ks.cfg
-rw-rwxr-x root root Jun : test.sh

chmod g=w,o-x test.sh

[root@MongoDB ~]# chmod g=w,o-x test.sh
[root@MongoDB ~]# ll
total
-rw-------. root root Mar : anaconda-ks.cfg
-rw--w-r-- root root Jun : test.sh

chmod ugo=r test.sh

[root@MongoDB ~]# chmod ugo=r test.sh
[root@MongoDB ~]# ll
total
-rw-------. root root Mar : anaconda-ks.cfg
-r--r--r-- root root Jun : test.sh

chmod a=rw test.sh

a代表所有 相当于 chmod 777 test.sh

[root@MongoDB ~]# chmod a=rwx test.sh
[root@MongoDB ~]# ll
total
-rw-------. root root Mar : anaconda-ks.cfg
-rwxrwxrwx root root Jun : test.sh