Jin's Dev Story

[리눅스마스터1급 - 1차] 2과목 - 4-1. 사용자 관리 본문

자격증 & 공부/리눅스마스터 1급

[리눅스마스터1급 - 1차] 2과목 - 4-1. 사용자 관리

woojin._. 2024. 6. 13. 13:13

CH.4 일반 운영 관리

1. 사용자 관리

1-1. root 사용자 관리

  1) su 명령어

    - 다른 사용자로 전환하는 명령어

    - 주요 옵션

       : [-] : 전환하는 사용자의 초기화 파일을 실행

          EX) # su root root의 환경변수를 적용하고 전환

       : [-c] : 계정 변환 없이 특정 명령어만 실행 (sudo 명령어와 같은 기능)

          EX) # su -c ‘cat /etc/passwd’ root root 권한으로 해당 명령을 실행

    - su 명령어로 사용자 전환 후의 위치는 동일

 

  2) root 계정 관리

    - root 계정의 UID 값은 0, 슈퍼유저(Super User)라고도 불림

    - root 이외에 UID0인 사용자가 없도록 해야 함

    - TMOUT 환경변수를 사용해 일정 시간 미사용 시 자동으로 로그아웃되도록 설정하여 보안을 강화함

    - 사용자 인증 모듈인 PAM을 이용해 root 계정으로의 직접 로그인을 차단함

    - 일반 사용자에게 특정 명령어에 대한 root 권한이 필요할 때는 su 명령어보다는 sudo 명령어를 이용하도록 함

 

1-2. 사용자 계정 관리

  1) 계정 관리 관련 파일

    - /etc/passwd 파일

       : 파일 내용 구성

[user_account] : [user_password] : [UID] : [GID] : [comment] : [home_directory] : [login_shell]

        1) user_account : 사용자 계정

        2) user_password : /etc/shadow 파일에 암호화되어 저장되어 있음

        3) UID : User ID. 보통 100번 이하는 시스템이 사용, 0번은 시스템 관리자를 나타냄

        4) GID : Group ID

        5) comment

        6) home_directory : 로그인 성공 후에 사용자가 위치할 홈 디렉터리의 절대경로

        7) login_shell : 로그인 셸의 절대경로

 

    - /etc/shadow 파일

       : 파일 내용 구성

             [user_id] : [encryption_pw] : [last_change] : [minlife] : [maxlife] : [warn] : [inactive] : [expires]

        1) user_id : 사용자 계정

        2) encryption_pw : 일방향 해시 알고리즘을 이용해 암호화한 패스워드

            - 형식 : $ id $ salt $ encrypted_password

            - id : 적용된 일방향 해시 알고리즘 (1 : MD5 / 5 : SHA-256 / 6 : SHA-512 )

            - 맨 앞에 !를 덧붙이면 로그인을 막을 수 있음

        3) last_change : 마지막으로 패스워드를 변경한 날(1970.01.01.부터 지난 일수로 표시)

        4) minlife : 최소 패스워드 변경 일수(패스워드를 변경할 수 없는 기간)

        5) maxlife : 최대 패스워드 변경 일수(패스워드 변경 없이 사용할 수 있는 일수)

        6) warn : 경고 일수(maxlife 필드에 지정한 일수가 얼마 남지 않았음을 알림)

        7) inactive : 최대 비활성 일수

        8) expires : 계정이 만료되는 날(1970.01.01.부터 지난 일수로 표시)

 

    - encryption_pw 필드의 기호 뜻

    - /etc/login.def 파일

       : 사용자 계정의 설정과 관련된 기본값을 정의한 파일

       : 기본 메일 디렉터리, 패스워드 에이징, 사용자 계정의 UID/GID 값 범위 등의 기본값을 설정할 수 있음

    - /etc/skel 디렉터리

       : 사용자 계정 생성 시 공통으로 배포할 파일이나 디렉터리를 저장하는 디렉터리

    - /etc/default/useradd 파일

       : useradd 명령어로 계정 생성 시 기본값을 지정한 파일

    - /etc/login.defs : 사용자의 패스워드에 적용되는 해시 알고리즘의 이름을 확인할 수 있는 파일

       : 사용자 계정의 설정과 관련된 기본값을 정의한 파일

           ex) 사용자 계정에 부여되는 UID 값을 1000번부터 할당되도록 설정할 때 이용하는 파일

 

1-3. 그룹 계정 관리

  1) 그룹 관리 관련 파일

    - /etc/group 파일

       : 파일 내용 구성 : 그룹명 : 그룹 패스워드 : GID : 그룹 멤버

       : 그룹 패스워드에 적용되는 해시 알고리즘 : SHA-512

       : /etc/passwd 파일에는 기본 그룹의 GID가 저장되고, /etc/group 파일에는 2차 그룹의 정보가 저장

    - /etc/gshadow 파일

       : 파일 내용 구성 : 그룹명 : 암호화된 그룹 패스워드 : 관리자 : 그룹 멤버

 

1-4. 관련 명령어

  1) useradd 명령어

    - 사용자 계정을 생성하는 명령어

    - 주요 옵션

       : [-u] : UID 지정

       : [-o] : UID의 중복을 허용

       : [-g] : 기본 그룹의 GID 지정

       : [-G] : 2차 그룹의 GID 지정

       : [-d] : 홈 디렉터리 지정

       : [-s] : 기본 쉘을 지정

       : [-c] : 코멘트 지정

       : [-D] : 기본값을 설정하거나 출력 (/etc/default/useradd 파일 내용)

       : [-e] : 유효 기간 지정 (/etc/shadow 파일의 expires 항목)

       : [-f] : 비활성 일수 지정 (/etc/shadow 파일의 inactive 항목)

           EX) # useradd -u 500 -G 10 -s /bin/bash -e 2018-12-31 testuser testuser 사용자의 UID500, GID102차 그룹, 기본 쉘은 bash, 유효 기간은 2018-12-31까지로 설정하여 생성

    - 옵션 없이 계정 생성할 경우 패스워드를 설정하지 않았기 때문에 /etc/shadow 파일에 패스워드 항목이 !!로 지정되어 있음 (패스워드가 잠겨 있다는 기호)

 

  2) usermod 명령어

    - 사용자 계정의 정보를 변경하는 명령어

    - 주요 옵션

       : useradd 명령어와 옵션이 동일

       : [-l] : 계정 이름 변경

           EX) # usermod -l usertest testuser testuser 사용자의 이름을 usertest로 변경

       : [-L] : 계정 잠금(lock)

       : [-e] : 계정 만기일 지정

       : [-d] : 사용자 홈 디렉터리 변경

       : [-f] : 패스워드 만기일 지난 후 패스워드에 lock을 설정할 유예기간

       : [-g] : 새로운 사용자의 그룹 지정

       : [-G] : 사용자를 포함한 그룹을 지정

 

  3) userdel 명령어

    - 사용자 계정을 삭제하는 명령어

    - [-r] 옵션 : 홈 디렉터리 제거

 

  4) chage 명령어

    - 패스워드 에이징에 관한 설정을 하는 명령어

    - 주요 옵션

       : [-m] : /etc/shadow 파일의 minlife 항목 설정 (passwd -n)

       : [-M] : /etc/shadow 파일의 maxlife 항목 설정 (passwd -x)

       : [-W] : /etc/shadow 파일의 warn 항목 설정 (passwd -w)

       : [-I] : /etc/shadow 파일의 inactive 항목 설정 (usermod -f)

       : [-E] : /etc/shadow 파일의 expires 항목 설정 (usermod e)

 

  5) passwd 명령어

    - 사용자 계정의 패스워드 변경/관리하는 명령어

    - 주요 옵션

       : [-n] : /etc/shadow 파일의 minlife 항목 설정

       : [-x] : /etc/shadow 파일의 maxlife 항목 설정

       : [-w] : /etc/shadow 파일의 warn 항목 설정

       : [-l] : 계정 잠금(lock)

       : [-u] : 계정 잠금 해제(unlock)

       : [-d] : 패스워드 삭제

       : [-e] : 다음 로그인 시에 반드시 패스워드를 변경해야 함

 

  6) groupadd 명령어

    - 그룹을 생성하는 명령어

    - 주요 옵션

       : [-g] : GID 지정

       : [-o] : GID의 중복을 허용

 

  7) groupmod 명령어

    - 그룹의 정보를 변경하는 명령어

    - 주요 옵션

       : groupadd 명령어와 옵션이 동일

       : [-n] : 그룹 이름 변경

           ex) groupmod n [변경할 그룹명] [기존 그룹명]

 

  8) groupdel 명령어

    - 그룹을 삭제하는 명령어

 

  9) gpasswd 명령어

    - 그룹의 패스워드를 변경하거나 그룹에 계정을 추가/삭제하는 명령어

    - 주요 옵션

       : [-a] : 사용자 계정을 그룹에 추가

           EX) # gpasswd -a testuser testgroup testgroup 그룹에 testuser 사용자를 추가

       : [-d] : 사용자 계정을 그룹에서 삭제

       : [-r] : 그룹 암호를 삭제

       : [-A] : 그룹의 관리자를 지정

           EX) # gpasswd -A testuser testgroup testgroup 그룹의 관리자를 testuser 사용자를 관리자로 설정

 

  10) newgrp 명령어

    - 계정의 소속 그룹을 변경하는 명령어

       EX) # newgrp grp01 grp01로 그룹을 변경

 

  11) 사용자 정보 확인 명령어

     (예제는 fedora, fedora2 사용자가 로그인 중인 상태에서 fedora 사용자가 명령 수행)

    - who 명령어 : 현재 시스템을 사용하는 사용자의 정보를 출력하는 명령어

       : [-q] : 사용자의 이름만 출력

       : [-H] : 출력 항목의 제목도 함께 출력 (Header)

       : [-b] : 마지막으로 재시작한 날짜와 시간을 출력 (boot)

       : [-r] : 현재 런레벨을 출력 (runlevel)

 

 

    - w 명령어

       : 현재 시스템을 사용하는 사용자의 정보와 작업 정보를 출력하는 명령어

    - whoami 명령어

       : 현재 작업하고 있는 자신의 계정을 출력

    - id 명령어

       : 현재 작업하고 있는 자신의 계정명, 그룹명, UID, GID를 출력하는 명령어

    - users 명령어

       : 현재 로그인되어있는 사용자의 계정을 출력

    - groups 명령어

       : 사용자 계정이 속한 그룹을 출력

    - lslogins 명령어

       : 시스템 내에 있는 사용자 계정에 대한 정보를 출력

 

  12) 무결성 검사 명령어

    - pwck 명령어

       : /etc/passwd 파일과 /etc/shadow 파일 내용의 무결성을 검사하는 명령어

    - grpck 명령어

       : /etc/group 파일과 /etc/gshadow 파일 내용의 무결성을 검사하는 명령어

       : 각 그룹의 필드 개수 검사

       : 그룹 중복 유무 검사

       : 유효한 그룹 여부 검사

       : 유효한 GID 여부 검사

       : 그룹 멤버와 관리자 검사

 

 


해당 블로그를 참고하여 정리했습니다.

https://bangu4.tistory.com/139

 

[Linux Master] 리눅스 마스터 공부법, 기출문제, 요약집

www.ihd.or.kr/main.do KAIT 자격검정 시험접수 정보통신 자격검정 시험 원서등록을 하실 수 있습니다 www.ihd.or.kr 시험에 대한 모든 내용이 홈페이지에 있지만 다시한번 정리하겠습니다. 1급 기준으로 1

bangu4.tistory.com