linux 普通用户登陆系统su - root的时候报错su: Authentication failure

今天登陆服务器的时候,需要提权做一些操作,普通用户su - root的时候提示密码错误

[xtwh@jmw8a2003 ~]$ su
Password:
su: Authentication failure

密码确认无误之后

通过sudo -i提权,查看登陆日志

cat /var/log/secure

Jul 29 16:13:53 jmw8a2003 sshd[890450]: Accepted password for xtwh from 172.30.208.229 port 44776 ssh2
Jul 29 16:13:53 jmw8a2003 sshd[890450]: pam_unix(sshd:session): session opened for user xtwh by (uid=0)
Jul 29 16:13:54 jmw8a2003 unix_chkpwd[890544]: check pass; user unknown
Jul 29 16:13:54 jmw8a2003 unix_chkpwd[890556]: check pass; user unknown
Jul 29 16:13:54 jmw8a2003 unix_chkpwd[890556]: password check failed for user (root)
Jul 29 16:13:54 jmw8a2003 su: pam_unix(su:auth): authentication failure; logname=xtwh uid=501 euid=501 tty=pts/2 ruser=xtwh rhost=  user=root
Jul 29 16:13:54 jmw8a2003 su: pam_succeed_if(su:auth): requirement "uid >= 1000" not met by user "root"
Jul 29 16:14:36 jmw8a2003 unix_chkpwd[890914]: check pass; user unknown
Jul 29 16:14:36 jmw8a2003 unix_chkpwd[890915]: check pass; user unknown
Jul 29 16:14:36 jmw8a2003 unix_chkpwd[890915]: password check failed for user (root)
Jul 29 16:14:36 jmw8a2003 su: pam_unix(su:auth): authentication failure; logname=xtwh uid=501 euid=501 tty=pts/2 ruser=xtwh rhost=  user=root
Jul 29 16:14:36 jmw8a2003 su: pam_succeed_if(su:auth): requirement "uid >= 1000" not met by user "root"

根据网上一些相关的论坛,查询说是/etc/pam.d/login文件里面有可能有一句限制用户uid的规则,PAM 相关模块策略配置,禁止了 UID 小于 1000 的用户进行登录

论坛上的处理办法


要解决此问题,请进行如下配置检查:

  1. 通过 SSH 客户端或 管理终端 登录服务器。

  2. 通过 cat 等指令查看异常登录模式,对应的 PAM 配置文件。说明如下:

    文件功能说明
    /etc/pam.d/login控制台(管理终端)对应配置文件
    /etc/pam.d/sshd登录对应配置文件
    /etc/pam.d/system-auth系统全局配置文件

    注:每个启用了 PAM 的应用程序,在 /etc/pam.d 目录中都有对应的同名配置文件。例如,login 命令的配置文件是 /etc/pam.d/login,可以在相应配置文件中配置具体的策略。
     

  3. 检查前述配置文件中,是否有类似如下配置信息:

  4. auth        required      pam_succeed_if.so uid >= 1000

     

    如果需要修改相关策略配置,在继续之前建议进行文件备份。

     

  5. 使用 vi 等编辑器,修改相应配置文件中的上述配置,或者整个删除或注释(在最开头添加 # 号)整行配置,比如:

  6. auth        required      pam_succeed_if.so uid <= 1000      # 修改策略 # auth        required      pam_succeed_if.so uid >= 1000   #取消相关配置

    尝试重新登录服务器
  7.  

我查看自己系统的相关配置,并没有这项限制,所以原因不在这里,然后又根据su: pam_unix(su:auth): authentication failure; logname=xtwh uid=501 euid=501 tty=pts/2 ruser=xtwh rhost= user=root这句报错,uid是501 ,是我普通用户的的uid,但是euid也是501,uid==euid 明显不对啊

su命令的原理是先有root权限才能读/etc/shadow,才能切换到其它用户

查看/usr/bin命令的权限

[root@jmw8a2003 log]# ll /bin/su
-rwxrwxr-x. 1 root root 32096 Jun  1  2017 /bin/su

没有suid的权限,增加权限就好了

[root@jmw8a2003 log]# chmod u+s /bin/su
[root@jmw8a2003 log]# ll /bin/su
-rwsrwxr-x. 1 root root 32096 Jun  1  2017 /bin/su

 

不懂euid的可能参考:

http://www.cnblogs.com/kunhu/p/3699883.html

http://unix.stackexchange.com/questions/116529/i-cant-login-as-root-with-su-command-but-i-can-with-ssh

 

同理:

root@blog-mreald-com:~# ll /usr/bin/passwd 
-rwsr-xr-x 1 root root 47032  2月 17  2014 /usr/bin/passwd*

 

转载于:https://www.cnblogs.com/augusite/p/11268157.html

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值