linux文件权限
查看文件权限命令:ls -l-rw-r--r-- 1 root root 0 9月 11 20:59 filename
表示的意思分别为:文件权限、硬连接数、拥有者、所属组、文件长度、修改时间、文件名
文件权限有:r、w、x、s、t、i、a
r、w、x分别为读、写、执行
s:文件属主和组设置SUID和GUID,文件在被设置了s权限后将以root身份执行。SUID是Set User ID,SGID是Set Group ID的意思。在设置s权限时文件属主、属组必须先设置相应的x权限,否则s权限并不能真正生效(当使用ls -l查看文件属性时,如果出现rwS,则说明该文件的x属性没有被设置,s权限未生效)。
可以通过字符模式设置s权限:chmod a+s filename(a表示all,u表示user,g表示group,o表示other),也可以使用绝对模式进行设置,设置suid将相应的权限位之前的那一位设置为4,设置guid将相应的权限位之前的那一位设置为2,两者都置位则为6,如:chmod 4764 filename。
t:设置粘着位,一个文件可读写的用户并一定相让同组的其他人有删除此文件的权限,如果文件设置了t权限则只用属主和root有删除文件的权限,通过chmod +t filename来设置t权限。
i:不可修改权限,例:chattr u+i filename则filename文件就不可修改,无论任何人,如果需要修改需要先删除i权限,用chattr -i filename就可以了,查看文件是否设置了i权限用lsattr filename。
a:只追加权限,对于日志系统很好用,这个权限让目标文件只能追加,不能删除,而且不能通过编辑器追加,可以使用chattr +a设置追加权限。