文件权限设置命令chmod文件权限是指文件是否可以执行、写入、读取等操作。Linux/Unix文件访问权限分为三个级别:文件所有者、用户组和其他,分别用以下字母表示:u:所有者g:用户组o:其他用户如下图所示,每个级别都可以设置为rwx三种权限。官方对change命令的解释是:changemode,所以可以用chmod来控制别人如何访问文件。使用的语法如下:$chmod[-cfvR][--help][--version]modefile...模式权限设置的格式如下:[ugoa][+-=][rwxX]其中u表示文件的拥有者,g表示文件的拥有者属于同一个组(组),o表示除其他人以外的人,a表示三者皆有。+表示增加权限,-表示减少权限,=表示设置唯一权限。r表示可读,w表示可写,x表示可执行,X表示仅当文件是子目录或文件已设置为可执行时。-R:对当前目录下的所有文件和子目录进行相同的权限更改(即递归地逐一更改)。对于chmod的使用,只有文件所有者和超级用户可以修改文件或目录的权限。具体方法是可以使用符号方式或者绝对方式来操作。而我更喜欢用绝对数字模式,粗犷简单。符号模式使用符号模式需要考虑很多因素,包括用户类型、操作员和设置权限。who用户类型描述u用户文件所有者ggroup文件所有者所在组oothersallotherusersaalluserused,相当于ugo操作符的符号模式表:指定用户权限的设置,即重置该用户类型的所有权限。权限的符号模式表:模式名称描述rread设置为读权限wwrite设置为可写权限xexecute权限设置为可执行权限absolute数字模式chmod命令可以使用八进制数来指定权限。一个文件或目录的权限位由9个权限位控制,每个权限位三个一组,分别是文件所有者的读、写、执行权限,用户的读、写、执行权限组,以及其他用户的读、写、执行权限。写,执行。从历史上看,文件权限已置于位掩码中,特定位设置为1以指示类具有相应的优先级。比如下面的0-7代表各自的权限定义。无权限rwxbinary7read+write+executerwx1116read+writerw-1105read+executer-x1014read-onlyr--1003write+execute-wx0112write-only-w-0101execute-only--x0010None---000如表所示:对于7,表示所有者的权限为可读、可写、可执行,即对应的八进制为111,所以为7;而对于5种语言,说明拥有者的权限是可读可执行的,对应的八进制是101,所以是5;其他类似。将示例更改为所有人都可读接下来,将文件a.c设置为所有人都可读。使用方法一共有三种,如下:chmodugo+rfilenamechmoda+rfilenamechmod444filename具体如下:方法一:#默认设置为无属性$ll---------1useruser5KBFeb1222:22a.c#通过方法2改为全部可读$chmodugo+rfile1.txt$ll-r--r--r--1useruser5KBFeb1222:22a.c:#默认设置为无属性$ll----------1useruser5KBFeb1222:23a.c#通过方法3更改为所有可读的$chmoda+rfile1.txt$ll-r--r--r--1useruser5KBFeb1222:23a.c:#The默认设置为没有属性$ll------------1useruser5KBFeb1222:23a.c#更改为所有可读的$chmod444file1。txt$ll-r--r--r--1useruser5KBFeb1222:24a.c设置用户和组可读可写,其他用户不能写但可以查看接下来继续设置文件a.c为用户和组可读和写,其他用户不能写但可以查看。使用符号模式如下:$ll-r--r--r--1useruser5KBFeb1222:24a.c$chmodug+rw,o+r,o-wa.c$ll-rw-rw-r--1useruser5KBFeb1222:26a.c使用数字模式如下:$ll-r--r--r--1useruser5KBFeb1222:24b.c$chmod664a.c$ll-rw-rw-r--1useruser5KBFeb1222:26b.c设置为每个人且仅executable这时候不管文件的权限是什么,因为只有可执行权限,所以符号方式可以用=,数字方式只能用1,如下:$chmoda=xfilename#or$chmod111filename#cannot阅读$cata。ccat:a.c:Permissiondenied因此,对于只有可执行权限的文件,是无法进行读写操作的,也保证了文件的安全性。
