2016년 7월 11일 월요일

useradd와 adduser의 차이

http://kit2013.tistory.com/187


OS - Ubuntu 14

useradd는 사용자 홈디렉토리를 자동으로 생성안함 + 기타 등등

adduser는 홈디렉토리를 자동으로 생성함 + 기타 등등


우선 test1 계정을 생성해주고 패스워드도 설정했다.

sudo useradd test1 / sudo passwd test1

현재 접속된 계정을 로그아웃하고
test1로 로그인했더니 한 번 화면이 깜빡하더니 다시 로그인창이다.
무한 반복이다.

그래서 계정이 Unlock되었나 확인해봐도 문제가 없었다.

혹시나 해서 터미널에서 로그인해보니까

su - test1

????
뭐개소린가 싶어서 /etc/passwd를 확인해보고

/home/test1이 진짜 있는지 확인해보니 없다


문제는 useradd 명령에 있었다.

man useradd

a low level utility
정리하자면 useradd는 계정을 생성할 때 필요한 모든 설정들을 명시해줘야 하는 것 같다.

게다가 useradd -d /home/test1 test1
이런식으로 홈디렉토리를 설정해줘도 디렉토리는 생성되지 않는다.
(-d 옵션 없이 해도 /etc/passwd에 홈디렉토리가 설정되는걸봐도 알 수 있다)

man adduser

configuration information in /etc/adduser.conf.
adduser는 명령어에 정의된 옵션 외에도 /etc/adduser.conf라는 정보에 의해 계정을 추가한다.

/etc/adduser.conf에 뭐가 있는진 몰라도
위 설명에서 추측컨대

기본적으로
UID와 GID를 골라준다.
홈디렉토리를 생성해준다.
커스텀 스크립트를 실행해준다.
등등

이라는 내용을 가지는 것 같다.


눈에 보이는 차이점은

useradd는 홈디렉토리를 자동으로 생성 한다.

adduser는 홈디렉토리를 자동으로 생성한다.

종합적인 결론은
좋고 나쁨을 떠나서 조금 더 관리자에게 친절(?)하냐 안하냐의 차이인 것같다.

하나하나 자기가 손으로 모든 설정(홈디렉토리 생성 등)을 통해 계정을 추가 해주고 싶으면
useradd

그냥 /etc/adduser.conf에 있는 기본적인 정보(그냥 기본값)로 계정을 추가 해주고 싶으면
adduser

※ 물론 adduser 또한 직접 옵션 등을 통해 계정을 추가할 수 있다.

※ 다음은 /etc/adduser.conf 파일 스펙이다.

수정해볼까하고 봤더니

[읽기 전용]이다.




useradd 실행

adduser 실행

댓글 없음:

댓글 쓰기