Linux文件权限管理进阶


文件隐藏属性

chattr 指令只能在Ext2/Ext3/Ext4 的 Linux 传统文件系统上面完整生效,其他的文件系统可能就无法完整的支持这个指令了,例如 xfs 仅支持部份参数而已。

  • chattr
+:增加某一个特殊参数,其他原本存在参数则不动。
-:移除某一个特殊参数,其他原本存在参数则不动。

a:当设定 a 之后,这个文件将只能增加数据,
  而不能删除也不能修改数据,只有 root 才能设定这属性
i:可以让一个文件[不能被删除、改名、设定连结也无法写入或新增数据!]
  对于系统安全性有相当大的帮助!只有 root 能设定此属性.

例如:
切换为root权限,
chattr +I yht_temp
则该目录或该文件不可修改
  • lsattr

查看隐藏权限使用此命令。
lsattr.png

文件特殊权限: SUID, SGID, SBIT

SUID

Set UID,当 s 这个标志出现在文件拥有者的 x 权限上时。如“rwsr-xr-x”这个样子。
限制于功能:

  • SUID 权限仅对二进制程序(binary program)有效;
  • 执行者对于该程序需要具有 x 的可执行权限;
  • 本权限仅在执行该程序的过程中有效 (run-time);
  • 执行者将具有该程序拥有者 (owner) 的权限。
例:“/usr/bin/passwd”这个文件的权限。
SGID

Set GID,当 s 这个标志出现在群组的 x 权限上时。怎会如“rwx--s--x”这个样子。

对于文件来说:

  • SGID 对二进制程序有用;
  • 程序执行者对于该程序来说,需具备 x 的权限;
  • 执行者在执行的过程中将会获得该程序群组的支持!
例:“/usr/bin/locate”这个文件的权限。

对于目录来说:

  • 用户若对于此目录具有 r 与 x 的权限时,该用户能够进入此目录;
  • 用户在此目录下的有效群组(effective group)将会变成该目录的群组;
  • 用途:若用户在此目录下具有 w 的权限(可以新建文件),则使用者所建立的新文件,该新文件的群组与此目录的群组相同。
SBIT

Sticky Bit,只针对目录有效。

  • 当用户对于此目录具有 w, x 权限,亦即具有写入的权限时;
  • 当用户在该目录下建立文件或目录时,仅有自己与 root 才有权力删除该文件。
设置特殊权限
SUID: 4, SGID:2, SGID:1
例:
chmod 4755 yht.txt
chmod 4755 yht.txt.png

若出现大写,如“rwSrwSrwT”,则是空特殊权限。原因是缺失基本权限。

结束

文件权限暂时告一段落。

你可能感兴趣的:(Linux文件权限管理进阶)