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

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

密码确认无误之后

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

cat /var/log/secureJul 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   #取消相关配置

    尝试重新登录服务器。

我查看自己系统的相关配置,并没有这项限制,所以原因不在这里,然后又根据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

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

  1. Centos系统创建用户oracle后,用该用户登陆系统,页面加载报错GConf error

    Linux 的 GConf error 解决办法 问题: Centos系统创建用户oracle后,用该用户登陆系统,页面加载报错,导致重新进入Centos系统后出现: GConf error:Fail ...

  2. linux su 不能输密码错误,su - root正确输入密码但是登录不了系统,报错su: Permission denied...

    su - root输入了正确的密码但是一直报错,密码肯定是输入对的.这主要是因为权限的问题导致的. Linux里面有一个文件,/etc/pam.d/su文件. [[email protected] ~ ...

  3. linux 修改用户登陆shell字体颜色和vim颜色字体设置

    参考链接:https://blog.csdn.net/bt517840374/article/details/80004161 一.关于shell颜色设置 (当然也可以通过shell窗口的设置来设置字 ...

  4. 提权学习:Linux普通用户提权为root

    当你的才华 还撑不起你的野心时 那你就应该静下心来学习 目录 Linux普通用户提权为root 接下来直接看实例 Linux普通用户提权为root 我记得我以前用Linux的时候,忘记root密码是常 ...

  5. 电脑运行linux虚拟盘闪退,Linux 系统下启动Android模拟器报错闪退

    Linux 系统下启动Android模拟器报错 Emulator: libGL error: unable to load driver: radeonsi_dri.so Emulator: libG ...

  6. linux系统读取excel文件是否存在,小弟我用poi读excel,在window下没有有关问题,但把程序放到linux上时,读取客户端的excel文件报错,不...

    我用poi读excel,在window下没有问题,但把程序放到linux上时,读取客户端的excel文件报错,不知道如何解决 我用poi读excel,在window下没有问题,但把程序放到linux上 ...

  7. Postman请求linux服务器报错:503Forwarding failure,由于服务器端口未开放;服务器端口开放与关闭

    Postman请求linux服务器报错:503Forwarding failure,由于服务器端口未开放:服务器端口开放与关闭 文章目录: 1 问题分析 2 在Centos上开启和关闭端口 2.1 C ...

  8. 关于 国产麒麟系统编译Qt项目是报错:error: cannot find -lGL 的解决方法

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/123784051 红胖子(红模仿)的博文大全:开发技术集 ...

  9. Linux环境搭建 - update https://apt.repos.intel.com 报错

    Linux环境搭建 - update https://apt.repos.intel.com 报错 问题说明 解决方案 问题说明 执行 sudo apt-get update 之后, 出现 https ...

最新文章

  1. Kupu,“document-centric”的开放源码的客户端文本编辑器
  2. 聊天秒回的人都是生命之光 诉言网
  3. Intel Realsense D435 pyrealsense2 get_option_range() 获取rs.option中参数值取值范围 获取默认值
  4. 解决Windows环境下Git Bash 不能输入中文的问题
  5. android自动化框架简要剖析(一):运行原理+基本框架
  6. linux更新命令yum,Linux中升级更新命令yum upgrade和yum update的区别
  7. dj鲜生-06-其它模块以应用方式生成并归位
  8. 三层交换机和链路聚合
  9. 房贷利率有没有套路?用Python版解读!
  10. mysql PTA题解查询平均成绩最高的前三名同学
  11. python调用usb设备_用Python与USB设备通信
  12. 腾讯通 admin.php,配置RTX腾讯通升级使用SQL Server数据库
  13. Ubuntu 20.04 美化macos
  14. 使用python开发saas应用_SaaS应用对接
  15. 关于Wechat 的充值
  16. 在VisualC++中使用MapX
  17. 西门子828D 840Dsl数控程序PLC西门子数控程序中文注释
  18. 【Kaggle比赛常用trick】K折交叉验证、TTA
  19. 咕咕数据美股实时行情数据
  20. ThinkPad 使用两种BIOS升级文件进行BIOS升级的具体步骤。

热门文章

  1. mybatis-查询过程
  2. 通过自定义资源扩展Kubernetes
  3. GIT 团队协作快速入门使用
  4. 前端小课堂 js:what is the function?
  5. 排序---对二维数组的排序
  6. python自己制作节奏大师游戏_使用pygame制作一个简单的游戏
  7. eclipse远程连接hadoop_1个文件,3个类,mapreduce就是这么简单,动手搭建Hadoop(8)...
  8. write up社工进阶
  9. Video Game Troubles(有依赖的背包)
  10. 1693: 选数(DFS)