首页 > 代码库 > Linux 权限设置chmod

Linux 权限设置chmod

Linux中设置权限,一般用chmod命令

1、介绍

权限设置chmod

功能:改变权限命令。
常用参数:

1=x(执行权execute) 2=w(写权write) 4=r(读权Read)

setuid 设置后,文件拥有文件所有者的权限如root权限

setgid 设置后,目录下创建的文件件拥有此目录所属组的权限

stickybit 设置后,文件不可被删除
操作提示:chmod 参数 文件或目录名

2、文件权限解析

 技术分享

如上图,这是一个txt文件的权限属性,ower即为文件创建者对文件可操作的权限,group为文件创建者所在组对文件可操作的权限,Others就是其它用户操作的权限了。

Octal中,第一个数字0代表setuid+setgid+stickybit,第二个数字7代表owner的R+W+X相加,第三个数字代表Group的R+W+X相加,Others也是一样。

所以如上"0776"的详细解释就是:rwxrwxrw-

再如”7766“,代表rwsrwSrwT

那么原来的执行标志x到哪里去了呢? 系统是这样规定的, 如果本来在该位上有x, 则这些特殊标志显示为小写字母 (s, s, t). 否则, 显示为大写字母 (S, S, T)

Got it?

3、命令窗口

讲一个例子,“6677”,在属性权限和命令窗口中,显示为如下:

技术分享

技术分享

 具体权限的含义就不说了,看看命令行窗口中标红的地方,是不是觉得和之前说的有点不一样?

是的,前面多了一位”-“,这第一位是用来代表文件或者目录是否是symbolic link符号链接(通俗的说,快捷方式)

技术分享

如果是快捷方式,如上c.txt,第一位显示为l,具体指向a.txt

4、命令操作

显示文件列表详细 ls -l

技术分享

改变权限 chmod 776 h.txt

技术分享

一般常用的就这俩个命令。

也有一些其它的命令,单独设置某种类型权限。

chmod u+s temp -- 为temp文件加上setuid标志. (setuid 只对文件有效)
chmod g+s tempdir -- 为tempdir目录加上setgid标志 (setgid 只对目录有效)
chmod o+t temp -- 为temp文件加上sticky标志,防止误删 (sticky只对文件有效)

技术分享

如上命令,chmod u+s h.txt,单独设置了h.txt文件拥有创建者的权限。

Linux 权限设置chmod