4.8- 修改文件或目录权限 chmod 详解

chmod命令用于修改文件或目录的权限,进而影响文件或目录的安全设置,chmod命令的格式如下:

chmod options mode file

参数模式:mode 参数 允许使用八进制或符号模式进行安全设置。八进制模式是为文件指定标准的3位八进制代码:

[root@hadoop tmp]# ls -l | grep dir2
drwxr-xr-x. 2 root root 6 8月  26 23:13 dir2
[root@hadoop tmp]# chmod 760 dir2
[root@hadoop tmp]# ls -l | grep dir2
drwxrw----. 2 root root 6 8月  26 23:13 dir2

符号模式: chmod 命令采用3组3个字符的普通字符串方法,使用符号模式指定权限的格式如下:

[ugoa][+-=][rwxXstugo...]

第一组字符串定义了新权限适用的对象:

  • u表示用户,表示users
  • g表示用户组,表示groups
  • o表示其他(其他任何人),表示others
  • a表示上述所有,表示all

第二组字符使用一个符号表示希望在已有权限中添加权限(+),在已有权限中减去权限(-),还有为权限赋值(=)

第三组字符表示为设置使用的权限,其中并不仅包括rwx,其他分别为:

  • x 用于指定执行权限,仅当对象为目录或已经拥有执行权限时有效
  • s 用于设置正在执行的UID或GID
  • t 用于保存程序文本
  • u 用于将权限设置为所有者的权限
  • g 用于将权限设置为用户组的权限
  • o 用于将权限设置为其他人的权限

使用案例如下:
o+r 将读取权限添加到others:

[root@hadoop tmp]# chmod 222 dir2
[root@hadoop tmp]# ls -l | grep dir2
d-w--w--w-. 2 root root 6 8月  26 23:13 dir2
[root@hadoop tmp]# chmod o+r dir2
[root@hadoop tmp]# ls -l | grep dir2
d-w--w-rw-. 2 root root 6 8月  26 23:13 dir2

u-x 将删除已有的执行权限:

[root@hadoop tmp]# ls -l | grep dir2
drwxr-xr-x. 2 root root 6 8月  26 23:13 dir2
[root@hadoop tmp]# chmod u-x dir2
[root@hadoop tmp]# ls -l | grep dir2
drw-r-xr-x. 2 root root 6 8月  26 23:13 dir2

options参数提供一些特性来扩展chmod命令功能,例如-R参数递归执行文件和目录修改

[root@hadoop tmp]# ls -l dir3/*
-rw-r--r--. 1 root root 0 9月   4 00:03 dir3/dir3_file1
-rw-r--r--. 1 root root 0 9月   4 00:03 dir3/dir3_file2
-rw-r--r--. 1 root root 0 9月   4 00:03 dir3/dir3_file3
[root@hadoop tmp]# chmod -R 222 dir3
[root@hadoop tmp]# ls -l | grep dir3
d-w--w--w-. 2 root root 60 9月   4 00:03 dir3
[root@hadoop tmp]# ls -l dir3/*
--w--w--w-. 1 root root 0 9月   4 00:03 dir3/dir3_file1
--w--w--w-. 1 root root 0 9月   4 00:03 dir3/dir3_file2
--w--w--w-. 1 root root 0 9月   4 00:03 dir3/dir3_file3

在指定文件时可使用通配符,一次修改多个文件的权限。

你可能感兴趣的:(program-shell,修改文件权限,chmod详解,八进制模式详解,符号模式详解,chmod,-R)