userdel:无法打开密码文件

本文介绍了一种常见问题——使用userdel命令时遇到“无法打开密码文件”的错误,并提供了详细的解决方案,包括检查和修复/etc/passwd等关键文件的隐藏属性。

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


出现的问题:

需要保证系统的安全,我们删除一些对系统派不上用场的用户是很正常的事情,但是有没有遇到过如下的情况?系统用户没有办法删除,返回的错误提示是:“userdel:无法打开密码文件”,我们用 ls 命令查看密码文件的权限时,root 用户对该文件的权限是可以修改的。

[root@node2 etc]# userdel -r zdk
userdel:无法打开密码文件
[root@node2 etc]# ls -l /etc/passwd
-rw-r--r-- 1 root root 1733 02-14 09:23 /etc/passwd
[root@node2 etc]#

问题分析:

如果出现了这样的问题我们就要了解 lsattr 和 chattr 命令(具体使用的方法可以通过 man 来查看)。这两个命令是做什么用的?为什么我们会用到这个命令?chattr 命令用来设置或者是取消文件的隐藏属性,lsattr 命令用来查看文件是否设置了隐藏属性。所以,我们需要使用 lsattr 命令来查看 /etc/passwd 文件是否设置了这样的权限,如果显示的结果为 "----i-------- /etc/passwd" 则证明该文件被设置了隐藏属性。

[root@node2 ~]# lsattr /etc/passwd
----i-------- /etc/passwd

解决的方法:


(1) 取消 /etc/passwd 的隐藏属性

chattr -i /etc/passwd
chattr -i /etc/shadow
chattr -i /etc/group
chattr -i /etc/gshadow

(2) 删除已经废除的用户

[root@node2 etc]# userdel -r zdk

(3) 重新添加  /etc/passwd 的隐藏属性

chattr +i /etc/passwd
chattr +i /etc/shadow
chattr +i /etc/group
chattr +i /etc/gshadow

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值