adduser와 useradd의 차이점은 무엇입니까?


답변:


387

useradd시스템으로 컴파일 된 기본 바이너리입니다. 그러나 백엔드에서 바이너리 adduser를 사용하는 펄 스크립트입니다 useradd.

adduser백엔드보다 사용자 친화적이고 대화식 useradd입니다. 제공되는 기능에는 차이가 없습니다.

출처 : “adduser”와“useradd”의 차이점은 무엇입니까?


59
add useradd 명령은 '/ home / username'디렉토리를 만들지 않지만 adduser 명령은
16:30에

65
-m옵션 과 함께 useradd 는 홈 디렉토리를 만듭니다.
richsinn

10
의미는 그렇게 재미 있지 않습니다. Like adduser(8)는보다 사용자에게 친숙하며 기본적으로 사용자가 예상 한대로 작성하고 설정합니다. 그리고 useradd(8)요청한 내용 만 수행하므로 홈 디렉토리를 작성하려면 디렉토리를 작성하도록 지시해야합니다.
Anders

23
매번 구글에 접속해야하는데 ... 어느 것을 기억하는지 어떻게 도와 줄 수 있나요?
Quentin Skousen

11
@ kkhugs 나에게 "adduser"는 영어처럼 들리는 명령이기 때문에 가장 직관적으로 느껴지지만 다른 것은 의미 론적으로 그렇지 않습니다. 두 가지 중 "가장 직관적 인"것으로 기억한다면 선호하거나 더 쉬운 것으로 기억할 수 있습니다.
pzkpfw

146

adduserdeluser명령 줄에서 새 사용자를 만들 때는 항상 (및 사용자를 삭제할 때) 사용 하십시오. (특히 이식성을 목표로 스크립트를 작성하는 경우 하위 수준 유틸리티를 대신 사용하고 싶을 수 있습니다. adduser/ / deluser모든 배포판 (예 : SuSE)에서 사용하지 못할 수 있습니다.)

useradd, userdelusermod명령, 동안 역사적 이유가있다 저수준 유틸리티입니다 adduser/deluser수행 똑바로 살아라 ™. ( 알파벳 user*뒤에 나오는 생각으로 어떤 것을 사용해야하는지 기억하기 adduser/deluser때문에 "나쁘다".

각각의 맨 페이지 (Ubuntu 12.04 Precise Pangolin, 즉 데비안 파생 시스템)에 따르면.

에 대한 맨 페이지 adduser:

(공포도 추가됨)

adduseraddgroup명령 줄 옵션 및 구성 정보에 따라 시스템에 사용자 및 그룹을 추가합니다 /etc/adduser.conf. 그들은 우호적 프론트 로우 레벨 같은 도구에 종료됩니다 useradd, groupaddusermod프로그램 , 골격 구성의 홈 디렉토리를 생성하는 사용자 정의 스크립트를 실행 및 기타 기능, 데비안 정책 준수 UID 및 GID 값을 선택 기본적으로. adduser다음 addgroup다섯 가지 모드 중 하나로 실행할 수 있습니다.

에 대한 맨 페이지 useradd:

useradd사용자를 추가하기위한 저수준 유틸리티입니다. 데비안에서는 일반적으로 관리자가 adduser(8)대신 사용해야 합니다.

참조 : "adduser 명령"과의 "useradd"의 차이는 무엇인가요? (수퍼 유저)


6
나는 어느 것을 기억할 수 없다. 그래서 누군가에게 도움이된다면 이것은 바보 같은 니모닉이다. 따라서 : adduser, deluser.
Mads Skjern

26
실제로 " 항상 사용자 " 에 동의하지 않습니다 . 자동화 된 스크립트 의 경우 항상 대화식이며 대화식이 아니며 배포 용이 아니기 때문에 선호합니다 . adduseruseradd
Wernight

2
나는 adduseropenSUSE를 시도했지만 거기에 없습니다. (13.2)
cst1992

1
@ cst1992 당신이 옳습니다. 이것을 반영하기 위해 답을 편집했습니다. 흥미롭게도 locate adduser직장에서 SuSE 11 시스템을 사용해 보았을 때 adduser맨 페이지가 있지만 바이너리는 deluser없고 맨 페이지 나 명령도 없다는 것을 알았습니다 .
zrajm 2016 년

2
Red Hat에서/usr/sbin/adduser -> useradd
Levon

17

adduser: 전체 프로필 및 정보 (통과, 할당량, 권한 등)를 가진 사용자 추가

useradd: 이름 만 가진 사용자 추가 (이름 만 가진 임시 사용자를 추가하려는 경우 다른 정보는 필요하지 않음)


1
+1하고 환영합니다! 나는 이전의 다운 투표를 설명 할 수없는 사람에게 투표했습니다. 유지하십시오! 좋은 프로그래머는 항상 정상에 오른다 (설명없이 투표하지 말라). :)
Ricalsin

11

useradd가 선호되는 특정 시나리오로 이어지는 또 다른 차이점.

  1. Ubuntu 14.4를 포함한 일부 최신 배포판에서 adduser는 암호 및 "gecos"(손가락 명령 데이터)와 같은 정보를 묻습니다. 이는 스크립트에서 호출하기에 적합하지 않을 수 있음을 의미합니다 (신용 : Wernight의 의견에서 이미 언급 함).

    널 인수를 전달하여 프롬프트를 표시하지 않을 수 있습니다.

    adduser --disabled-password --gecos "" USER
    
  2. useradd옵션을 통해 여러 추가 그룹을 전달하여 사용자를 추가 할 수 -G있습니다. adduser각 그룹을 추가하려면 명령을 한 번 호출해야합니다.


우분투 16.04에서는 작동하지 않습니다.
answerSeeker

8

adduser계정의 홈 폴더 및 기타 설정 (예 : 로그인시 시스템 통계 및 알림 자동로드)을 설정한다는 점에서 더 친숙하지만 useradd사용자 만 만들면됩니다.


2
잘못된. useradd는 -m을 사용하여 홈 디렉토리를 작성하고 -p를 사용하여 비밀번호를 설정하고 -k를 사용하여 스켈레톤 파일을 작성하고 -G를 사용하여 그룹에 사용자를 추가 할 수 있습니다.
ychaouche

5

기본적인 차이점은 "adduser"는 홈 디렉토리를 생성하고 "useradd"가 홈 디렉토리 및 골격 파일을 생성하지 않는 해당 디렉토리에 스켈레톤 파일을 추가한다는 것입니다!

adduser try :

Adding user `try' ...
Adding new group `try' (1001) ...
Adding new user `try' (1001) with group `try' ...
Creating home directory `/home/try' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for try
Enter the new value, or press ENTER for the default
        Full Name []:
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:
Is the information correct? [Y/n] y

useradd try1 :

# ll /home/
total 20
drwxr-xr-x  5 root    root    4096 Oct 26 15:52 ./
drwxr-xr-x 22 root    root    4096 Oct 26 15:47 ../
drwx------  8 ashishk ashishk 4096 Oct 26 15:50 ashishk/
drwxr-xr-x  3 root    root    4096 Oct 14 13:02 .ecryptfs/
drwxr-xr-x  2 try     try     4096 Oct 26 15:52 try/
root@chef-workstation:/home/ashishk#

잘못된. 이전 의견
ychaouche

0

또한 adduser항상 -M옵션 이있는 것은 아니며 구체적으로 말하는--system 플래그를 존중하지 않는다는 것을 지적합니다 .

useradd는 /etc/login.defs(CREATE_HOME)의 기본 설정에 관계없이 해당 사용자의 홈 디렉토리를 만들지 않습니다. 시스템 계정의 홈 디렉토리를 만들려면 -m 옵션을 지정해야합니다.

홈 디렉토리 없이 시스템 사용자를 작성하려면를 사용하십시오 useradd --system -M.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.