Centos7.9桌面版root用户密码正确,却无法登录问题排查

本文描述了在CentOS7.9桌面版中,root用户正确输入密码却无法登录的问题。文章分析了可能的原因,如密码过期、大写字母输入方式、PAM模块限制以及可能存在的桌面版BUG,提供了单用户模式修改密码和调整PAM模块的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Centos7.9桌面版root用户密码正确,却无法登录问题排查

前提:安装centos7.9桌面版,前几天能够正常登录,但今天却无法正常登录,密码是正确的,但是却提示Sorry, that didn’t work.Please try again.

1.问题分析

网上有很多关于Linux桌面版在登录root用户时,输入正确的密码,却无法正常登录。网上提及的原因一般有如下三种:

1.1密码真的忘记了

1.2密码有大写字母

Linux系统切换为大写的按键是Shift+字母按键,不能按Caps Lock按键来固定大写输入。

1.3root用户密码过期

[root@E0-9D-31-A3-0B-10 xcy]# chage -l root
最近一次密码修改时间                                    :11月 17, 2023
密码过期时间                                    :从不
密码失效时间                                    :从不
帐户过期时间                                            :从不
两次改变密码之间相距的最小天数          :0
两次改变密码之间相距的最大天数          :99999
在密码过期之前警告的天数        :7

可以使用chage -l root查看root用户是否设置密码过期时间过小

1.4其他未知原因

2.解决方案

2.1单用户模式登录并修改root用户密码

2.1.1重启机器
2.1.2重启时按e按键
2.1.3在Linux16这一行,把ro修改为rw,在在UTF-8后添加 init=/bin/shUTF-8 后面要加空格再加init=/bin/sh
2.1.4添加完成后按电脑ctrl+x

操作完就到了单用户模式

2.1.5使用passwd root修改root用户密码
sh.4# passwd root
2.1.6输入touch / .aoturelabel重新写入安全上下文
sh.4# touch / .aoturelabel
2.1.7输入exit 退出单例模式,输入 reboot重启

再次登录即可成功

3.排查过程

3.1使用普通用户切换root(失败)

发现无法从普通用户登录,然后再切root。

3.2修改PAM模块(失败)

(ssh登录)
# vim /etc/pam.d/gdm-autologin
注释行 "auth requied pam_succeed_if.so user != root quiet success"
# vim /etc/pam.d/gdm-password
注释行 "auth requied pam_succeed_if.so user != root quiet success"

解释:

auth required pam_succeed_if.so user != root quiet_success 是一个 PAM 模块规则,它的作用是仅当用户不是 root 用户时才允许认证成功,并且在认证成功时不显示任何提示信息。

具体来说,这个规则会检查当前正在进行认证的用户是否为 root 用户。如果不是,那么它将认证继续传递给后面的模块;否则,它将直接认证成功并结束整个认证过程。此外,可以使用 quiet_success 选项来指定在认证成功时不显示任何提示信息。

这个规则通常被用于限制某些操作只能由非特权用户执行。例如,你可以将其添加到 /etc/pam.d/sudo 文件中,以便只有非特权用户才能使用 sudo 命令。

3.3单用户模式修改root密码(成功)

看上面的解决方案2.1

4.问题原因

未知,可能是桌面版的BUG

<think>好的,我现在需要帮助用户CentOS 7.9上安装DPDK。首先,我得回忆一下DPDK的安装步骤和相关依赖。用户可能对系统配置和编译过程太熟悉,所以得详细说明每个步骤,避免他们遇到问题。 首先,DPDK需要一些开发工具和库。我应该先让用户安装这些依赖包。记得CentOS 7的包管理是用yum,所以得列出所有必要的包,比如gcc、kernel-devel、numactl-devel等。这些包可能有些用户没装过,必须确保他们安装了正确的版本。 接下来是下载DPDK的源码。用户可能需要知道从哪里获取,比如官方网站或者git仓库。指定版本可能会更好,比如建议使用稳定版本如20.11.1,避免兼容性问题。解压源码包后进入目录,这一步应该没问题,但最好还是提醒用户注意路径。 然后是配置和编译。这里需要选择正确的目标架构,x86_64-native-linuxapp-gcc是比较常见的,但根据用户的硬件可能同。配置步骤中的选项可能需要调整,比如设置大页内存。用户可能需要知道如何配置大页,比如编辑grub文件或者使用sysctl,但安装后的步骤可能更合适在配置阶段之后处理。 安装完成后,配置大页内存和加载驱动是关键。用户可能需要设置Hugepages,这可以通过修改/etc/default/grub并更新grub,然后重启。过,也可以在运行时配置,比如使用echo命令到/sys/devices/。这部分需要详细说明,因为大页内存对DPDK性能很重要。 然后是加载VFIO或UIO驱动。如果用户使用的是较新的内核,VFIO可能更合适,否则UIO。需要提醒用户检查内核支持,并加载相应的模块,比如igb_uio可能需要编译DPDK提供的工具。 设置环境变量和绑定网卡到驱动也是必要的。用户需要知道如何用dpdk-devbind工具来查看网卡状态,并绑定到合适的驱动。这部分容易出错,要详细说明命令的使用方法,可能需要示例。 最后是验证安装,运行testpmd来确认DPDK是否正确安装。用户可能需要知道如何启动testpmd,并检查是否有错误输出。 整个过程需要注意权限问题,比如使用sudo,以及可能的路径问题,比如将DPDK工具添加到PATH环境变量中。用户可能会遇到依赖缺失、编译错误或者驱动加载失败的情况,需要提前考虑这些情况,并在步骤中给出解决方法,比如重新安装依赖,检查内核版本等。 另外,可能需要提醒用户根据具体需求调整配置,比如同的网卡型号可能需要同的驱动,或者大页内存的大小需要根据应用需求设置。安全方面,使用VFIO可能需要IOMMU的支持,这在BIOS中启用。 总之,步骤需要清晰,分阶段进行,每个步骤都要解释清楚,确保用户能够跟随并解决问题。同时,提供验证步骤,让用户确认安装成功,或者在失败时提供排查方法。</think>在CentOS 7.9上安装DPDK(数据平面开发工具包)需要以下步骤,分阶段操作可降低出错风险: --- ### 一、安装依赖 ```bash sudo yum groupinstall "Development Tools" -y sudo yum install kernel-devel numactl-devel python3 pciutils -y sudo yum install libibverbs-devel elfutils-libelf-devel -y # 网络驱动相关依赖 ``` --- ### 二、下载DPDK源码 ```bash wget https://fast.dpdk.org/rel/dpdk-20.11.1.tar.xz tar xf dpdk-20.11.1.tar.xz cd dpdk-20.11.1 ``` --- ### 三、编译安装 1. **选择目标架构** ```bash export RTE_TARGET=x86_64-native-linuxapp-gcc export RTE_SDK=$(pwd) ``` 2. **配置并编译** ```bash make config T=$RTE_TARGET make -j$(nproc) ``` 3. **安装到系统路径** ```bash sudo make install ``` --- ### 四、配置大页内存 1. **临时配置(重启失效)** ```bash sudo sh -c "echo 1024 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages" ``` 2. **永久配置(需重启)** ```bash sudo sed -i &#39;/GRUB_CMDLINE_LINUX/ s/"$/ default_hugepagesz=2M hugepages=1024"/&#39; /etc/default/grub sudo grub2-mkconfig -o /boot/grub2/grub.cfg sudo reboot ``` --- ### 五、加载驱动 1. **加载VFIO驱动(推荐)** ```bash sudo modprobe vfio-pci ``` 2. **或加载UIO驱动(兼容旧内核)** ```bash sudo modprobe uio sudo insmod ./build/kmod/igb_uio.ko # 需先编译DPDK源码 ``` --- ### 六、绑定网卡到DPDK驱动 1. **查看网卡状态** ```bash sudo ./usertools/dpdk-devbind.py --status ``` 2. **绑定网卡(示例绑定eth1)** ```bash sudo ifconfig eth1 down sudo ./usertools/dpdk-devbind.py --bind=vfio-pci eth1 ``` --- ### 七、验证安装 ```bash sudo ./build/app/testpmd -l 0-1 -- -i ``` - 若输出类似 `Port 0: link up` 且无错误,则安装成功 --- ### 常见问题 1. **编译错误** 检查 `kernel-devel` 版本是否与当前内核一致: ```bash uname -r # 查看内核版本 sudo yum install kernel-devel-$(uname -r) ``` 2. **权限问题** 确保所有命令以 `sudo` 执行,或切换至 `root` 用户 3. **驱动绑定失败** 尝试卸载网卡驱动后重新绑定: ```bash sudo modprobe -r ixgbe # 假设原驱动为ixgbe ``` --- ### 附:环境变量优化 ```bash echo "export RTE_TARGET=$RTE_TARGET" >> ~/.bashrc echo "export RTE_SDK=$RTE_SDK" >> ~/.bashrc source ~/.bashrc ``` 通过以上步骤可完成DPDK的安装与基础配置。实际部署时需根据网卡型号、CPU架构调整编译选项和驱动绑定方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值