文件权限粘性&用户执行

文件权限粘性&用户执行

客户网站被黑客攻击后,我发现一些文件具有以下权限设置

在此输入图像描述

究竟是什么S时间代表?另外,用哪一个命令来设置它们的权限?

提前致谢

答案1

有关该主题的信息来源有很多,但阅读这里, 在维基百科以及 StackExchange 上提出的其他类似问题,如下所示:

我们可以假设:

粘位

主要用于文件夹,以避免其他用户尽管对文件夹内容具有写权限,但仍删除该文件夹及其内容。如果在文件夹上启用粘滞位,则只有创建文件夹的所有者和 root 用户才能删除或移动文件夹内容。

但当然,它也可以在单个文件上完成,就像您的情况一样。

如何设置粘滞位

# symbolic way :
chmod +t /path/to/folder/or/file
# Numerical way :
chmod 1757 /path/to/folder/or/file

如果在文件权限区域看到T(大写),则表明特定文件或文件夹没有可执行权限全部用户权限部分。否则,如果粘性节拍t是小写,则表示可执行权限全部用户已启用。

SetGID / SetUID(设置组 ID、设置用户 ID)位

在大多数系统上,如果设置了目录的 set-group-ID 位,则新创建的子文件将继承与该目录相同的组,并且新创建的子目录将继承父目录的 set-group-ID 位。

同样的逻辑设置UID少量。

如何设置GID / SetUID

# add the setuid bit
chmod u+s /path/to/folder/or/file
# remove the setuid bit
chmod u-s /path/to/folder/or/file

# add the setgid bit
chmod g+s /path/to/folder/or/file
# remove the setgid bit
chmod g-s /path/to/folder/or/file

与上述类似,如果您看到S(大写)目录的 setgid 位已设置,但执行位未设置。是s小写的,目录的 setgid 位被设置,并且执行位被设置。

答案2

您可以在页面上找到S和的含义。在使用 GNU 的系统上,这应该在文件中可用,通常可以在 shell 提示符下通过.这是摘录:Tls infolscorutils.info.gzinfo ls

`ls' combines multiple bits into the third character of each
set of permissions as follows

. . .

`S'
    If the set-user-ID or set-group-ID bit is set but the
    corresponding executable bit is not set.

`T' 
    If the restricted deletion flag or sticky bit is set but the
    other-executable bit is not set.

通常用来设置这些位的命令是chmod,任何二进制命令或程序都可以调用内核系统调用chmod来完成相同的事情。

请参阅这些手册页以获取更多信息:

man 1 chmod
man 2 chmod

相关内容