상세 컨텐츠

본문 제목

[Linux] Linux 사용자 및 그룹 관리 | useradd, usermod 명령어

IT/Linux

by o_zeew 2022. 2. 22. 15:26

본문

(1) 사용자 및 그룹 관리

(2) 사용자 계정 생성

(3) /etc/passwd 파일 분석

(4) useradd

(5) usermod


1. 사용자 및 그룹 관리

 

관련된 파일 및 디렉토리
[/etc/passwd] : id,패스워드,uid,gid,코멘트,홈디렉토리,shell
[/etc/group] : id,패스워드,gid,사용자
[/etc/shadow] : id,패스워드,마지막으로 패스워드 수정한날짜,패스워드최소사용기간,
                      패스워드최대사용기간,경고메세지출력일,유예기간,계정만료일
[/etc/default/useradd] : 기본그룹,유예기간,계정만료일,shell,spool생성여부
[/etc/login.defs] : 메일사서함위치,패스워드최소사용일,최대사용일,경고메세지출력일,
                         패스워드최소길이,uid시작및끝번호,gid시작및끝번호,패스워드암호화방식 sha512
[/etc/skel] : 사용자 계정 생성 시 기본적으로 홈디렉토리에 복사하는 파일및디렉토리





2. 사용자 계정 생성

 

사용자 계정 생성 시 자동생성되는 디렉토리 및 파일
[/home/계정이름] : 사용자의 홈디렉토리
[/var/spool/mail/계정이름] : 메일 사서함 파일
   *사용자 계정 삭제 시 -r 옵션을 사용하지 않으면 위의 두 파일과 디렉토리가 그대로 남아있게 됨
   *동일한 이름의 계정 생성 시 계정은 생성되지만 uid가 충돌 문제 발생

      *해결책
- rm -rf /home/계정명, rm -rf /var/spool/mail/계정명 수동으로 삭제 할 것

 

 




3. /etc/passwd 파일 분석

분석 (칼럼별로 분석, 칼럼은 콜론으로 구분됨)
a: : ID
x: : password

1000: : uid 사용자별로 고유하다. 기본적으로 1000번부터 생성됨. /etc/login.defs
         만일 순차적 2000번 uid를 사용하면 그 다음 계정은 2001로 생성됨
         중간의 제외된 uid를 사용하지 않음
1000: : gid 그룹별로 고유하다. 사용자 계정을 생성하면 동일한 그룹이 자동 생성됨
: : 코멘트 설명
/home/a: : 사용자의 홈디렉토리
/bin/bash : login 주어지는 shell

 


 


4. useradd
   : 사용자 계정 생성 시 /etc/passwd의 Colume 값을 변경할 수 있는 옵션

useradd a

 

    *옵션
-u : uid 설정. 기본적으로 1000번부터 할당, 마지막 uid값 이후로 생성

옵션을 지정하지 않고 기본으로 생성 시 마지막 uid값 이후로 생성


-g : gid 설정. 기본적으로 uid와 동일한 gid 자동 생성. 단 -g 옵션은 해당 그룹이 존재해야함

3000 그룹이 존재하지 않아 -g 옵션 사용 불가
기본적으로 uid와 gid는 동일하게 자동 생성

 

-G : 추가그룹 지정.

-G 옵션으로 3000그룹을 지정하면 기본gid는 uid와 동일하게 생성. id를 확인하면 추가적으로 3000그룹에도 속해있음


-c : comment 설정

user f에 test 코멘토리 설정


-d : 홈디렉토리 지정. 해당 홈디렉토리 존재해야함.

홈디렉토리를 지정하기 위해 디렉토리 먼저 생성 후 -d 옵션을 사용해 사용자 생성


-s : login Shell 지정. 기본값 /bin/bash
      => shell은 명령어 해석기, App 전달하는 명령을 받아서 Kernel에 전달
           shell이 없으면 login 불가
           현재 shell 확인 : # echo $SHELL

현재 shell 확인


          * 모든 shell 확인 : # cat /etc/shells

모든 shell 확인


          * login shell 변경 : # chsh -s 로그인shell 사용자
                               

root의 shell을 변경 후 로그인 했을 때 root의 shell


         *  login 불가능 : /bin/false 로그인불가 메세지 출력 안함

shell을 /bin/false로 지정하면 로그인불가 메세지가 출력되지 않음
h로 로그인 했을 때 로그인불가 메세지 없이 로그인 거절


           * login 불가능 : /sbin/nologin 로그인 불가 메세지 출력

/sbin/nologin 옵션을 사용한 후 로그인을 시도했을 때 나오는 로그인불가능 메세지



6. usermod 

    : 생성 되어있는 사용자 계정의  /etc/passwd의 Colume 값을 변경할 수 있는 옵션

      useradd 의 옵션과 동일
   * 단 홈디렉토리 변경 시 내부 컨텐츠까지 이동을 위해서는 -m 옵션 추가

/home/a 디렉토리 하위에 있는 파일들
-m 옵션을 사용해 a의 홈디렉토리 변경

 

관련글 더보기