본문 바로가기
IT 학습 공간 ::)

리눅스 User Account Management ( useradd/usermod/userdel )

by 에스타롯사 2019. 5. 8.

안녕하세요 롯사입니다.

 

리눅스에서 사용자의 계정을 생성하거나 삭제하고, 생성된 계정에 대해서 보안 설정 및 관리하는 방법에 대해서

 

알아보겠습니다. 그리고 계정에 관여하는 파일의 경로와 그 파일의 구문에서 각각 의미하는 것이 무엇인지를

 

파악하는 게 포인트라고 할 수 있겠습니다.

 

자 그럼 출발합시다 go go ~!~!

 

 

 

useradd : 사용자 계정 생성 명령어 ( 옵션에 따라서 적용 값을 변경할 수 있습니다.)


도움말 : # useradd --help

구문 : # useradd [ option ] [ Argument ]... [ Account_Name ]

형식 : test : x : 500 : 500 : : /home/test : /bin/bash

옵션 :

필드별 옵션 의미
-D 계정의 기본 설정값을 확인
-d 홈디렉토리 -d 홈디렉토리 지정 -m ( 홈디렉토리 지정 생성 )
-u uid 사용자의 uid 정보를 임의로 변경
-g gid 사용자의 기본그룹 지정시 사용
-c comment 사용자에게 설명 부여
-s shell 사용자의 로그인 쉘 변경
-r 사용자의 uid 정보를 1~499번 사이의 값으로 생성
-o (non-unique) 동일한 uid 값을 갖는 계정생성

특정 계정에 대한 정보를 확인할 때는 cat /etc/passwd | grep 계정명으로 확인하면 편리합니다.

 

 

/etc/passwd : 생성된 사용자 계정 생성 확인 및 편집


형식 : testhaja : x : 1003 : 1003 : : /home/testhaja : /bin/bash

필드 의미
testhaja 사용자의 계정명
x 사용자에게 부여된 패스워드
1003 숫자로 표현되는 사용자의 id (UID)
1003 이 사용자에 대한 숫자로 표현되는 주 그룹 ID (GID)
NULL 사용자에게 부여되는 임이의 정보 (Comment)
/home/testhaja 사용자 계정의 기본 홈디렉토리 위치
/bin/bash 사용자가 시스템에 로그인시 사용하는 Shell의 위치

계정을 확인할 때는 tail 명령어를 사용하여 밑에서부터 확인하면 앞의 정보를 건너뛰고

최근 생성한 계정부터 확인할 수 있기 때문에 편리합니다.

 

 

 

usermod : 생성되거나 이미 존재하는 계정의 정보를 수정하는 명령어


도움말 : # usermod --help

구문 : # usermod [ Option ] [ Argument ]... [ Account_Name ]

형식 : test : x : 500 : 500 : : /home/test : /bin/bash

옵션

필드별 옵션 의미
-l id 사용자의 계정명을 변경
-u uid 사용자의 uid 정보를 변경
-g gid 사용자의 gid 정보를 변경
-G groups 사용자에게 추가그룹을 지정할때 -a 옵션과 함께 사용합니다
-c 주석 사용자 주석란에 설명을 부여
-d 홈디렉토리 사용자의 기본 홈디렉토리를 변경 -m 옵션과 함께 사용합니다
-s 쉘 사용자의 로그인 쉘 변경
-o (non-unique) 동일한 uid 값을 갖는 계정 생성

계정의 uid 가 변경이 안 되는 경우 강제 옵션을 주면 변경됩니다

ex ) usermod -u 500 testhaja -o

 

 

 

userdel : 계정을 삭제할 때 사용하는 명령어


도움말 : # userdel --help

구문 : # userdel [ Option ] [ Account_Name ]

옵션 :

옵션 의미
-f 로그인 되어있거나, 삭제하려는 계정의 그룹을 강제로 삭제할때 사용합니다
-r 계정생성시 만들어진 모든 정보를 삭제합니다
-h (--help) 도움말 표시

계정을 삭제할 때 옵션(-r, -f)을 부여해서 삭제를 진행하는 경우 계정과

홈 디렉터리의 모든 파일들이 삭제됩니다.

 

 

 

passwd : 계정의 패스워드를 생성하거나 삭제하는 명령어


도움말 : # passwd --help

구문 : # passwd [ Option ] [ Account_Name ]

옵션 :

옵션 의미
-d 사용자의 패스워드를 Null 값으로 지정합니다. (삭제)
-l 사용자의 패스워드를 잠금설정 합니다 ( password lock )
-u 사용자의 패스워드를 잠금해제 합니다 (password Unlock )
-S 사용자의 패스워드 상태를 출력합니다

-S 옵션으로 계정 패스워드의 상태 출력 시 PS는 정상 설정이고

NP는 패스워드 없음을 의미합니다.

LK는 패스워드가 잠김 이거나 없음을 의미합니다.

 


/etc/login.defs : 계정의 기본 패스워드 유효기간 및 자동으로 할당되는 UID/GID 범위를 

                      설정할 수 있습니다.

 

 

 

/etc/default/useradd : /etc/passwd 파일에 생성되는 계정의 기본 설정값을

                              미리 정의해 놓으면 생성할 때마다 기본으로 적용됩니다.

 

각 항목의 내용은 위에서 설명해놓았기 때문에 생략하겠습니다.

 

 

 

/etc/skel : 홈 디렉터리가 생성되면서 복사될 기본 파일들이 들어있습니다.

              만약 계정이 생성된 후 생성되는 계정의 사용자들에게 공지할 내용이 있다면

              /etc/skel 디렉터리에 내용을 포함해 두면 편리합니다.


 

 

날씨가 점점 여름을 향해 치닫고 있습니다 ㅜ 외근이 많으신 IT 직종에 종사하시는 여러분들

 

모두 파이팅하시고 일교차 주의하시고요 ^^

 

이만 포스팅을 마치겠습니다.