生产环境配置:
操作系统: 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
通过以上操作解决问题。