기계적 인조 인간

Linux에서 사용자를 만드는 방법 (useradd 명령)

AWS Knowledge Center Videos: How do I manage user accounts on my EC2 Linux instance?

AWS Knowledge Center Videos: How do I manage user accounts on my EC2 Linux instance?

차례:

Anonim

Linux는 다중 사용자 시스템이므로 둘 이상의 사람이 동시에 동일한 시스템과 상호 작용할 수 있습니다. 시스템 관리자는 사용자를 생성 및 제거하여 다른 그룹에 할당하여 시스템의 사용자 및 그룹을 관리 할 책임이 있습니다.

Linux에서는 useradd 명령을 사용하여 사용자 계정을 작성하고 다른 그룹에 사용자를 지정할 수 있습니다. useradd 는 저급 유틸리티이며 데비안과 우분투 사용자는 더 친근한 adduser 명령을 대신 사용할 것입니다.

useradd 명령을 사용하고 옵션을 탐색하는 방법에 대해 설명합니다.

useradd 명령

useradd 명령의 일반적인 구문은 다음과 같습니다.

useradd USERNAME

useradd 명령을 사용하고 새 사용자를 만들려면 root 또는 sudo 액세스 권한이있는 사용자로 로그인해야합니다.

호출되면 useradd 는 명령 줄에 지정된 옵션과 /etc/default/useradd 파일에 지정된 기본값을 사용하여 새 사용자 계정을 만듭니다.

이 파일에 정의 된 변수는 배포마다 다르므로 useradd 명령이 다른 시스템에서 다른 결과를 생성합니다.

이 명령은 /etc/login.defs 파일의 내용도 읽습니다. 이 파일에는 비밀번호 만기 정책, 시스템 및 일반 사용자 작성시 사용되는 사용자 ID 범위와 같은 새도우 비밀번호 제품군의 구성이 포함됩니다.

Linux에서 새 사용자를 만드는 방법

새 사용자 계정을 만들려면 useradd 다음에 username을 입력하십시오.

예를 들어 username 이라는 새 사용자를 만들려면 다음을 실행하십시오.

sudo useradd username 옵션없이 사용하면 가장 간단한 형태로 useradd는 /etc/default/useradd 파일에 지정된 기본 설정으로 새 사용자 계정을 만듭니다.

이 명령은 /etc/passwd , /etc/shadow, /etc/group /etc/gshadow 파일에 항목을 추가합니다.

새로 작성된 사용자로 로그인하려면 사용자 비밀번호를 설정해야합니다. 그렇게하려면 passwd 명령 다음에 username을 실행하십시오:

sudo passwd username

비밀번호를 입력하고 확인하라는 메시지가 표시됩니다. 강력한 비밀번호를 사용하십시오.

Changing password for user username. New password: Retype new password: passwd: all authentication tokens updated successfully.

새 사용자를 추가하고 홈 디렉토리를 만드는 방법

대부분의 Linux 배포판에서 useradd 명령으로 새 사용자 계정을 만들면 사용자 홈 디렉토리가 만들어지지 않습니다.

-m ( --create-home ) 옵션을 사용하여 사용자 홈 디렉토리를 /home/username 으로 작성하십시오.

sudo useradd -m username

위의 명령은 새 사용자의 홈 디렉토리를 작성하고 /etc/skel 디렉토리에서 사용자의 홈 디렉토리로 파일을 복사합니다. /home/username 디렉토리에 파일을 나열하면 초기화 파일이 표시됩니다.

ls -la /home/username/

drwxr-xr-x 2 username username 4096 Dec 11 11:23. drwxr-xr-x 4 root root 4096 Dec 11 11:23.. -rw-r--r-- 1 username username 220 Apr 4 2018.bash_logout -rw-r--r-- 1 username username 3771 Apr 4 2018.bashrc -rw-r--r-- 1 username username 807 Apr 4 2018.profile

홈 디렉토리 내에서 사용자는 파일 및 디렉토리를 작성, 편집 및 삭제할 수 있습니다.

특정 홈 디렉토리를 가진 사용자 작성

예를 들어, 홈 디렉토리가 /opt/username username 이라는 새 사용자를 작성하려면 다음 명령을 실행해야합니다.

sudo useradd -m -d /opt/username username

특정 사용자 ID로 사용자 작성

Linux 및 Unix와 같은 운영 체제에서 사용자는 고유 한 UID 및 사용자 이름으로 식별됩니다.

사용자 식별자 (UID)는 Linux 시스템에서 각 사용자에게 할당 한 고유 한 양의 정수입니다. 다른 액세스 제어 정책과 함께 UID는 사용자가 시스템 리소스에서 수행 할 수있는 작업 유형을 결정하는 데 사용됩니다.

기본적으로 새 사용자가 작성되면 시스템은 login.defs 파일에 지정된 사용자 ID 범위에서 사용 가능한 다음 UID를 지정합니다.

-u ( --uid ) 옵션을 사용하여 특정 UID를 가진 사용자를 작성하십시오. 예를 들어 UID가 1500 username 이라는 새 사용자를 만들려면 다음을 입력하십시오.

sudo useradd -u 1500 username

id 명령을 사용하여 사용자의 UID를 확인할 수 있습니다.

id -u username

1500

특정 그룹 ID를 가진 사용자 생성

Linux 그룹은 Linux에서 사용자 계정을 구성하고 관리하는 데 사용되는 조직 단위입니다. 그룹의 주요 목적은 그룹 내 사용자간에 공유 할 수있는 특정 리소스에 대한 읽기, 쓰기 또는 실행 권한과 같은 일련의 권한을 정의하는 것입니다.

새 사용자를 만들 때 useradd 명령의 기본 동작은 사용자 이름과 이름이 같고 UID와 GID가 같은 그룹을 만드는 것입니다.

-g ( --gid ) 옵션을 사용하여 특정 초기 로그인 그룹을 가진 사용자를 작성하십시오. 그룹 이름 또는 GID 번호를 지정할 수 있습니다. 그룹 이름 또는 GID가 이미 존재해야합니다.

예를 들어 username 이라는 새 사용자를 만들고 로그인 그룹을 users 설정하려면 다음을 입력하십시오.

sudo useradd -g users username

사용자의 GID를 확인하려면 id 명령을 사용하십시오.

id -gn username

users

사용자 생성 및 여러 그룹 할당

Linux 운영 체제에는 두 가지 유형의 그룹이 있습니다. 기본 그룹 및 보조 또는 보조 그룹. 각 사용자는 정확히 하나의 기본 그룹과 0 개 이상의 보조 그룹에 속할 수 있습니다.

-G ( --groups ) 옵션을 사용하면 사용자가 참여할 보충 그룹 목록을 지정할 수 있습니다.

다음 명령은 기본 그룹 users 와 보조 그룹 wheel docker username 이라는 새 사용자를 만듭니다.

sudo useradd -g users -G wheel, developers username

다음을 입력하여 사용자 그룹을 확인할 수 있습니다

id username

uid=1002(username) gid=100(users) groups=100(users), 10(wheel), 993(docker)

특정 로그인 셸을 사용하여 사용자 만들기

기본적으로 새 사용자의 로그인 쉘은 /etc/default/useradd 파일에 지정된 것으로 설정됩니다. Ubuntu 18.04와 같은 일부 Linux 배포판에서는 기본 쉘이 /bin/sh 로 설정되고 다른 쉘에서는 /bin/bash 설정됩니다.

-s ( --shell ) 옵션을 사용하면 새 사용자의 로그인 쉘을 지정할 수 있습니다.

예를 들어, 로그인 쉘 유형으로 /usr/bin/zsh 를 가진 username 이라는 새 사용자를 작성하려면 다음을 수행하십시오.

sudo useradd -s /usr/bin/zsh username

/etc/passwd 파일에서 사용자 항목을 확인하여 사용자의 로그인 쉘을 확인하십시오.

grep username /etc/passwd

username:x:1001:1001::/home/username:/usr/bin/zsh

사용자 정의 주석으로 사용자 작성

-c ( --comment ) 옵션을 사용하면 새 사용자에 대한 간단한 설명을 추가 할 수 있습니다. 일반적으로 사용자의 전체 이름 또는 연락처 정보는 주석으로 추가됩니다.

다음 예에서는 텍스트 문자열 Test User Account 를 주석으로하여 username 이라는 username 의 새 사용자를 만듭니다.

sudo useradd -c "Test User Account" username

주석은 /etc/passwd 파일에 저장됩니다.

grep username /etc/passwd

username:x:1001:1001:Test User Account:/home/username:/bin/sh

주석 필드는 GECOS 라고도합니다.

만료 날짜가있는 사용자 만들기

-e ( --expiredate ) 옵션을 사용하면 새 사용자 계정이 만료되는 시간을 정의 할 수 있습니다. 이 옵션은 임시 계정을 만드는 데 유용합니다. 날짜는 YYYY-MM-DD 형식을 사용하여 지정해야합니다.

예를 들어 만료 시간이 2019 년 1 월 22 일로 설정된 username 이라는 새 사용자 계정을 만들려면 다음을 실행하십시오.

sudo useradd -e 2019-01-22 username

chage 명령을 사용하여 사용자 계정 만료 날짜를 확인할 수 있습니다.

sudo chage -l username

결과는 다음과 같습니다.

Last password change: Dec 11, 2018 Password expires: never Password inactive: never Account expires: Jan 22, 2019 Minimum number of days between password change: 0 Maximum number of days between password change: 99999 Number of days of warning before password expires: 7

시스템 사용자 생성

시스템과 일반 (정상) 사용자 사이에는 실질적인 기술적 차이가 없습니다. 일반적으로 시스템 사용자는 OS 및 새 패키지를 설치할 때 생성됩니다.

경우에 따라 일부 응용 프로그램에서 사용할 시스템 사용자를 만들어야 할 수도 있습니다.

-r ( --system ) 옵션을 사용하여 시스템 사용자 계정을 작성하십시오. 예를 들어 username 이라는 새 시스템 사용자를 만들려면 다음을 실행합니다.

sudo useradd -r username

시스템 사용자는 만료 날짜없이 생성됩니다. UID는 login.defs 파일에 지정된 시스템 사용자 ID 범위에서 선택되며 일반 사용자에 사용되는 범위와 다릅니다.

기본 useradd 값 변경

기본 useradd 옵션은 -D , --defaults 옵션을 사용하거나 /etc/default/useradd 파일의 값을 수동으로 편집하여보고 변경할 수 있습니다.

현재 기본 옵션을 보려면

useradd -D

결과는 다음과 같습니다.

GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/sh SKEL=/etc/skel CREATE_MAIL_SPOOL=no

기본 로그인 쉘을 /bin/sh 에서 /bin/bash 로 변경한다고 가정 해 봅시다. 그렇게하려면 아래와 같이 새 쉘을 지정하십시오.

sudo useradd -D -s /bin/bash

다음 명령을 실행하여 기본 쉘 값이 변경되었는지 확인할 수 있습니다.

sudo useradd -D | grep -i shell

SHELL=/bin/bash

결론

이 학습서에서는 useradd 명령을 사용하여 새 사용자 계정을 작성하는 방법을 보여주었습니다. Ubuntu, CentOS, RHEL, Debian, Fedora 및 Arch Linux를 포함한 모든 Linux 배포에 동일한 지침이 적용됩니다.

궁금한 점이 있으면 언제든지 의견을 남겨주십시오.

터미널 사용자 그룹