su:无法打开会话:权限被拒绝

su:无法打开会话:权限被拒绝

我尝试在控制台上通过 ssh 以 root 身份登录时遇到“访问被拒绝”的情况(是的,我知道应该禁用 root ssh 访问 - 我刚刚继承了这个框)。我可以以对“ALL”具有 sudo 访问权限的非 root 用户身份登录,但是当我sudo su -得到:

su: cannot open session: Permission denied

如果我使用我认为正确的密码运行“su”,则会收到“身份验证失败”。

环顾互联网,我可以看到很多人们无法“苏-非root用户“但是在那里有效的补救措施似乎都不适用于这里。/etc、/etc/pam.d 的权限是 0755,而 /etc/pam.d/* 的权限都是 0644,除了更宽松的符号链接之外。Root 的/etc/passwd 中的 shell 是 /bin/bash (适用于我的非 root 用户)没有 /etc/nologin。

这是一台相当老旧的 Centos 主机。

除非迫不得已,否则我不想让盒子离线来修复它。还有什么可能阻止 root 登录 / su / sudo su ?

更新 主机并没有我想象的那么老——它是 Centos 7.4

我可以通过运行获得root权限

sudo -u root /bin/bash

(但更传统的方法仍然失败并出现相同的错误)。

尝试运行“su”时,会出现以下日志条目(但 su 将错误报告到 stdout 并退出)

 May 17 15:25:06 myhost su: pam_limits(su:session): Could not set limit for 'nofile': Operation not permitted
 May 17 15:25:06 myhost su: pam_unix(su:session): session opened for user root by symcbean(uid=0)

答案1

虽然 @doneal24 非常正确地指出,首先要查看的地方是在日志中,但由于此框是在本地记录的,因此如果没有 root 权限,我就无法做到这一点! :(

但是当我确定我仍然可以使用 root 权限时,sudo -u root /bin/bash我能够看到日志....google 错误消息,发现 /etc/security/limits.conf 存在问题。

删除对“root”的引用恢复了访问权限。

相关内容