소개 Linux useradd 명령

사용자를 추가하는 가장 기본적인 운동에 어떤 컴퓨터 시스템이며 이 문서에 초점을 맞추고 있습니다 어떻게 그것에는 리눅스 시스템입니다.

시작하기 전에 명심해야 할 세 가지 기본 사항을 언급하고자합니다. 첫째,대부분의 운영 체제와 마찬가지로 Linux 사용자는 로그인 할 수 있도록 계정이 필요합니다. 이 기사에서는 ldap 와 같은 네트워크 계정이 아닌 로컬 계정을 구체적으로 다룹니다. 둘째,계정에는 이름(사용자 이름이라고 함)과 숫자(사용자 ID 라고 함)가 모두 있습니다. 셋째,사용자는 일반적으로 그룹에 배치됩니다. 그룹에는 이름과 그룹 ID 도 있습니다.

예상대로 Linux 에는 사용자를 추가하기위한 명령 줄 유틸리티가 포함되어 있습니다. 명령 adduser 를 찾을 수도 있습니다. 많은 배포판은이 심볼릭 링크를 편의의 문제로 useradd 명령에 추가했습니다.이 작업을 수행하려면 어떻게해야합니까?

참고:이 문서에 설명 된 기본값은 Red Hat Enterprise Linux8.0 의 기본값을 반영합니다. 이러한 파일의 미묘한 차이와 다른 Linux 배포판 또는 FreeBSD 또는 Solaris 와 같은 다른 Unix 운영 체제에서 특정 기본값을 찾을 수 있습니다.

기본 동작

useradd 의 기본 사용법은 매우 간단합니다.

$ sudo useradd sonny

이 예에서 useradd 명령은 sonny 라는 계정을 만듭니다. 같은 이름의 그룹도 만들어지고,소니가 그 그룹에 배치되어 기본 그룹으로 사용됩니다. 구성 파일/etc/default/useradd 및/etc/login 에 설정된 기본값 및 값에 따라 적용되는 언어 및 셸과 같은 다른 매개 변수가 있습니다.데프. 이는 일반적으로 단일,개인 시스템 또는 소규모 1 서버 비즈니스 환경에 충분합니다.

는 동안에 두 개의 파일이상의 동작을 제어 useradd,사용자 정보가 저장되고 다른 파일을 찾을/etc 디렉토리에이 참조하는 이 문서를 통해.

파일 Description 분야(대담—에 의해 설정 useradd)
passwd 매장의 사용자 계정 정보 사용자 이름:사용:uid:gid:명:homedir:쉘
섀도 매장의 사용자 계정 정보 보안 username:password:lastchange:최소값:최대값:경고:비활성:expire:사용하지 않는
그룹 상점 그룹의 세부 사항 groupname:사용:gid:회원

사용자 정의 동작

명령 라인에 사용자 지정할 수 있는 경우는 관리자는 요구에 보다 세밀하게 제어하는 등 지정한 사용자의 ID 번호가 있습니다.

사용자와 그룹 ID 숫자

기본적으로,useradd 을 사용하려고 시도 동일 번호에 대한 사용자 ID(UID)및 기본 그룹 ID(GID)지만,장담할 수 있는 것은 없습니다. UID 와 GID 가 일치 할 필요는 없지만 관리자가 그렇게 할 때 관리하기가 더 쉽습니다.설명 할 시나리오 만 있습니다. 이번에 티미를 위해 다른 계정을 추가한다고 가정 해보십시오. 두 사용자 인 sonny 와 timmy 를 비교하면 getent 명령을 사용하여 사용자와 각각의 기본 그룹이 모두 생성되었음을 알 수 있습니다.이 경우 사용자 ID 는 기본 GID 와 일치하지 않습니다. 기본 동작은 사용 가능한 다음 UID 를 사용자에게 할당 한 다음 기본 그룹에 동일한 번호를 할당하려고 시도하기 때문입니다. 그러나 해당 번호가 이미 사용되면 사용 가능한 다음 GID 가 그룹에 할당됩니다. 무슨 일이 일어났는지 설명해 줄 수 있는,나 가설과 그룹 GID1001 이미 존재하며 입력한 명령을 확인합니다.

$ getent group 1001
book:x:1001:alan

ID 가 1001 인 그룹북으로 인해 Gid 가 1 씩 꺼졌습니다. 이것은 시스템 관리자가 사용자 생성 프로세스를보다 잘 제어해야하는 예입니다. 이 문제를 해결하려면 먼저 일치하는 다음 사용 가능한 사용자 및 그룹 ID 를 결정해야합니다. Getent group 및 getent passwd 명령은 사용 가능한 다음 번호를 결정하는 데 도움이됩니다. 이 숫자는-u 인수로 전달할 수 있습니다.

$ sudo useradd -u 1004 bobby
$ getent passwd bobby; getent group bobby
bobby:x:1004:1004::/home/bobby:/bin/bash
bobby:x:1004:

는 또 다른 좋은 이유를 지정 ID 는 사용자에 액세스할 파일을 원격에서 시스템을 사용하여 NFS(Network File System). Nfs 는 모든 클라이언트 및 서버 시스템이 주어진 사용자에 대해 구성된 동일한 ID 를 가질 때 관리가 더 쉽습니다. Autofs 를 사용하여 NFS 공유를 마운트하는 방법에 대한 기사에서이를 좀 더 자세히 다룹니다.

더 많은 사용자 정의

자주하지만,다른 계정이 필요 매개 변수를 지정한 사용자. 다음은 사용해야 할 수있는 가장 일반적인 사용자 정의의 간단한 예입니다.

주석

주석 옵션은-c 인수를 사용하여 간단한 설명이나 기타 정보를 제공하기위한 일반 텍스트 필드입니다.

$ sudo useradd -c "Bailey is cool" bailey
$ getent passwd bailey
bailey:x:1011:1011:Bailey is cool:/home/bailey:/bin/bash

그룹

사용자에 할당할 수 있는 하나의 기본 그룹과 여러 보조 그룹입니다. -G 인수는 기본 그룹의 이름 또는 GID 를 지정합니다. 지정되지 않은 경우 useradd 는 사용자의 이름이 같은 기본 그룹을 만듭니다(위에서 설명한대로). -G(대문자)인수는 사용자가 배치 될 그룹의 쉼표로 구분 된 목록을 전달하는 데 사용되며 이들은 보조 그룹이라고합니다.

$ sudo useradd -G tgroup,fgroup,libvirt milly
$ id milly
uid=1012(milly) gid=1012(milly) groups=1012(milly),981(libvirt),4000(fgroup),3000(tgroup)

홈 디렉토리

useradd 의 기본 동작은/home 에서 사용자의 홈 디렉토리를 만드는 것입니다. 그러나 홈 디렉토리의 다른 측면은 다음 인수로 재정의 할 수 있습니다. -B 는 사용자 주택을 배치 할 수있는 다른 디렉토리를 설정합니다. 예를 들어 기본/홈 대신/home2 입니다.

$ sudo useradd -b /home2 vicky
$ getent passwd vicky
vicky:x:1013:1013::/home2/vicky:/bin/bash

-d 를 사용하면 사용자와 다른 이름의 홈 디렉토리를 지정할 수 있습니다.

$ sudo useradd -d /home/ben jerry
$ getent passwd jerry
jerry:x:1014:1014::/home/ben:/bin/bash

스켈레톤 디렉토리

-k 는 새 사용자의 새 홈 디렉토리에/etc/skel 디렉토리의 모든 파일로 채워지도록 지시합니다. 이들은 일반적으로 셸 구성 파일이지만 시스템 관리자가 모든 새 사용자가 사용할 수 있도록하려는 모든 것일 수 있습니다.

Shell

-s 인수를 사용하여 쉘을 지정할 수 있습니다. 다른 것을 지정하지 않으면 기본값이 사용됩니다. 예를 들어,다음에서 쉘 bash 는 기본 구성 파일에 정의되어 있지만 Wally 는 zsh 를 요청했습니다.

$ grep SHELL /etc/default/useradd
SHELL=/bin/bash
$ sudo useradd -s /usr/bin/zsh wally
$ getent passwd wally
wally:x:1004:1004::/home/wally:/usr/bin/zsh

보안

보안은 필수적인 부분의 사용자 관리,그래서 거기에 몇 가지 옵션이 사용할 수 있 useradd 명령입니다. 사용자 계정에는-e 인수를 사용하여 yyyy-MM-DD 형식의 만료 날짜가 지정 될 수 있습니다.

$ sudo useradd -e 20191231 sammy
$ sudo getent shadow sammy
sammy:!!:18171:0:99999:7::20191231:

암호가 만료되면 계정을 자동으로 비활성화 할 수도 있습니다. -F 인수는 계정이 비활성화되기 전에 암호가 만료 된 후 일 수를 설정합니다. 제로는 즉각적입니다.

$ sudo useradd -f 30 willy
$ sudo getent shadow willy
willy:!!:18171:0:99999:7:30::

실제 예

,실제로 이러한 논쟁이 될 수 있을 만들 때 사용되는 새로운 사용자 계정입니다. 예를 들어,필요한 경우 계정을 만들에 대한 페리,나는 다음 명령을 사용할 수 있습니다:

$ sudo useradd -u 1020 -c "Perry Example" \
-G tgroup -b /home2 \
-s /usr/bin/zsh \
-e 20201201 -f 5 perry

섹션을 참조하십시오를 서로를 이해하는 옵션입니다. 결과를 확인합니다:

$ getent passwd perry; getent group perry; getent shadow perry; id perry
perry:x:1020:1020:Perry Example:/home2/perry:/usr/bin/zsh
perry:x:1020:
perry:!!:18171:0:99999:7:5:20201201:
uid=1020(perry) gid=1020(perry) groups=1020(perry),3000(tgroup)

일 최종의 조언

useradd 명령은”알고 있어야합니다”어떤 유닉스(하지만 리눅스)관리자가 있습니다. 사용자 생성은 처음으로 바로 잡기를 원하는 것이므로 모든 옵션을 이해하는 것이 중요합니다. 이 의미는 아니라 이름 지정 규칙을 포함하는 전용 UID/GID 예약한 범위 사용자를 위해서 당신의 기업,단지 하나의 시스템은—특히 작업할 경우에서 성장하는 조직이다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다