用到程序:
chmod setfacl getfacl stat chattr lsattr
chmod:设置文件权限
setfacl:设置访问控制列表(access control list)
getfacl:查看访问控制列表
stat:显示inode内容(a|m|c)time内容
chattr:设置第二扩展文件的列表文件属性系统
lsattr:查看第二扩展文件的列表文件属性系统
setuid:使文件拥有和文件属主相同的x权限
setgid:使文件夹拥有和文件属组相同的x权限
sticky:使文件不可册除
Test:
[root@nagios test]# touch setuid setgid sticky [root@nagios test]# chown -R nagios.nagios ./ [root@nagios test]# chmod u+s setuid && chmod g+s setgid && chmod o+t sticky [root@nagios test]# ll total 0 -rw-r-Sr-- 1 nagios nagios 0 Mar 28 00:41 setgid -rwSr--r-- 1 nagios nagios 0 Mar 28 00:41 setuid -rw-r--r-T 1 nagios nagios 0 Mar 28 00:41 sticky [root@nagios test]# su hello [hello@nagios test]$ pwd /root/test [hello@nagios test]$ echo hello >> setuid bash: setuid: Permission denied [hello@nagios test]$ sh setuid hello [nagios@nagios test]$ exit exit [root@nagios test]# chmod o+w sticky [root@nagios test]# su hello [hello@nagios test]$ ll sticky -rw-rw-rwT 1 nagios nagios 0 Mar 28 00:45 sticky [hello@nagios test]$ rm sticky rm: cannot remove `sticky': Permission denied [hello@nagios test]$ stat sticky File: `sticky' Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: fd00h/64768d Inode: 134198 Links: 1 Access: (1666/-rw-rw-rwT) Uid: ( 500/ nagios) Gid: ( 500/ nagios) Access: 2013-03-28 00:45:37.875928997 +0800 Modify: 2013-03-28 00:45:37.875928997 +0800 Change: 2013-03-28 00:46:28.050580800 +0800
#setfacl and getfacl
user:: user: 属主权限 "::"均为属主 ":" 为特殊用户
group:: group: 组和特殊组
other:: 其它人
mask:: 除了属主和其他人之外的所有人
常用选项:
-d : 子目录继承父目录的特殊权限。
-R : 递归权限
查看是否支持ACL
[root@nagios heelo]# tune2fs -l /dev/sda1 | grep option Default mount options: user_xattr acl
test:
[root@nagios test]# touch setfacl [root@nagios test]# setfacl -m user::r,user:hello:rw setfacl [root@nagios test]# chown nagios.nagios setfacl [root@nagios test]# ll setfacl -r--rw-r--+ 1 nagios nagios 0 Mar 28 00:52 setfacl [root@nagios test]# su nagios [nagios@nagios test]$ echo hello >> setfacl bash: setfacl: Permission denied [nagios@nagios test]$ exit exit [root@nagios test]# su hello [hello@nagios test]$ echo hello >> setfacl [hello@nagios test]$ cat setfacl hello [hello@nagios test]$ getfacl setfacl # file: setfacl # owner: nagios # group: nagios user::r-- user:hello:rw- group::r-- mask::rw- other::r--
#chattr and lsattr
Chattr +-=[acdeijstuADST].
A:Atime,告诉系统不要修改对这个文件的最后访问时间。
S:Sync,一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘。
a:Append Only,系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件。
i:Immutable,系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件。
D:检查压缩文件中的错误。
d:No dump,在进行文件系统备份时,dump程序将忽略这个文件。
C:Compress,系统以透明的方式压缩这个文件。从这个文件读取时,返回的是解压之后的数据;而向这个文件中写入数据时,数据首先被压缩之后才写入磁盘。
s:Secure Delete,让系统在删除这个文件时,使用0填充文件所在的区域。
u:Undelete,当一个应用程序请求删除这个文件,系统会保留其数据块以便以后能够恢复删除这个文件。
test:
[root@nagios test]# mkdir chattr [root@nagios test]# chattr +i chattr/ [root@nagios test]# touch chattr/hello touch: cannot touch `chattr/hello': Permission denied [root@nagios test]# chattr -i +a chattr/ [root@nagios test]# touch chattr/hello && echo hello >>chattr/hello && cat chattr/hello hello [root@nagios test]# rm chattr/hello rm: remove regular file `chattr/hello'? y rm: cannot remove `chattr/hello': Operation not permitted
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索文件
, 系统
, root
, test
, nagios
, sticky
, Hello
, chattr命令
, setgid
sticky组件
xp系统对程序设置权限、linux系统权限、linux 文件系统权限、linux系统root权限、linux系统用户权限,以便于您获取更多的相关知识。