OS/리눅스

리눅스) 사용자 관리 - useradd

마리사라 2023. 3. 22. 10:06
반응형

이번 강의는 리눅스에서 사용자를 추가하는 방법 중 하나인 useradd에 대해서 알아보겠습니다.


1. useradd

useradd의 명령은 다음과 같은 형식으로 이루어집니다.

#useradd [Option] NAME

이때 원하는 이름을 NAME 자리에 넣으면 되며, 여러 옵션을 주는 것으로 여러 가지 설정을 할 수 있습니다.

  • -d : 홈 디렉토리 지정. 지정하지 않을 시 자동으로 /home/NAME으로 결정됩니다.
  • -g : group 지정. 지정하지 않을 시 자동으로 NAME과 같은 이름의 group으로 지정됩니다.
  • -c : 사용자에 대한 설명. 지정하지 않으면 아무것도 입력되지 않습니다.
  • -s : 사용할 Shell 지정. bash, csh, ksh, sh가 있습니다.
  • -p : 패스워드를 함께 생성.
  • -m : 홈 디렉토리를 새로 생성.
  • -k : skel 디렉토리를 지정. 단독으로 사용하지 않고 -m과 함께 사용합니다.
  • -G : 기본 그룹외에 추가로 그룹을 지정. 이때 그룹은 미리 생성되어 있어야 합니다.
  • -e : 계정이 만료될 날짜를 지정.
  • -u : UID값을 지정. 지정되지 않으면 맨 마지막 번호부터 1씩 증가합니다.

 

이때 옵션은 여러개를 한 번에 주어도 무방합니다. 이제 실습을 해 보겠습니다.

 

우선 아무 옵션도 주지 않고 user1을 만들어 보겠습니다.

# useradd user1

이제 user1에 대한 정보를 보기 위해 passwd파일을 확인해 보겠습니다.

passwd : user1

passwd에서 사용자 정보는 다음과 같은 형식으로 나타납니다.

NAME:PWD:UID:GID:Comment:HOME:SHELL
  • NAME : 사용자 이름은 user1이다.
  • PWD : 패스워드는 /etc/shadow에 암호화되어 저장되어 있다.
  • UID : UID는 501이다.
  • GID : GID는 501이다.
  • Comment : 사용자 설명은 존재하지 않는다.
  • HOME : 홈 디렉토리는 /home/user1이다.
  • SHELL : 로그인 쉘은 bash쉘이다.

 

이번에는 다음과 같은 옵션을 주면서 만들어 보겠습니다.

# useradd -u 5001 -g root -c TEST -s /bin/ksh user2

이제 user2에 대한 정보를 확인해 보겠습니다.

passwd : user2

  • NAME : 사용자 이름은 user2이다.
  • PWD : 패스워드는 /etc/shadow에 암호화되어 저장되어 있다.
  • UID : UID는 5001이다.
  • GID : GID는 0이다.
  • Comment : 사용자 설명은 TEST로 기록되어 있다.
  • HOME : 홈 디렉토리는 /home/user2이다.
  • SHELL : 로그인 쉘은 ksh쉘이다.

2. useradd의 기본 설정

리눅스에 있는 모든 명령어는 파일로 존재합니다. useradd 또한 파일로 존재하며, useradd의 기본 설정 역시 파일로 기재되어 있습니다. useradd의 기본 설정은 다음과 같은 위치에 존재합니다.

/etc/default/useradd

위 파일을 확인해 보면 다음과 같습니다.

/etc/default/useradd

  • GROUP : 기본 등록 그룹의 GID. 기본적으로 사용자를 생성하면 같은 이름의 그룹이 생성되므로 잘 사용되지는 않음
  • HOME : 기본 홈 디렉토리. 이 디렉터리 밑에 사용자 이름과 같은 디렉터리를 생성하여 홈 디렉터리로 지정됨.
  • INACTIVE : 패스워드 종료일 이후의 유효기간 여부 설정. (0 = 바로 사용불가 / -1 = 옵션 사용 안 함)
  • EXPIRE : 계정 종료일자.
  • SHELL : 기본 사용 쉘.
  • SKEL : 홈 디렉터리에 복사할 기본 환경의 위치.
  • CREATE_MAIL_SPOOL : 사용자를 생성할 때 MAIL SPOOL도 생성할지 여부.

만약  이 파일의 정보가 수정된다면 useradd로 만들어지는 사용자의 기본 옵션이 바뀌게 됩니다.


3. 마치며

useradd는 리눅스에서 사용자를 추가하는 명령입니다. 리눅스에서는 대부분의 파일에 대한 권한을 사용자 또는 그룹 단위로 관리하기 때문에 사용자라는 개념이 중요합니다.

반응형