useradd 无法打开密码文件

本文详细介绍了如何解决Linux系统中passwd文件因不可修改属性导致无法添加用户的常见问题。通过使用lsattr查看文件属性并利用chattr命令移除文件的'i'属性,从而能够正常进行用户添加操作。尽管此属性可能出于系统安全考虑而被设置,但在完成用户添加后建议重新设置以维持安全性。

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

    老问题了,以前在某论坛写过帖子,但是找不到了,现在记在这。。。。

    造成这个现象的原因是/etc/passwd文件的ext2文件属性被修改(但即便是在ext3系统中,这个属性也有效果。目前还没在ext4文件系统中测试)。使用lsattr可以查看该文件的属性:

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

    该文件被设置了"i"属性,该属性指定当前文件不可被修改,在手册中对此属性的描述为(man chattr):

       A file with the ‘i’ attribute cannot be modified: it cannot be deleted or renamed, no link can be created  to  this  file
       and  no  data  can be written to the file.  Only the superuser or a process possessing the CAP_LINUX_IMMUTABLE capability
       can set or clear this attribute.

    使用chattr去掉相关文件的"i"属性(我的系统中,/etc/shadow也被设置了"i"属性):

[root@RHEL ~]# chattr -i /etc/passwd
[root@RHEL ~]# chattr -i /etc/shadow

    这样,就可以添加用户了。另外,虽然不知道是谁,或者哪个程序设置了"i"属性,但是此属性对系统安全还是有一定用途的,建议添加用户后将文件的"i"属性再设置上。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值