IT/server

unable to lock password file 에러 관련

Ne...Pa~~~~~ 2012. 2. 21. 09:57

흠 리눅스 서버 사용자 계정 자동 생성 툴을 만드려고 하다가 
이것저것 걸리는게 너무~많았다. /etc/passwd, ./etc/shadow 등 요런 중요한 파일들은
서버에서도 자동으로 보안(?)처럼 함부로 수정 못되게 해놓아서 시간이 좀 걸렸다 

unable to lock password file 과 같은 에러가 발생하는것은 
일단 해당 말귀~의 뜻을 보면! 
파일에 lock이 걸려 있는 경우 입니다.
그러므로~! 일단 롹!을 풀어주자 
lsattr /etc/passwd를 실행할경우 

# lsattr /etc/passwd 
----i-------- /etc/passwd 

중간에 "i"가 나타나면 lock이 걸린것입니다. 평소에 이상이 없다가 
갑자기 문제가 발생한다면 해킹을 의심하셔야 합니다.

lock을 해제하시려면 

chattr -i /etc/passwd 

위 명령을 실행하시면 됩니다. 
참고로 아래 명령도 실행해 보도록 합니다. 

lsattr /etc/shadow 
lsattr /etc/group
-----------------------------------------------------------------------------------------------

스크립트 내용 

system ("/usr/bin/sudo -u bob /usr/sbin/adduser $userid -c '$f_name $l_name' -p $password");

추가로 해당 명령어를 웹에서 실행 시키는 문제를 발견하여

특정 계정이나 웹 아파치에서 실행하는 경우에는  sudo의 권한을 줘야한다

[sudo] password for www-data

 /etc/sudoers  요 파일을 수정 

1안
root    ALL=(ALL) ALL
www-data ALL=(john) NOPASSWD: ALL

2인
root ALL = (ALL) ALL
apache ALL = (ALL) NOPASSWD: /usr/sbin/adduser 


i tried adduser and /usr/sbin/adduser


server-name:/# su - www-data
www-data@server-name:~$ sudo whoami

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

Password: (no password entered; blank)
www-data@server-name:~$



이게 아니라면 

/bin/bash 의 퍼미션 문제