linux中的chmod命令详细介绍、使用及实例
chmod命令
chmod用于改变 linux 系统文件或目录的访问权限,可以用它控制文件或目录的访问权限。该命令有两种用法:一种是包含字母的文字设定法;另一种是包含数字的数字设定法。
每一个文件或目录的访问权限都有三组,每组用三位数字表示,分别为文件所属主的读、写和执行权限;所属组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。可使用ls -li命令查看文件的详细信息。
以sum.sh文件为例,进行讲解。
红色框*有 10 个位置和一个“.”。
第一个字符指定了文件的类型。
“-”:普通文件。
“b”:块设备文件。这是一种特殊设备文件,存储设备都是这种文件,如分区文件 /dev/sda1 就是这种文件。
“c”:字符设备文件。这也是特殊设备文件,输入设备一般都是这种文件,如鼠标、键盘等。
“d”:目录文件。Linux 中一切皆文件,所以目录也是文件的一种。
“l”:软链接文件。
“p”:管道符文件。这是一种非常少见的特殊设备文件。
“s”:套接字文件。这也是一种特殊设备文件,一些服务支持 Socket 访问,就会产生这样的文件。
从第二个字符开始到第十个字符结束,一共 9 个字符,3 个字符一组,分别表示了 3 组用户(分别是文件的所属主、所属组、其他人)对文件或者目录的权限。
r 代表只读(read)
w 代表可写(write)
x 代表可执行(execute)
在三种权限中,
r可以用数字4表示
w可以用数字2表示
x可以用数字1表示
-表示没有任何权限,用数字0表示
“.”表示这个文件受 SELinux 的安全规则管理。
权限范围:
u :(user)代表当前的用户
g :(group)代表当前的群组
o :(other)代表当前用户或群组之外的用户或者群组
a :(all)代表所有的用户及群组
实例:
chmod u+x test 增加test文件中的所属主(user)的可执行权限
chmod u-w,g+x test 删除test文件中的所属主(user)的写权限,增加所属组(group)的可执行权限
chmod u=rwx,o=wx test 设置test文件中的所属主(user)的权限为可读、可写、可执行,设置其他人(other)的权限为可写、可执行
chmod 640 test 设置user的权限为可读可写,group的权限为可读,其他人没有任何权限
chmod 755 test 设置user的权限为可读可写可执行,group的权限为可读可执行,other的权限为可读可执行
(一般shell脚本设置的权限为755)