CentOS7修改配置文件后导致报错“ sudo:PAM account management error:Permission denied ”,su root 报错:“su:Permission”

起因

在做服务器基线检查的时候,更改配置文件 etc/pam.d/system-auth 不小心,字段写错了(就是下面这个东西!)。
在这里插入图片描述保存之后悲催的发现:
使用sudo权限报错:“sudo:PAM account management error:Permission denied ”

网上查找了一些资料,说是pam.d下的文件错误更改导致的,查找了一下我的更改记录发现是system-auth文件内的字段错了。

找网管大哥拿了 root 的用户密码,打算切 root 用户将文件更正回来,结果!
sudo 命令报错:“ sudo:PAM account management error:Permission denied ”
su root 报错 “su:Permission denied

这又是啥情况?去机房接显示屏改。
结果机房登录也是:Permission denied

解决

最后,在网管大哥的帮助下,蹲在机房,进入单用户模式把配置文件改了回来。

进入单用户模式步骤:
1、重启服务器,在这个界面下,输入e
在这里插入图片描述
2、进入下方的界面,按方向键向下找到 ro,将 ro修改为 rw init=/sysroot/bin/sh
在这里插入图片描述在这里插入图片描述
3、修改完后,按 Ctrl+x 进入单用户模式

4、输入chroot /sysroot 切换系统,现在可以看到是我们系统的目录文件了。现在就可以修改有问题的配置文件了…
在这里插入图片描述

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
这个错误通常发生在尝试在基于RPM包管理系统的CentOS系统上使用apt-get命令时,因为`apt-get`是Debian系列系统的包管理工具,而CentOS使用的是`yum`或`dnf`。如果你看到这个错误,可以按照以下步骤解决: 1. **确认系统包管理器**: 首先,检查你的系统当前使用的包管理器。在终端输入: ``` rpm -q yum ``` 或者 ``` dnf help ``` 如果返回`yum`或`dnf`,说明你已经在使用它们。 2. **更换命令**: 如果你想使用`apt-get`,需要安装`apt`软件源。但这不是官方推荐的做法,因为CentOS不适合apt-get。但如果你想临时体验,你可以尝试安装`apt`: ```bash sudo yum install -y epel-release # 安装额外的软件源 sudo yum install -y python-setuptools sudo easy_install pip sudo pip install virtualenv virtualenv /opt/apt || sudo virtualenv /opt/apt source /opt/apt/bin/activate ``` 3. **使用系统默认的包管理器**: 保持系统原样,直接使用`yum`或`dnf`来管理包,例如安装软件: ```bash sudo yum install <package-name> ``` 或 ```bash sudo dnf install <package-name> ``` 4. **修复PATH环境变量**: 如果你确实需要在CentOS上使用apt-get,但不想完全安装它,你可以在当前shell会话下添加apt-get的路径到PATH环境变量,但是这不是长久之计: ```bash export PATH=$PATH:/usr/lib64/python3/dist-packages/dpkg/ ``` 退出并重新登录或者运行`source ~/.bashrc`让设置生效。 5. **避免此类冲突**: 最好还是专注于适应CentOS的工具,如使用`yum`或`dnf`来进行包管理。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值