我无法从普通用户 su 进入我的 root 帐户

我无法从普通用户 su 进入我的 root 帐户

我无法将普通用户切换到 root 用户,并且出现以下错误:

    [user2@server1 ~]$ su -
Password: 
su: Authentication failure

我确实知道密码是正确的。

另外我的 su 文件的权限对于 su 是正确的

[user2@server1 ~]$ ll /bin/su -rwsr-xr-x. 1 root root 32032 Mar 28 2014 /bin/su

每次我尝试登录并被拒绝时,我都会在 /var/log/secure 文件中看到以下消息

    'Nov  2 14:17:54 server1 su: pam_unix(su-l:auth): authentication failure; logname=user2 uid=1000 euid=0 tty=tty1 ruser=user2 rhost=  user=root
Nov  2 14:17:54 server1 su: pam_succeed_if(su-l:auth): requirement "uid >= 1000" not met by user "root'

现在我不太明白这些消息。我觉得它指向的是 UID 为 1000 的用户名。我想我错误地删除了我的用户名“用户 1”,它被附加到 UID 1000。现在系统甚至不允许我添加用户 ID 用户 1,说它已经存在,甚至不允许我删除它!

    [root@server1 ~]# useradd user1
useradd: user 'user1' already exists 
[root@server1 ~]# userdel -r user1
userdel: user user1 is currently used by process 3300 
user2     3300  3288  0 14:27 ?        00:00:00 sshd: user2@pts/1

需要帮忙!

添加用户 3 并尝试 su -

[user3@server1 ~]$ su -
Password: 
su: Authentication failure
[user3@server1 ~]$ id
uid=1001(user3) gid=1001(user3) groups=1001(user3) context=staff_u:staff_r:staff_t:s0

添加了 user2,系统自动为其分配了 UID 1000,但它也不起作用

[user2@server1 ~]$ su -
Password: 
su: Authentication failure

这很奇怪

[user2@server1 ~]$ id user1
uid=1000(user2) gid=1000(user2) groups=1000(user2)
[user2@server1 ~]$ id user2
uid=1000(user2) gid=1000(user2) groups=1000(user2)

以下是我的 su 文件的样子

[root@server1 ~]# cat /etc/pam.d/su
#%PAM-1.0
auth        sufficient  pam_rootok.so
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth       sufficient  pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
#auth       required    pam_wheel.so use_uid
auth        substack    system-auth
auth        include     postlogin
account     sufficient  pam_succeed_if.so uid = 0 use_uid quiet
account     include     system-auth
password    include     system-auth
session     include     system-auth
session     include     postlogin
session     optional    pam_xauth.so

我也尝试删除“so uid = 0”,但结果相同

答案1

在您的pam.d配置 ( /etc/pam.d/) 中,您可能在某处执行 UID 检查,或者已自动添加。当执行此操作的用户su -ID 超过 1000 时会发生问题,这在您的例子中是真的;然后 pam.d 将拒绝您的su -尝试。

查看上述目录并找到包含如下内容的文件:

auth        requisite     pam_succeed_if.so uid >= 1000 quiet_success

(可能会有所不同,重要的是uid >= 1000)。

如果找到,只需删除检查部分。因此,如果您找到类似上面的行,请将其更改为:

auth        requisite     pam_succeed_if.so quiet_success

无需重新启动任何东西,su -命令完成后即可立即生效。

相关内容