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


61

궁금한 점 : Debian Linux에서 이름과 기능이 매우 비슷한이 두 명령이 왜 필요한가요? 이것은 항상 혼란 스러웠습니다.

  • 그들 중 다른 것이 우월합니까?
  • 왜 하나로 통합되지 않습니까?
  • 그들 사이에 중요한 차이점이 있습니까?
  • 어느 것을 사용해야합니까? 아니면 유스 케이스에 의존합니까?

1
그주의 useradd모든 유닉스 플랫폼에서 사용할 수 있습니다; adduser데비안과 그 파생물 전용입니다.
Franklin Yu

답변:


68

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

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


1
adduser는 모든 배포판 (예 : 수세 기반)에서 사용할 수 없으며 일부는 useradd (redhat 기반)에 대한 심볼릭 링크 일뿐입니다.
ychaouche

11

하는 가장 큰 장점 ADDUSER 이상 은 useradd는 시스템 레벨의 사용자에 대해 다루고 있습니다. 로 adduser를 만든 시스템 사용자에 대한 가정에서 사용자 디렉토리를두고 때 시스템 레벨의 사용자 계정 은 useradd가 자동으로하지 않습니다. 사용자를 읽는 경우 시스템 레벨 사용자를 제외하고 본질적으로 동일하며 연관된 홈 디렉토리는 자동입니다. adduser-m 옵션으로 지정된 경우를 제외하고 useradd에 프로비저닝이없는 시스템 레벨 사용자를 위해 자동으로 / home / user 디렉토리를 작성합니다 . 내가 읽은 다른 독서는 일반적으로 UID와 GUID가 adduser 에서 승인 된 컨 포멀 데비안 표준에 의해 할당된다는 것을 일반적으로 언급했습니다..


1
adduser에는 --no-create-home 옵션이 있습니다.
ychaouche

1

내가 확인한 몇 가지 Redhat 인스턴스 (2011 년 4.9, 2017 년 6.9)에서 adduser는 Perl 스크립트가 아니라 useradd의 별칭입니다. 다음은 Redhat 6.9에 있습니다.

$ ls -la /usr/sbin/useradd /usr/sbin/adduser
lrwxrwxrwx. 1 root root      7 Nov  2  2016 /usr/sbin/adduser -> useradd
-rwxr-x---. 1 root root 111320 Feb  9  2016 /usr/sbin/useradd

useradd가 '올바른'프로그램이라는 것을 기억하는 방법은 다음과 같습니다. 사용자를 추가하는 것은 CRUD 스펙트럼에서 하나의 작업입니다. 또한 'modify'및 'delete'작업이 필요합니다 ( 'read'는 / etc / passwd를 볼 수 있음). 따라서 프로그램 이름은 user * (각각 useradd, usermod 및 userdel)입니다. 대체 사용자 이름 지정 규칙 (adduser, moduser 및 deluser-존재하지 않음)도 작동 한다고 가정합니다 . 그러나 조금 더 어색 할 것입니다 (현재 명확하게 표현할 수없는 이유 :)


moduser데비안에서는 찾을 수 없지만 deluser확실히 있습니다.
ychaouche

0

raspian 내에서 (다른 OS를 확인해야 함) 'adduser USER'는 대화 상자 (TUI)를 시작하지만 'useradd USER'는 그렇지 않습니다.

분명히 adduser를 사용하면 대화 상자가 나타나면 전체 'useradd'명령이 이미 실행 된 것입니다. CTRL-C를 사용하더라도 사용자가 있습니다.

새 시스템에서와 같이 "개인"그룹을 작성하여 새로 작성된 사용자를 제거하려면 다음을 수행해야합니다.

  • vi / etc / passwd
  • vi / etc / group
  • rm -rf / home / USER

adduser는 useradd를 "사용"하므로 나머지는 사용자에 대한 메타 데이터라고 가정합니다. 따라서 기술적으로 "스켈", "파일 마스크"등의 변경 사항, 즉 시스템 기본값이 없습니다.

반면에 useradd는 TUI를 가져 오지 않기 때문에 스크립팅에 더 유용 할 수 있습니다.

솔직히 말해서 나는 rasbian에서만 테스트했습니다.

다른 OS가 다른 버전의 adduser를 구현할 수 있다고 상상할 수 있습니다.

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