yanxi

Linux基础——权限管理命令chmod
Linux基础——权限管理命令chmod 一、Linux中的文件权限与目录权限 Linux中定义了3种访问权限,分...
扫描右侧二维码阅读全文
01
2019/02

Linux基础——权限管理命令chmod

Linux基础——权限管理命令chmod

一、Linux中的文件权限与目录权限

Linux中定义了3种访问权限,分别是r、w、x。

  1. r表示对象是可读
  2. w表示对象是可写
  3. x表示对象是可执行

二、理解权限(rwx)的位权值

rwx 3种权限中,每一个权限代表一个二进制位。

  • r权限二进制表示为100,八进制表示为4;
  • w权限二进制表示为010,八进制表示为2;
  • r权限二进制表示为001,八进制表示为1;
  • 无任何权限表示为---,即二进制表示为000

所以拥有rwx权限即可表示为4+2+1即7
rw-权限表示为4+2+0即6,
r-x权限表示4+0+1即5,
r--权限即4,以此类推即可获得权限的位权值表示。

三、chmod命令的用法

(1)chmod mode dest_file:改变指定文件或目录的权限,其中mode参数可以使用八进制模式或符号模式进行权限设置。
(2)chmod -R mode dest_file:-R选项可以让权限改变递归地作用到文件和子目录。
下面来说说使用常用符号模式进行权限设置,如下是在符号模式下指定权限的格式:

chmod [ugo][[+-w][rwx]] dest_file

符号模式中
第一组字符定义了权限作用的对象:u代表所属者,g代表所属组,o代表系统其他用户,
第二组字符中(+)表示你是想在现有权限基础上增加权限,(-)表示现有权限基础上移除权限,(=)表示将权限设置成后面的值,
第三组字符中即是权限rwx。如下所示

chmod u+w dest_file:给目标文件的所属者增加w权限。
chmod u+wx,g+x,o+w dest_file:给目标文件的所属者增加w权限,所属组增加x权限,系统其他用户增加w权限。
chmod o-w dest_file:给目标文件的其他用户移除w权限。
chmod u=rwx dest_file:不管所属者拥有什么权限,该符号模式给所属者赋予rwx权限。

四、效果演示

首先,在temp目录下创建222.txt文件,对应的权限如图4-1所示

接下来,用符号模式给222.txt文件的所属者增加x权限,所属组增加w权限,其他用户增加x权限,linux命令如下,执行后的效果如图4-2所示

 chmod u+x,g+w,o+x 222.txt

再者,用八进制模式给222.txt文件的所属者移除w权限,所属组移除w权限,增加x权限,其他用户移除x权限,linu命令如下,执行后的效果如图4-3所示

chmod 554 222.txt

我个人觉得符号模式与八进制模式都挺好用的,符号模式更接近自然语言的表述,八进制模式也挺不错。不过基本上都使用八进制模式,因为在linux的bash脚本中都采用八进制模式进行权限的赋予。

Last modification:February 1st, 2019 at 04:20 pm
If you think my article is useful to you, please feel free to appreciate

Comment here is closed