adduser는 useradd가 무엇을하지 않습니까?


71

보다 널리 퍼진 useradd데비안 기반 시스템에는 adduser사용자 및 일부 관련 작업을 추가 할 수있는 고급 인터페이스를 제공 하는 추가 명령이 포함되어 있습니다 . 다른 SE 사이트에는 이러한 명령의 기본적인 차이점을 자세히 설명하는 다양한 질문 / 답변이 있습니다.

대부분의 답변은 본질적으로 adduser대화 형으로 사용자를 추가하기위한 더 좋은 인터페이스를 제공하지만, adduser실행되지 않을 때 발생하는 상황에 대해서는 자세히 설명 하지 않습니다 useradd. 그래서:

  1. 무엇 않습니다 adduser그렇게 useradd하지 않는 이유는 무엇입니까?
  2. 동등한 결과를 얻으려면 어떤 명령을 사용해야합니까?

답변:


79

먼저, 해당 매뉴얼 페이지 스 니펫은 두 명령의 차이점을 강조 표시하고 진행 상황을 나타냅니다. 의 경우 adduser:

adduser 및 addgroup은 /etc/adduser.conf의 명령 줄 옵션 및 구성 정보에 따라 시스템에 사용자 및 그룹을 추가합니다. 기본적으로 데비안 정책 준수 UID 및 GID 값을 선택하고 골격 구성으로 홈 디렉토리를 생성하고 사용자 정의 스크립트를 실행하며 기타 기능을 사용하여 useradd, groupadd 및 usermod 프로그램과 같은 하위 수준 도구에 친숙한 프런트 엔드입니다.

그런 다음 useradd:

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

추가 조사를 adduser통해이 스크립트가 다음 명령에 대한 고급 인터페이스를 제공하여 일부 기능을 제공하는 펄 스크립트임을 알 수 있습니다.

  • useradd
  • groupadd
  • passwd -사용자 비밀번호를 추가 / 변경하는 데 사용됩니다.
  • gpasswd -그룹 비밀번호를 추가 / 변경하는 데 사용됩니다.
  • usermod -다양한 사용자 관련 매개 변수를 변경하는 데 사용됩니다.
  • chfn -사용자가 보유한 추가 정보를 추가 / 변경하는 데 사용됩니다.
  • chage -비밀번호 만료 정보를 변경하는 데 사용됩니다.
  • edquota -디스크 사용량 할당량을 변경하는 데 사용됩니다.

adduser명령 의 기본 실행은 다음과 같습니다.

adduser username

이 간단한 명령은 여러 가지 작업을 수행합니다.

  1. 이라는 사용자를 작성하십시오 username.
  2. 사용자의 홈 디렉토리를 작성하십시오 (기본값은 /home/username파일을 복사 /etc/skel함).
  3. 사용자와 이름이 같은 그룹을 만들고 사용자를 그룹에 배치하십시오.
  4. 사용자의 비밀번호를 묻습니다.
  5. 사용자에 대한 추가 정보를 묻는 메시지가 표시됩니다.

useradd가장의 대부분을 달성 할 수있는 프로그램은, 그러나 그것은 기본적으로 그렇게하고 추가 옵션을 필요로하지 않습니다. 일부 정보에는 추가 명령이 필요합니다.

useradd -m -U username
passwd username
chfn username

즉 참고 adduser생성 UID 및 GID가 준수되도록 데비안 정책 . 데비안 정책과 일치하는 / in으로 일반 사용자를 만드는 useradd것이 좋습니다. 그러나 문제는 데비안이에서 지원되는 것으로 보이는 시스템 사용자 UID의 특정 범위를 지정하므로 올바른 범위에 UID / GUID를 지정하고 지정하지 않은 시스템 사용자를 순진하게 추가하면 심각한 문제가 발생할 수 있다는 것입니다.UID_MINUID_MAX/etc/login.defs/etc/adduser.confuseradd

다른 일반적인 용도 adduser는 사용자를 그룹에 추가하는 프로세스를 단순화하는 것입니다. 다음 명령은 다음과 같습니다.

adduser username newgroup

usermod사용자가 이미 구성원 인 그룹을 지정해야하는 보다 복잡한 명령을 대체 합니다.

usermod -G all,other,groups,user,is,in,newgroup

adduser여기서 사용하는 한 가지 단점 은 한 번에 하나의 그룹 만 지정할 수 있다는 것입니다.


이것은 멋지다! 나는 이것이 질문이라는 것을 몰랐다. useradd처럼 해시 비밀번호를 사용합니까? 그건 그렇고, 이것은 매우 좋은 일입니다.
— mikeserv

그래도 "관리자 ..."진술에 완전히 동의하는지 모르겠습니다 ... 개인적으로, 나는 관리자가 adduser시스템 전체의 정책에 따라 자신의 것을 구성해야한다고 생각 하지만, 그것은 단지 안락 의자 일뿐입니다 최상의 쿼터백.
— mikeserv

@ mikeserv, 해시 암호가 없습니다. 그래도 알아야 할 또 다른 프로그램 chpasswd이 있습니다.-해시 된 암호를 사용할 수 있습니다 stdin. 나는 다른 생각을 업데이트하기 전에 내일까지 기다릴 것입니다.
— Graeme

좋은 포스트. 나에게 너무 많은 세부 사항. 내가 가장 그리워하는 adduser것은 원래 대학의 이메일 서버 에서처럼 실제 사용자를 생성 / 수정 / 제한해야하는 서버 관리자를 위해 만들어진 것입니다. adduser당신 과 함께 프로세스를 자동화 할 수 있습니다. 이것은 몇 년 동안 약간 바뀌 었으므로 오늘날 useradd많은 관리자에게는 어려울 수 있으며 그들이 adduser선택하는 도구가되었습니다.

내 우분투 16.04에서 -U/ --user-group는 기본값으로 보입니다.
— Franklin Yu

2

adduser 명령에 기본적으로 명령은 또한 당신이 함께 할 수없는 시스템 사용자를위한 / 홈 / 사용자 디렉토리 생성 은 useradd 명령을 사용합니다. useradd는 시스템 사용자가 아닌 일반 사용자의 홈 디렉토리 만 추가합니다.


1

시스템 관리자는 adduser로 수행 할 수있는 useradd로 무엇이든 할 수 있습니다. 여기에서는 useradd로 시스템 사용자를위한 / home / user 디렉토리를 작성할 수 없으며 / etc / skel에 포함 된 파일을 수정하여 절대적으로 가능합니다. / etc / skel에는 처음에 새 사용자의 홈 디렉토리를 채우는 데 사용되는 파일 세트가 포함되어 있습니다.

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