기본적으로 명령줄(예: 그래픽 도구를 사용할 수 없는 시스템)에서의 사용자 관리에 대해 묻고 있습니다. 과거에는 몇 가지 다른 프로그램을 사용하여 사용자 및 그룹을 추가 또는 제거하거나 해당 속성을 수정했습니다. adduser
, useradd
, usermod
, gpasswd
및 잊어버린 다른 프로그램도 있을 수 있습니다. 또한 이러한 프로그램 중 일부는 저수준이므로 일반적인 사용에서는 피해야 한다는 말을 여러 번 들었지만 어떤 프로그램인지 기억이 나지 않습니다. 따라서 최소한 다음 작업에 어떤 프로그램이 권장되는지에 대한 명확한 답변을 얻고 싶었습니다.
- 새 사용자 만들기
- 그룹에 사용자 추가
- 그룹에서 사용자 제거
- 사용자의 기본 그룹 변경
- 사용자의 로그인 셸 또는 홈 디렉터리 변경
- 사용자 삭제
저는 거의 모든 Linux 시스템(모든 배포판)에서 작동할 수 있는 표준 도구를 찾고 있습니다.
답변1
불행하게도 이러한 작업 중 어느 것도 표준화되어 있지 않습니다.
일부 운영 체제는 Linux와 같은 운영 체제의 일부로 이 기능을 제공하지만 Linux 시스템에 해당 기능이 포함되어 있더라도 시간이 지남에 따라 Linux 배포판에 따라 도구와 이름이 변경되므로 하나의 Set 표준 도구에 실제로 의존할 수 없습니다. 그 임무를 완수하기 위해.
각 운영 체제마다 도구 세트가 필요합니다.
답변2
Debian(및 그 파생물) 시스템에서는 관련 기능에 대한 상위 수준 래퍼 adduser
입니다 . 사용자 생성, 그룹 구성원 추가 및 제거, 사용자 삭제를 다룹니다. 그룹 생성/삭제에 해당하는 명령은 및 입니다 . 귀하가 명명한 나머지 사용 사례를 다루는 것 같습니다.deluser
useradd
addgroup
delgroup
usermod
업데이트: 다음은 표준 명령입니다(예제).
>useradd -m john
-m = creates home directory
>userdel -r john
-r = removes home directory
>groupadd devs
>groupdel devs
>usermod -a -G devs john
-a = append
-G = group name
>id john
lists the users id and group ids
>groups john
lists the users groups
>passwd john
will ask you for current password and new password
>sudo passwd john
will ask you for only new password
>sudo passwd -l john
will lock the user out
>sudo passwd -a -G sudo john
or
>sudo passwd -a -G wheel john
or
>sudo nano /etc/sudoders
different OS variants, adds user to the sudo group
wheel = CENTOS/RHEL
답변3
질문의 마지막 부분에서 Linux를 언급하셨지만 제목이 일반적이므로 FreeBSD로 답변하겠습니다.
FreeBSD에는 Linux와 유사한 명령이 있지만 pw
유틸리티에 전달되는 명령입니다.
pw useradd [user|uid] ...
pw usermod [user|uid] ...
등. 그러나 명령을 user
명사 mod
와 동사의 두 부분으로 구문 분석할 수 있습니다. 또한 다음을 사용할 수 group
있습니다 del
.
pw groupdel [group|gid] ...
예를 들어 그룹을 삭제합니다. 그래서 제가 생각하기에 꽤 멋지다고 생각하는 것은 다음과 같습니다. 순서는 중요하지 않으며 간격도 중요하지 않습니다! 즉, 무엇을 하고 싶은지 생각함으로써 (어쨌든 영어로) 뭐라고 부를지 기억할 수 있다는 뜻입니다.
pw del user [user|uid] ...
pw mod group [group|gid] ...
pw show user [user|uid] ...
pw next user [user|uid] ...
그리고 더! 또한 이 pw
유틸리티를 사용하면 계정을 잠그거나 잠금 해제할 수 있습니다.
pw lock [user|uid] ...
pw unlock [user|uid] ...
전달하는 옵션과 매개변수는 표준화되어 있으므로(호출 명령에 항상 적용 가능한 것은 아니지만) 암기가 최소화됩니다. 대체로 이는 일을 수행하는 좋은 방법입니다.
참고: 위 예의 줄임표는 pw
다른 사용자나 그룹이 아닌 사용자에게 전달되는 옵션 및 매개변수를 나타냅니다.
답변4
이러한 도구는 모두 궁극적으로 텍스트 파일을 편집할 수 있도록 만들어졌습니다. 시스템을 통해 사용자와 그룹이 관리되는 방식을 이해하려면 이러한 기본 텍스트 파일에 대해 잘 알고 있어야 합니다. 운 좋게도 , 2 개만 있습니다 /etc/passwd
. /etc/group
비밀번호와 그룹을 각각 숨기기 위한 추가 파일 /etc/shadow
과 파일 도 있습니다./etc/gshadow