好久以前的帖子了,从其他论坛转过来的。。。。。。。。。。。。。。。。。。
文件/目录的权限及归属:
访问权限:
实例:
图中为net文件夹的权限以及归属:
第一段:分为是十个字位(第1个字位代表文件类型;第2到4字位代表属主的权限,第5到7字位代表属组的权限,第8到10字位代表其它用户的权限)
第二段:文件的硬连接数
第三段:文件的属主,也可以叫文件的UID
第四段:文件的属组,也可以叫文件的GID
每种权限对应的具体操作:
chmod.chgrp,chown三个命令:
chmod 权限 文件/目录 修改文件/目录的访问权限
chgrp 组名 文件/目录 修改文件/目录的归属数组
chown 用户 文件/目录 修改文件/目录的归属属主
chmod:
chmod可以修改文件的三个归属的访问权限,修改的方法有
一:
使用数字代表权限:
read 4
write 2
exec 1
如chmod 777 文件/目录
第一个7代表的是文件/目录的属主的权限
第二个7代表的是文件/目录的数组的权限
第三个7代表的是文件/目录的其它的权限
7=r + w +x :代表可读可写可执行
二:
使用字母加字符:
如
chmod u+x 文件/目录
u代表的是属主
g代表的是属组
o代表的是其它
+和-代表的 赋予,去除该种权限
chgrp:chgrp可以修改文件/目录的属组。
使用格式为:chgrp 组名a 文件/目录b ###将文件/目录b的属组改为achown:
chown可以改变文件/目录的属主。使用格式为:chown 用户a 文件/目录b ###将文件/目录b的属主改为a
这三个命令的使用:
这三个命令都可以添加一个-R的参数,代表的时递归修改权限。递归修改就是修该这个文件夹的权限时,这个文件夹下面所有的文件/文件夹的权限都会别修改成和该文件夹的权限一样。
root和内核的默认权限:
root用户下新建的文件的权限为:644,新建的目录为:755内核级别的文件的权限为:666,目录为777
unmask命令:可以用来控制系统的默认权限,不过只是临时有效。unmask -S:查看当前用户的默认权限
0022:第一个0是特殊权限位。后面的三个表示属主,属组,其他人所去除的权限(这里的022代表的是属主去除的权限为0,属组去除的权限为2(即去除了写(w)的权限),其他人去除的也是写的权限。
umask 077:设置系统的临时默认权限为属主读写执行,属组没有任何权限,其他也没有任何权限 。文件的隐藏属性:
chattr命令:设置文件/目录的隐藏属性lsattr命令:查看文件/目录的隐藏属性
具体的使用格式为:chattr +a 文件/目录
lsattr -d 目录如图:
set位权限和粘滞位权限:
set位权限:当某个可执行文件的属主有set位权限(即SUID)时,那么其他用户在使用这个可执行文件时就有,该文件属主的权限。
属组有set位权限(即GUID)。
例如:
which mkdir
chmod u+s /bin/mkdir ####将mkdir这个命令的属主(root)赋予set位权限,那么在其他用户使用mkdir这个命令时就有root用户的权限。
用ll进行查看时,可见在属主的权限上面多了一个s。
属组的set权限为也是一样的。如图:
注意:如果可执行文件的属主或属组赋予了set位权限,那么它在其他用户中执行的产生的结果的属主或属组都和它属主或属组一样的。例如:
如图,在root用户下mkdir的属主,属组赋予了set位权限,切换到GC用户下面以后,使用mkdir命令建立的文件khg的属主和属组都属于root。粘滞位权限(Sticky):
粘滞位权限的修改方法:
chmod o+/-t 文件夹(只能文件夹)
对这二种权限也可以使用权限数字:
权限对应的对象:
ACL权限:
如:
使用setfacl -m u:GC:rwx: lianxi,设置GC用户对lianxi该文件夹有rwx的权限,u代表的是用户(user),g代表的是组(group)。
getfacl是查看文件/目录的ACL权限。
预设定: