昨天推荐:每天学一个Linux命令(十六):mkdir命令介绍chmod命令用于改变文件或目录的权限。文件或目录的权限有读、写、执行三种,另外还有三种特殊权限。用户可以使用chmod来设置文件和目录的权限,设置方式可以是文本也可以是数字。无法直接更改链接文件的权限。如果用户需要修改链接文件的权限,真正的作用是作用于原文件。语法格式chmod[option][permission][fileordirectory]??chmod[OPTION][MODE]FILEchmod[OPTION][MODE]DIRECTORYoptiondescriptionu#User用户,文件或目录的所有者。g#用户组group,文件或目录所属的组o#其他用户othersa#所有用户all,系统默认+#添加权限-#取消权限=#配置文件的权限为指定权限r#可读权限w#可写权限x#可执行权限-#无权限x#设置可执行权限s#设置suid和sgid,可以用“u+s”、“g+s”来设置t#只有目录或文件的属主可以删除目录下的文件-c#效果类似于“-v”参数-f#运行时不会显示错误信息;-R#递归处理,指定目录下的所有文件和子目录都会一起处理;-v或--verbose#显示命令运行时的详细执行过程;--reference=<引用文件或目录>#将指定文件或目录的组权限设置为与引用文件或目录相同的组;<权限范围>+<权限设置>#开启权限范围的文件或目录的权限设置;-#关闭权限范围的文件或目录的选项权限设置;=#指定权限范围的文件或目录的选项权限设置;--help#显示帮助信息--version#显示版本信息权限说明-rw-r--r--1mingonggemingongge651Oct1212:53test.txt#↑╰┬╯╰┬╯╰┬╯#┆┆┆╰│其他0人#┆┆┆┆┈┈┈┈┈┈┈│├┈┈┈g属于组#┈┰u属于组#╰││第一个字母是文件类型#d代表目录(directroy)#-代表文件(regularfile)#s代表套接字文件(socket)#p代表管道文件(pipe)或命名管道文件(namedpipe)#l代表符号链接文件(symboliclink)#b代表文件是面向块的设备文件(block-orienteddevicefile)#c代表文件是面向字符的devicefile(面向字符的设备文件)r=read属性=4w=write属性=2x=execute属性=1特殊权限说明Linux系统除了正常的读写操作权限外,还Linux特殊权限包括SET位权限(suid、sgid)和粘性位权限(sticky)。chmodu+sfilename#设置suid位chmodu-sfilename#去除suid设置chmodg+sfilename#设置sgid位chmodg-sfilename#去除sgid设置chmod+tfilename#设置粘性位权限chmod-tfilename#去除粘性位权限如果一个文件设置了suid或sgid,其所有者或组权限的可执行位上有明显的标记,如果文件设置了suid并且还设置了x(执行)权限,则其执行字母s(小写)将显示在该位置。但是,如果没有设置x权限,则显示为字母S(大写)。如下:-rwsr-xr-x#设置了Suid,文件所有者也配置了可执行权限-rwSr--r--#设置了Suid,但是文件所有者没有配置可执行权限-rwxr-sr-x#设置了Guid,所属组也配置了可执行权限-rw-r-Sr--#设置了Guid,但所属组没有配置可执行权限。如果一个文件或目录设置了stickybit权限,它会在Executablebits中为其他人的权限做标记。如果文件设置为sticky并且设置了x(execute)位,其他人权限的可执行位会显示一个字母t(小写)。但是,如果未设置x位,则会显示字母T(大写)。如下:-rwsr-xr-t#表示设置了sticky位且其他用户配置了可执行权限-rwSr--r-T#表示设置了sticky位但其他用户未配置可执行权限Applicationinstance$chmodu+xfile#给文件的属主加上执行权限$chmod751mingongge#给mingongge的属主赋予读、写、执行权限$chmodu=rwx,g=rx,o=xmingongge#给属主赋值mingongge的读写执行权限,组分配读和执行权限,其他人分配执行权限$chmod=rmingongge$chmod444mingongge#分配读取权限给mingongge的所有者,组,其他人$chmod-Ru+rmingongge#递归给mingongge记录的所有文件和子目录的属主赋予读权限$chmod4755mingongge#设置用户ID,给属主赋予读、写和执行权限,给组和赋予读、执行权限其他用户。每天学一个Linux命令(15):man每天学一个Linux命令(14):cat每天学一个Linux命令(13):touch