![useradd 또는 adduser를 사용해야 합니까?](https://linux55.com/image/32110/useradd%20%EB%98%90%EB%8A%94%20adduser%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%B4%EC%95%BC%20%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
시스템에 새로운 사용자를 추가하려고 합니다. 어떤 명령을 실행해야 할지 혼란스럽습니다. useradd
또는 adduser
?
답변1
설명서에 따르면 다음을 사용해야 합니다 adduser
.
수동으로 사용자 추가
설명하다
useradd는 사용자를 추가하기 위한 저수준 유틸리티입니다. Debian에서 관리자는 일반적으로 adduser(8)를 사용해야 합니다.
답변2
useradd
및 에 대한 맨페이지의 내용과 관계없이 userdel
저는 항상 낮은 수준의 백엔드 바이너리인 , useradd
, userdel
, groupadd
를 사용합니다 groupdel
.
프런트엔드 스크립트는 대화형이며 사용자 친화적으로 설계되었지만 동일한 작업을 수행합니다. 그것은 정말로 개인적인 취향의 문제입니다.
실제 차이점에서:
useradd
및 groupadd
명령과 usermod
유사한 옵션이 있으며 groupmod
이러한 명령에는 프런트엔드 스크립트가 없으므로(즉, 프런트엔드 스크립트 moduser
또는 modgroup
프런트엔드 스크립트가 없음) 계정 유지 관리를 위해 유사한 명령을 사용하는 것이 더 일관됩니다.
기본 설정에는 사용자 ID, 쉘, 로그인 그룹 등과 같은 다양한 구성 파일이 있습니다. 따라서 설정을 변경하려면 어떤 파일을 편집해야 하는지 확인하세요.
프런트 엔드 스크립트는 해당 --force-badname
옵션을 제공하지 않는 한 어리석은 이름을 입력하지 못하도록 "보호"합니다. 예를 들어 특수 문자를 포함하거나 숫자로 시작하는 사용자 또는 그룹 이름입니다. 이는 우연히 발생할 가능성이 거의 없으므로 "보호"가 필요하지 않습니다.
프런트 엔드 스크립트는 또한 --force option
. 또한 해당 사용자 계정에서 실행 중인 프로세스가 있고 항상 루트로 실행 중인 프로세스가 있는 경우 사용자 계정을 삭제할 수 없으므로 어쨌든 실패할 것이라는 점을 지적할 가치가 있습니다.
(하지만 시도해 볼 용기가 나지 않았습니다.)
프런트엔드 스크립트 adduser만이 홈 디렉토리를 암호화할 수 있는 옵션을 갖습니다.
그러나 친숙한 스크립트가 수행할 수 없는 몇 가지 작업이 있으며 일반적으로 수행할 필요는 없지만 바이너리 명령을 사용해야 합니다.
useradd는 구성 파일을 편집하거나 새 구성 파일을 생성하지 않고도 기본 홈 디렉터리의 기본값을 재정의할 수 있습니다. 옵션을 봅니다
-k
.useradd는 이 옵션을 통해 새로 생성된 사용자가 lastlog 데이터베이스에 추가되는 것을 방지할 수 있습니다
-l
.이 옵션은 useradd 및 groupadd에서 각각 고유하지 않은 UID 또는 GID가 있는 계정을 만드는 데 사용할 수 있습니다
-o
. 이러한 스크립트는 이 기능을 제공하지 않습니다.시스템에서 selinux가 활성화된 경우 useradd는 이
-Z
옵션을 사용하여 selinux 매핑을 통해 새 사용자를 생성할 수 있습니다. 그러나 계정이 생성되면semanage
또는 같은 다른 명령을 사용하여 이 작업을 수행할 수도 있습니다usermod
./snap/core
마지막으로 아마도 가장 중요한 것은 옵션을 사용하여 대체 루트 디렉터리 아래의 대체 시스템에서 바이너리 명령만 실행할 수 있다는 것입니다-R
.