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文件拥有创建者的权限。