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

2024. 6. 13. 13:13·자격증 & 공부/리눅스마스터 1급
목차
  1. CH.4 일반 운영 관리

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 이외에 UID가 0인 사용자가 없도록 해야 함

    - 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 : 일방향 해시 알고리즘을 이용해 암호화한 패스워드

            - 형식 : idid 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 사용자의 UID는 500, GID가 10인 2차 그룹, 기본 쉘은 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

 

 

저작자표시 비영리 변경금지 (새창열림)

'자격증 & 공부 > 리눅스마스터 1급' 카테고리의 다른 글

[리눅스마스터1급 - 1차] 2과목 - 4-3. 프로세스 관리  (1) 2024.06.13
[리눅스마스터1급 - 1차] 2과목 - 4-2. 파일시스템 관리  (1) 2024.06.13
[리눅스마스터1급 - 1차] 1과목 - 3-2. 네트워크의 이해  (0) 2024.06.13
[리눅스마스터1급 - 1차] 1과목 - 3-1. 네트워크 기초  (0) 2024.06.13
[리눅스마스터1급 - 1차] 1과목 - 2. 리눅스 시스템의 이해  (1) 2024.06.13
  1. CH.4 일반 운영 관리
'자격증 & 공부/리눅스마스터 1급' 카테고리의 다른 글
  • [리눅스마스터1급 - 1차] 2과목 - 4-3. 프로세스 관리
  • [리눅스마스터1급 - 1차] 2과목 - 4-2. 파일시스템 관리
  • [리눅스마스터1급 - 1차] 1과목 - 3-2. 네트워크의 이해
  • [리눅스마스터1급 - 1차] 1과목 - 3-1. 네트워크 기초
woojin._.
woojin._.
여러가지 개발을 해보며 발생하는 이야기들에 대한 블로그입니다:)
  • woojin._.
    Jin's Dev Story
    woojin._.
  • 전체
    오늘
    어제
    • 분류 전체보기 (827)
      • Tools (25)
        • eGovFrame (3)
        • GeoServer (3)
        • QGIS (2)
        • LabelImg (2)
        • Git (6)
        • GitHub (1)
        • Eclipse (7)
        • Visual Studio (1)
      • Web & Android (121)
        • SpringBoot (37)
        • Three.js (2)
        • Spring Data JPA (9)
        • 스프링 부트 쇼핑몰 프로젝트 with JPA (25)
        • Thymeleaf (4)
        • Spring Security (15)
        • Flutter (29)
      • Programming Language (61)
        • JAVA (27)
        • JavaScript (14)
        • Dart (2)
        • Python (15)
        • PHP (3)
      • Database (43)
        • PostgreSQL (32)
        • MYSQL (7)
        • Oracle (3)
        • MSSQL (1)
      • SERVER (17)
        • TCP_IP (3)
        • 리눅스 (7)
        • AWS (7)
      • Coding Test (443)
        • 백준[JAVA] (106)
        • 프로그래머스[JAVA] (260)
        • 알고리즘 고득점 Kit[JAVA] (3)
        • SQL 고득점 Kit[ORACLE] (74)
      • CS 지식 (49)
        • [자료구조] (14)
        • [네트워크] (12)
        • [데이터베이스] (10)
        • [알고리즘] (9)
        • [운영체제] (4)
      • 기타 (6)
      • 자격증 & 공부 (62)
        • 정보처리기사 (2)
        • SQLD (6)
        • 네트워크관리사 2급 (5)
        • 리눅스마스터 1급 (44)
        • 리눅스마스터 2급 (1)
        • ISTQB (3)
        • 시스템보안 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 인기 글

  • 태그

    DB
    JPA
    Java
    springboot
    데이터
    플러터
    CS지식
    backjoon
    리눅스마스터
    백준
    리눅스
    리눅스마스터 1급
    CS
    spring
    python
    스프링
    baekjoon
    스프링 부트 쇼핑몰 프로젝트 with JPA
    Flutter
    프로그래머스
    스프링부트
    데이터베이스
    시큐리티
    programmers
    postgresql
    자바
    Linux
    Spring Security
    pcce 기출문제
    Oracle
  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
woojin._.
[리눅스마스터1급 - 1차] 2과목 - 4-1. 사용자 관리

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.