生产环境配置:

操作系统: CentOS 6.6

1.产生的问题:

在使用useradd命令添加帐号(的)时候出现“seradd:cannotopen /etc/passwd”

[root@sky9896 ~]#useradd -d /home/wwwroot/ftupuser -g ftp-s/sbin/nologin ftpuser

useradd: cannotopen /etc/passwd

2.产生的原因:

a)添加“i”隐藏属性后,就无法更动这个文件了。

[root@sky9896 ~]#chattr +i /etc/passwd

[root@sky9896 ~]#chattr +i /etc/shadow

[root@sky9896 ~]#chattr +i /etc/group

[root@sky9896 ~]#chattr +i /etc/gshadow

b)上次使用“ssh”远程登录“改东西”改到一半是断电,重启,或者是某些程序也需要存取特定档案的属性。

3. 解决问题:

root@sky9896 ~]#chattr -i /etc/passwd

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

[root@sky9896 ~]#chattr -i /etc/group

[root@sky9896 ~]#chattr -i /etc/gshadow

 通过以上方式,还是没有解决问题。通过“lsattr”命令进一步查看相关属性,发现有一个”chattr  +a”的权限属性没有去掉,所以无权操作。

[root@sky9896 ~]#lsattr  /etc/passwd

-----a-------e-/etc/passwd

[root@sky9896 ~]#lsattr /etc/passwd

-----a-------e-/etc/passwd

[root@sky9896 ~]#lsattr /etc/shadow

-----a-------e-/etc/shadow

[root@sky9896 ~]#lsattr /etc/group

-----a-------e-/etc/group

[root@sky9896 ~]#lsattr /etc/gshadow 

-----a-------e-/etc/gshadow

[root@sky9896 ~]#chattr  -a /etc/passwd

[root@sky9896 ~]#chattr  -a /etc/shadow

[root@sky9896 ~]#chattr  -a /etc/group

[root@sky9896 ~]#chattr  -a /etc/gshadow

[root@sky9896 ~]#lsattr /etc/passwd

-------------e-/etc/passwd

[root@sky9896 ~]#lsattr /etc/shadow

-------------e-/etc/shadow

[root@sky9896 ~]#lsattr /etc/group

-------------e-/etc/group

[root@sky9896 ~]#lsattr /etc/gshadow 

-------------e-/etc/gshadow

[root@sky9896 ~]#useradd -p /home/wwwroot/ftpuser -g ftp-s/sbin/nologin ftpuser

[root@sky9896 ~]#useradd -p /home/wwwroot/ftpuser -g ftp-s/sbin/nologin ftpuser

useradd: user'ftpuser' already exists

    通过以上操作解决问题。