
궁금합니다: Debian Linux에 이름과 기능이 매우 유사한 이 두 명령이 있는 이유는 무엇입니까? 이것은 나에게 항상 혼란스러웠다.
- 그들 중 다른 것보다 우월한 것이 있습니까?
- 왜 하나로 병합되지 않습니까?
- 그들 사이에 어떤 중요한 차이가 있나요?
- 어느 것을 사용해야 합니까? 아니면 사용 사례에 따라 달라지나요?
답변1
useradd
시스템과 함께 컴파일된 기본 바이너리입니다. 그러나 백엔드에서 바이너리를 adduser
사용하는 Perl 스크립트입니다 .useradd
adduser
백엔드보다 사용자 친화적이고 대화형입니다 useradd
. 제공되는 기능에는 차이가 없습니다.
답변2
주요 이점은사용자 추가~ 위에사용자 추가시스템 수준 사용자를 다루고 있습니다. 와 함께사용자 추가시스템 수준 사용자 계정이 생성되면 시스템 사용자를 위한 사용자 디렉터리가 홈에 저장됩니다.사용자 추가자동으로 하지 않습니다. 설명서를 읽으면 시스템 수준 사용자와 관련 홈 디렉토리가 자동이라는 점을 제외하면 본질적으로 동일합니다.사용자 추가조항이 없는 시스템 수준 사용자를 위해 /home/user 디렉토리를 자동으로 생성합니다.사용자 추가, 다음에 의해 지정된 경우는 제외-중옵션. 내가 본 다른 내용에서는 일반적으로 UID와 GUID가 허용되는 컨포멀 데비안 표준에 의해 할당되었다고 명시되어 있습니다.사용자 추가.
답변3
내가 확인한 몇 가지 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 스펙트럼에서 하나의 작업일 뿐입니다. 또한 '수정' 및 '삭제' 작업이 필요합니다('읽기'는 아마도 /etc/passwd를 보면 다뤄질 것입니다). 그래서 프로그램 이름이 지정됩니다.사용자*(각각 useradd, usermod 및 userdel) 나는 대안을 가정*사용자명명 규칙(adduser, moduser 및 deluser - 존재하지 않음)도 작동할 수 있습니다. 하지만 조금 더 어색할 것 같아요(이유 때문에 지금은 명확하게 표현할 수 없습니다 :)
답변4
Raspian 내에서(다른 OS를 확인해야 함) 'adduser USER'는 대화 상자(TUI)를 시작하지만 'useradd USER'는 시작하지 않습니다.
분명히 adduser를 사용하면 대화 상자가 나타나면 전체 'useradd' 명령이 이미 실행되었습니다. CTRL-C를 눌러도 사용자는 거기에 있습니다.
새 시스템에서는 "개인" 그룹을 생성하므로 새로 생성된 사용자를 제거하려면 다음을 수행해야 합니다.
- vi /etc/passwd
- vi /etc/그룹
- rm -rf /홈/사용자
나는 adduser가 useradd를 "사용"하기 때문에 나머지는 사용자에 대한 메타데이터라고 가정합니다. 따라서 기술적으로 "skel", "파일 마스크" 등은 변경되지 않습니다. 즉, 시스템 기본값입니다.
반면에 useradd는 TUI를 표시하지 않으므로 스크립팅에 더 유용할 수 있습니다.
솔직히 말해서 나는 rasbian에서만 테스트했습니다. 그것이 내가 질문을 밟은 이유이기 때문입니다.
다른 OS에서는 다른 버전의 adduser를 구현할 수도 있다고 상상할 수 있습니다.