chmod命令用来改变文件和目录的权限,选项为:[ugoa][+-=][rwx-],其中u表示文件的所有者(user),g表示文件的所属组(group),o表示除所有者和所属组组员以外的其他账户(other),a表示所有账户(all),+、-、=分别表示对权限的增加、减少、定义。下面举例说明如何改变文件的权限。
下面的example.txt是一个所有账户对其没有权限的文件(提示:运行touch example.txt再运行chmod 000 example.txt可以得到这样的文件):

给文件的所有者增加读写权限:

给其他账户增加读写和执行权限:

去掉其他账户的读写和执行权限:

将读权限赋给文件的所属组:

将读和执行权限赋给文件的所属组:

赋给所有账户读写和执行权限:

去掉所属组的所有权限,并去掉其他账户的所有权限:
(https://www.xing528.com)
去掉所有账户的所有权限:

上面的命令用chmod a=example.txt或者chmod=example.txt也可以。
改变文件的权限,还有一种“数值”的方法。r、w、x、-可以分别用4、2、1、0表示,它们可以组成0~7这8种数值,分别表示不同的权限控制。例如,3=2+1表示且仅表示-wx,7=4+2+1表示且仅表示rwx等,见表2-2。用chmod ugo file命令来控制file的权限,这里的ugo与前面的用法不同,u、g、o可以取0~7的任一数值,分别表示file的所有者、所属组、其他账户的权限,下面举例说明。
根据表2-2,4表示r--,那么444表示r--r--r--,将文件的读权限赋给所有账户,可运行:

表2-2 数值及其所表示的权限

对照表2-2,要赋予所有者读写和执行权限rwx,赋予所属组读和执行权限r-x,给其他账户只读权限r--,可运行:

要取消所有账户的所有权限:

上面的命令用chmod 0也可以,但是chmod 000可读性好。
前面介绍的都是针对某个文件的权限的修改,对某个目录自身的权限的修改,命令是一样的。如果对某个目录及目录中的所有文件和子目录一起进行权限修改,需要使用选项-R或者--recursive。例如chmod -R 775 dir的作用是将目录dir本身、dir内的文件和子目录、子目录内的文件、子目录的子目录等的权限都设置为775。
chown和chgrp命令也与文件权限的定制和修改有关,它们的作用分别是改变文件的所有者和所属组(change owner和change group),这里就不详细介绍了。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
