重要:chmod:文件权限】linux chmod命令

【重要:chmod:文件权限】linux chmod命令chmod命令用于改变linux系统文件或目录的访问权限。用它控制文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。Linux系统中的每个文件和目录都有访问许可权

【重要:chmod:文件权限】linux chmod命令


chmod命令用于改变linux系统文件或目录的访问权限。

用它控制文件或目录的访问权限。



  1. 该命令有两种用法。

  2. 一种是包含字母和操作符表达式的文字设定法;

  3. 另一种是包含数字的数字设定法。



Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。


文件或目录的访问权限分为只读,只写和可执行三种。



  1. 以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改操作。

  2. 可执行权限表示允许将该文件作为一个程序执行。

  3. 文件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限,以便于对文件的阅读和修改。用户也可根据需要把访问权限设置为需要的任何组合。



有三种不同类型的用户可对文件或目录进行访问:

文件所有者,同组用户、其他用户。


所有者一般是文件的创建者。所有者可以允许同组用户有权访问文件,还可以将文件的访问权限赋予系统中的其他用户。

在这种情况下,系统中每一位用户都能访问该用户拥有的文件或目录。


每一文件或目录的访问权限都有三组,每组用三位表示,



  1. 分别为文件属主的读、写和执行权限;

  2. 与属主同组的用户的读、写和执行权限;

  3. 系统中其他用户的读、写和执行权限。



当用ls -l命令显示文件或目录的详细信息时,最左边的一列为文件的访问权限。




命令: 

ls -al

输出:

[root@localhost test]# ll -al

总计 316lrwxrwxrwx 1 root root     11 11-22 06:58 linklog.log -> log2012.log

-rw-r--r-- 1 root root 302108 11-13 06:03 log2012.log

-rw-r--r-- 1 root root     61 11-13 06:03 log2013.log

-rw-r--r-- 1 root root      0 11-13 06:03 log2014.log

-rw-r--r-- 1 root root      0 11-13 06:06 log2015.log

-rw-r--r-- 1 root root      0 11-16 14:41 log2016.log

-rw-r--r-- 1 root root      0 11-16 14:43 log2017.log

我们以log2012.log为例:

-rw-r--r-- 1 root root 296K 11-13 06:03 log2012.log


第一列共有10个位置,



  1. 第一个字符指定了文件类型。在通常意义上,一个目录也是一个文件。如果第一个字符是横线,表示是一个非目录的文件。如果是d,表示是一个目录。

  2. 从第二个字符开始到第十个共9个字符,3个字符一组,分别表示了3组用户对文件或者目录的权限。

  3. 权限字符用横线代表空许可r代表只读,w代表写,x代表可执行。



例如:
- rw- r-- r--
表示log2012.log是一个普通文件;log2012.log的属主有读写权限;与log2012.log属主同组的用户只有读权限;其他用户也只有读权限。

确定了一个文件的访问权限后,用户可以利用Linux系统提供的chmod命令来重新设定不同的访问权限。




  1. 也可以利用chown命令来更改某个文件或目录的所有者。

  2. 利用chgrp命令来更改某个文件或目录的用户组。 



chmod --help 


chmod [-cfvR] [--help] [--version] mode file  


用法:chmod [选项]... 模式[,模式]... 文件... 
或:chmod [选项]... 八进制模式 文件... 
或:chmod [选项]... --reference=参考文件 文件... 
将每个文件的模式更改为指定值。 
-c, --changes 类似 --verbose,但只在有更改时才显示结果 
   --no-preserve-root 不特殊对待根目录(默认) 
   --preserve-root 禁止对根目录进行递归操作 
-f,  --silent, force--quiet 去除大部份的错误信息 
-v,  --verbose 为处理的所有文件显示诊断信息 
   --reference=参考文件 使用指定参考文件的模式,而非自行指定权限模式 
-R, --recursive 以递归方式更改所有的文件及子目录 
   --help 显示此帮助信息并退出 
   --version 显示版本信息并退出 
每种 MODE 都应属于这类形式"[ugoa]*([-+=]([rwxXst]*|[ugo]))+"。 
要获取完整文档,请运行:info coreutils 'chmod invocation'