生產環境配置:
操作系統: 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
通過以上操作解決問題。