Computer >> 컴퓨터 >  >> 시스템 >> Linux

리눅스 useradd 명령어로 사용자 계정 생성하는 방법 총정리

핵심 요약

  • 새 사용자 추가: useradd test 명령어를 사용합니다('test'는 새 사용자 이름). 권한이 없다면 sudo useradd test로 실행하세요.
  • 홈 디렉터리와 함께 사용자 생성: sudo useradd -m test를 사용하고, 기본 경로를 변경하려면 sudo useradd -m -d /test test를 입력합니다.
  • 비밀번호 설정 및 사용자 전환: passwd test로 비밀번호를 지정하고, su - test 명령어로 해당 계정에 접속할 수 있습니다.

이 글에서는 리눅스 명령줄과 'useradd' 명령어를 사용해 사용자를 생성하는 방법을 설명합니다. 홈 디렉터리가 있는 사용자 생성, 비밀번호 설정, 사용자 전환, 만료일 지정, 특정 그룹 할당, 로그인 기본값 조정, 홈 폴더 없이 사용자 생성, 사용자 실명 지정, 특정 사용자 정보 확인 등의 명령어도 함께 소개합니다.

사용자 생성 방법

아래 명령어는 시스템에 test라는 이름의 새 사용자를 추가합니다.

사용자(test)를 생성하는 기본 명령어는 다음과 같습니다.

useradd test

이 작업을 수행하려면 /etc/passwd 파일에 대한 권한이 필요하므로, 일반적으로 sudo를 붙여 실행합니다.

sudo useradd test

이 명령어 실행 결과는 /etc/default/useradd 위치의 설정 파일 내용에 따라 달라집니다.

/etc/default/useradd 파일의 내용을 확인하려면 다음 명령어를 실행하세요.

sudo nano /etc/default/useradd

설정 파일에는 기본 셸이 지정되어 있으며, 우분투(Ubuntu)에서는 bin/sh가 기본값입니다. 나머지 옵션들은 모두 주석 처리되어 있습니다.

리눅스 useradd 명령어로 사용자 계정 생성하는 방법 총정리

주석 처리된 옵션들을 통해 기본 홈 폴더, 그룹, 비밀번호 만료 후 계정이 비활성화되기까지의 일수, 기본 만료일 등을 설정할 수 있습니다.

여기서 중요한 점은, 옵션 없이 useradd 명령어를 실행하면 배포판마다 결과가 다를 수 있다는 것입니다. 이는 모두 /etc/default/useradd 파일의 설정에 따른 차이입니다.

참고: sudo 유틸리티는 모든 배포판에 설치되어 있지 않습니다. 설치되어 있지 않다면 사용자 생성 권한이 있는 계정으로 로그인하세요.

홈 디렉터리와 함께 사용자 생성하기

/etc/defaults/useradd 파일의 설정에 따라 사용자에게 홈 디렉터리가 자동으로 할당될 수도 있고 그렇지 않을 수도 있습니다.

홈 디렉터리 생성을 강제하려면 다음 명령어를 사용합니다.

sudo useradd -m test

위 명령어는 test 사용자를 위한 /home/test 폴더를 생성합니다.

리눅스 useradd 명령어로 사용자 계정 생성하는 방법 총정리

다른 위치에 홈 디렉터리를 두고 사용자 생성하기

기본 위치가 아닌 다른 곳에 홈 폴더를 만들고 싶다면 -d 옵션을 사용합니다.

sudo useradd -m -d /test test

위 명령어는 루트 폴더 아래에 test 사용자용 test 폴더를 생성합니다.

리눅스 useradd 명령어로 사용자 계정 생성하는 방법 총정리

참고: -m 옵션을 사용해도 폴더가 생성되지 않을 수 있습니다. 이는 /etc/login.defs 파일의 설정에 따라 달라집니다.

-m 옵션 없이도 홈 폴더가 자동 생성되게 하려면 /etc/login.defs 파일을 편집하고 파일 맨 아래에 다음 줄을 추가합니다.

CREATE_HOME yes

리눅스에서 사용자 비밀번호 변경하기

홈 폴더가 있는 사용자를 생성한 후에는 해당 사용자의 비밀번호를 변경하는 것이 좋습니다.

사용자의 비밀번호를 설정하려면 다음 명령어를 사용합니다.

passwd test

passwd 명령어를 사용하면 test 사용자의 비밀번호를 설정할 수 있으며, 사용할 비밀번호를 입력하라는 안내 메시지가 표시됩니다.

리눅스 useradd 명령어로 사용자 계정 생성하는 방법 총정리

사용자 전환 방법

터미널 창에 다음을 입력하여 새 사용자 계정을 테스트할 수 있습니다.

su - test

위 명령어는 test 계정으로 전환하며, 홈 폴더를 생성했다면 해당 사용자의 홈 폴더로 이동하게 됩니다.

리눅스 useradd 명령어로 사용자 계정 생성하는 방법 총정리

만료일이 있는 사용자 생성하기

회사에서 단기간 근무할 외부 계약직 직원이 있다면 해당 사용자 계정에 만료일을 설정하세요. 마찬가지로 가족이 잠시 머물러 간다면, 머무는 기간이 끝나면 자동으로 만료되는 계정을 만들어 줄 수도 있습니다.

사용자 생성 시 만료일을 지정하려면 다음 명령어를 사용합니다.

sudo useradd -m -e 2017-04-25 test

날짜는 YYYY-MM-DD 형식으로 지정해야 하며, YYYY는 연도, MM은 월, DD는 일을 의미합니다.

리눅스 useradd 명령어로 사용자 계정 생성하는 방법 총정리

사용자를 생성하고 그룹에 할당하기

새 직원이 입사하면 해당 사용자에게 특정 그룹을 할당하여 팀원들과 동일한 파일 및 폴더에 접근할 수 있게 하는 것이 좋습니다. 예를 들어 John이 회계 담당자로 입사한다고 가정해 보겠습니다.

다음 명령어는 johnaccounts 그룹에 추가합니다.

sudo useradd -g accounts john

리눅스 useradd 명령어로 사용자 계정 생성하는 방법 총정리

리눅스 로그인 기본값 조정하기

/etc/login.defs 파일은 로그인 관련 동작의 기본값을 정의하는 설정 파일입니다. 이 파일에는 몇 가지 중요한 설정이 포함되어 있습니다.

/etc/login.defs 파일을 열려면 다음 명령어를 입력합니다.

sudo nano /etc/login.defs

리눅스 useradd 명령어로 사용자 계정 생성하는 방법 총정리

login.defs 파일에는 다음과 같이 변경할 만한 여러 설정이 포함되어 있습니다.

  • PASS_MAX_DAYS: 비밀번호가 만료되기까지의 최대 기간
  • PASS_MIN_DAYS: 비밀번호를 변경할 수 있는 최소 간격
  • PASS_WARN_AGE: 비밀번호 만료 전 경고가 표시되는 일수
  • LOGIN_RETRIES: 로그인 실패 전 허용되는 시도 횟수
  • LOGIN_TIMEOUT: 로그인 세션이 종료되기까지의 대기 시간
  • DEFAULT_HOME: 홈 폴더가 없어도 로그인 가능 여부

참고: 이 값들은 기본 옵션이며, 새 사용자를 생성할 때 개별적으로 재정의할 수 있습니다.

로그인 비밀번호 만료 규칙 지정하기

사용자를 생성할 때 비밀번호 만료일, 로그인 재시도 횟수, 타임아웃을 설정할 수 있습니다. 다음 예제는 비밀번호 만료 경고, 비밀번호 최대 유효 기간, 로그인 재시도 횟수를 함께 지정하여 사용자를 생성하는 방법을 보여줍니다.

sudo useradd -m -K PASS_MAX_DAYS=5 -K PASS_WARN_AGE=3 -K LOGIN_RETRIES=3 test

리눅스 useradd 명령어로 사용자 계정 생성하는 방법 총정리

홈 폴더 없이 사용자 강제 생성하기

login.defs 파일에 CREATE_HOME yes 옵션이 설정되어 있다면, 사용자를 생성할 때 홈 폴더가 자동으로 만들어집니다.

설정과 무관하게 홈 폴더 없이 사용자를 생성하려면 다음 명령어를 사용합니다.

sudo useradd -M test

리눅스 useradd 명령어로 사용자 계정 생성하는 방법 총정리

주의: -m은 '홈 폴더 생성', -M은 '홈 폴더 미생성'을 의미하므로 혼동하기 쉽습니다.

사용자의 실명 지정하기

사용자 생성 정책의 일환으로 이름 첫 글자와 성을 조합한 아이디를 사용할 수 있습니다. 예를 들어 John Smith의 사용자 이름은 jsmith가 됩니다. 하지만 이 경우 John Smith와 Jenny Smith처럼 성이 같은 사용자를 구분하기 어려울 수 있습니다.

계정을 생성할 때 코멘트를 추가하면 사용자의 실명을 쉽게 확인할 수 있습니다. 코멘트를 추가하려면 다음 명령어를 실행합니다.

sudo useradd -m smithj -c "John Smith"

리눅스 useradd 명령어로 사용자 계정 생성하는 방법 총정리

/etc/passwd 파일 분석하기

사용자를 생성하면 해당 사용자의 정보가 /etc/passwd 파일에 추가됩니다. 특정 사용자의 정보를 확인하려면 grep 명령어를 다음과 같이 사용합니다.

grep smithj /etc/passwd

참고: 위 명령어는 사용자 이름에 'smithj'라는 단어가 포함된 모든 사용자의 정보를 반환합니다.

리눅스 useradd 명령어로 사용자 계정 생성하는 방법 총정리

/etc/passwd 파일에는 각 사용자에 대한 필드들이 콜론(:)으로 구분되어 저장되어 있습니다. 각 필드는 다음과 같습니다.

  • 사용자 이름
  • 암호화된 비밀번호(항상 x로 표시됨)
  • 사용자 ID(User ID)
  • 사용자의 그룹 ID(Group ID)
  • 사용자의 실명
  • 사용자의 홈 디렉터리
  • 로그인 셸

참고: 많은 리눅스 데스크톱 배포판은 사용자 생성용 GUI 도구를 제공하지만, 명령줄에서 처리하는 방법을 익혀두면 새로운 인터페이스를 배우지 않고도 어떤 배포판에서든 동일한 방식으로 작업할 수 있다는 장점이 있습니다.