无法使用 su 进入超级用户

无法使用 su 进入超级用户

每当我试图奔跑

su
Password:

然后就显示错误

setgid: Operation not permitted

在我使用以下方法更改权限后出现了这个问题chown

的输出ls -lsa /bin/su为:

40 -rwxrwxr-x 1 jheel root 40128 May 17 2017 /bin/su

答案1

正确的权限/bin/su应该是:禁用 RWSR-XR-X

-rwsr-xr-x 1 root root 40128 May 17  2017 /bin/su*

为了解决这个特定问题你应该:

  1. 将文件所有者更改为根:根
  2. 更改文件权限为禁用 RWSR-XR-X

可以使用以下方法完成:

sudo chown root:root /bin/su
sudo chmod 4755 /bin/su
  • 第一个命令,将文件的所有者更改为root
  • 下一个命令将更改权限以允许任何用户读取/执行,并将位设置s/bin/su命令。

问:为什么执行chown/bin/su也删除了set-user-id/set-group-id位?

答:根据设计,执行chown可能会删除set-user-id/set-group-id位。设置这些位后,执行此类文件将导致以二进制文件的所有者身份运行文件,而不是以执行文件的进程的所有者身份运行文件。更改文件所有者(或组)而不删除该set-user-id位,将导致文件以与最初计划不同的用户身份执行,这可能会导致安全漏洞。

一些参考资料:

chown POSIX 标准

Unless chown is invoked by a process with appropriate privileges, the set-user-ID and set-group-ID bits of a regular file shall be

成功完成后将被清除;其他文件类型的设置用户 ID 和设置组 ID 位可能会被清除。

Ubuntuchown手册页建议运行info coreutils 'chown invocation'以获取完整文档chown

13.1 ‘chown’: Change file owner and group
=========================================

‘chown’ changes the user and/or group ownership of each given FILE to
NEW-OWNER or to the user and group of an existing reference file.
Synopsis:

....

   The ‘chown’ command sometimes clears the set-user-ID or set-group-ID
permission bits.  This behavior depends on the policy and functionality
of the underlying ‘chown’ system call, which may make system-dependent
file mode modifications outside the control of the ‘chown’ command.  For
example, the ‘chown’ command might not affect those bits when invoked by
a user with appropriate privileges, or when the bits signify some
function other than executable permission (e.g., mandatory locking).
When in doubt, check the underlying system behavior.

相关内容