linux系统中文件的高级权限设置

文件高级权限设置

1.文件隐藏属性

chattr

chattr [+-=] [ASacdi] 文件名或目录

+:增加某一个特殊参数,其他原本存在参数不动

-:删除某一个特殊参数,其他原本存在参数不动

=:设置固定参数

A:读写文件或目录时,他的服务时间atime不变,可以


避免I/O较慢的机器过度读写磁盘。

S:当修改文件或目录是自动同步写入磁盘中

a:被设置的文件只能写入,对文件不能删除也不能修


改数据,只有root能设置

c:自动压缩,读取时自动解压缩

d:当dump备份时,设置为d的文件或目录不会被dump

i:让一个文件不能删除、改名、设定连接、写入,只


有root能用

注意最常用的是a、i。root用户经常使用保护系统

如:禁止在系统中新建、删除用户,同被设置的文件


不能被删除

chattr +i /etc/passwd /etc/shadow

如果想取消:

chattr -i /etc/passwd /etc/shadow

如果要保护日志文件防止清空日志

chattr +a /var/log/messages


lsattr:查看隐藏权限

chattr +ai /tmp/test

lsattr  /tmp

当然chattr可以使用-R递归设置

lsattr使用-R连同子目录的数据也列出


2.文件的访问控制列表(acl),这个有点类似于NTFS


系统的acl,这对于给特定用设置特定的权限非常有用

定义文件的acl使用setfacl

查看文件的acl使用getfacl

如:想给特定用户u01设置读写执行的权限

setfacl -m user:u01:rwx /etc/yum.repos.d/

查看使用

getfacl /etc/yum.repos.d/

删除权限(注意不用指明权限列表)

setfacl -x user:u01 /etc/yum.repos.d/


3.Set UID


SUID的限制与功能:

1)SUID权限仅仅对二进制(binary program)有效

2)执行者对于该程序有x权限

3)该权限仅仅在执行该程序是有效(run-time)

4)执行者将被赋予owner的权限

举个例子,这就像皇帝的尚方宝剑、执剑者有皇帝的


权利,但是这仅仅是尚方宝剑在他手里的时间里。

linux中的passwd就是最好的例子,它被设置了SUID、


普通用户也可以改密码。

注意在设置时如果该文件有x

使用ls -l查看在owner的权限为上为小写的s

如果没有,则为S。

设置的方法:

chmod u+s 文件


4.SGID

与suid不同,SGID可以对目录或文件设置:

如果是对文件设置SGID他的功能和限制如下,

1)SGID权限对二进制(binary program)有效

2)执行者对于该程序有x权限

3)该权限仅仅在执行该程序是有效(run-time)

4)执行者将被赋予group的权限

/usr/bin/locate就是个例子

如果是对目录设置SGID他的工能和限制如下、

1)用户若对此目录具有r与x的权限是,该用户能够进


入目录

2)用户在此目录下的有效组(effective group)将


会变成改目录的group

3)用途:若用户在此目录下具有w权限,则使用者所


新建的文件其group将变成该目录的group

4)SGID对于团队项目开发来说是非常有用的

设置的方法:

chmod g+s


5.Sticky Bit

SBIT目前只对目录有效,对文件无效。他的作用:

当多个用户对于此目录具有w、x权限,用户新建的文


件或目录只有root有权利删除,即,其他用户只能对自


己的文件进行del、rename、move等动作,而无法删除


其他人的文件。

系统中的/tmp就是这样一个目录

设置的方法:

chmod o+t



本文出自 “为了工作顺利学习好系统” 博客,请务必保留此出处http://stlong.blog.51cto.com/5144113/1377396

linux系统中文件的高级权限设置,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。