리눅스 사용자 생성 및 관리

주영·2023년 9월 11일
1

Linux Master

목록 보기
8/11
post-thumbnail

사용자 생성 명령어

useradd 명령어

= $ adduser

  • 계정 생성 명령어

  • 계정자의 홈 디렉터리 : /home/계정명

  • 생성된 계정자 정보가 저장되는 파일 : /etc/passwd, /etc/shadow, /etc/group

  • $ useradd [옵션] 계정명

    • $ useradd -s bash 계정명 : 기본 셸을 bash로 지정

    • $ useradd -d /USER1 계정명 : 홈 디렉터리를 USER1으로 지정

  • /etc/passwd, /etc/shadow, /etc/group

passwd 명령어

  • 생성된 계정자의 패스워드를 입력 및 변경하는 명령어

  • 생성된 계정자의 패스워드가 기록되는 파일 : /etc/shadow

  • $ passwd [옵션] 계정명

    • $ passwd -S 계정명 : 계정 상태(Status) 표시 (P : 정상, NP : 패스워드 없음, LK : Lock or NP 상태)

    • $ passwd -d 계정명 : 계정의 패스워드 삭제 (delete)

    • $ passwd -l 계정명 : 계정을 lock 상태로 변경 (lock)

    • $ passwd -u 계정명 : 계정의 lock 상태 해제 (unlock)

su 명령어

  • switch user

  • 현재의 사용자 계정에서 로그아웃하지 않고 다른 사용자 계정으로 로그인하여 해당 사용자의 권한을 획득하는 명령어

  • $ su [옵션][사용자] [셸변수]

    • $ su - root : root의 환경변수를 적용하여 로그인
      (적용하지 않으면 pwd의 결과가 여전히 전 계정자의 홈 디렉터리로 뜸. 즉, 위치가 변하지 않고 계정자만 바뀌는 상황이 됨)

    • $ su -s bash root : 지정된 셸(bash)로 로그인

    • $ su -c root : 셸을 실행하지 않고 주어진 명령어 수행

사용자 관련 파일

/etc/default/useradd

  • 명령어 useradd로 사용자 계정을 추가할 때 사용되는 정보를 읽어오는 파일

/etc/passwd

  • 계정자의 정보를 가지고 있는 파일

  • 리눅스에 로그인할 때 사용됨

  • (위의 표 참고)

/etc/shadow

  • 계정자의 패스워드 정보가 암호화되어 있는 파일

  • 암호화 패스워드 및 계정의 유효기간 등을 기록하고 있는 파일

  • (위의 표 참고)

  • $ tail -l /etc/shadow

/etc/login.defs

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

  • 새로운 계정을 생성할 때 반드시 참조하는 파일

  • MAIL_DIR, PASS_MAX_DAYS, PASS_MIN_DAYS, PASS_MIN_LEN, PASS_WARN_AGE, UID_MIN, UID_MAX, GID_MIN, GID_MAX, CREATE_HOME 등 포함

사용자 계정 관리

usermod 명령어

  • 디렉터리 /home 에 위치한 사용자들의 정보를 변경하는 명령어

  • 사용자의 홈 디렉터리 변경, 그룹 변경, 유효기간 등 변경

  • $ usermod [옵션] 계정명

userdel 명령어

  • 기존 계정 정보를 삭제하는 명령어

  • 사용자의 홈 디렉토리 변경, 그룹 변경, 유효기간 등 변경

  • 옵션 없이 userdel 을 사용하면 /etc/passwd, /etc/shadow, /etc/group 에서 해당 계정자의 정보가 삭제됨

  • $ userdel [옵션] 계정명

    • $ userdel -r 계정명 : 계정의 메일 파일과 홈 디렉터리 내용 모두 삭제

    • $ userdel -f 계정명 : 삭제 중에 나는 에러를 무시하고 강제로 삭제

chage 명령어

  • 패스워드의 만료 정보를 변경하는 명령어

  • 시스템에게 로그인한 사용자가 패스워드를 변경해야 하는지 알려줌

  • 시스템 관리 명령어 → root 권한을 가진 사용자만 사용 가능

  • $ chage [옵션] 계정명

그룹 관련 파일

/etc/group

  • 사용자 그룹에 대해 정의되어 있는 파일

  • 모든 계정은 한 개 이상의 그룹에 포함되어 있다.

  • (위의 표 참고)

  • $ vi /etc/group

/etc/gshadow

  • 그룹의 암호를 MD5 로 하여 저장하며, 그룹의 소유주, 구성원 설정이 가능

  • $ cat /etc/gshadow | grep user2

    → user2:!:: (그룹명 : 그룹암호(!=부여x, *=부여o) : 그룹소유주 : 그룹구성원(콤마로 구분)

  • $ cat /etc/gshadow | grep root

    → root:*::

그룹 관리

groupadd 명령어

  • 새로운 그룹을 생성하는 명령어

  • $ groupadd [옵션] 그룹명

  • ex) $ groupadd -d 1004 user3
    : GID 1004인 user3 그룹 생성

groupdel 명령어

  • 기존의 그룹을 삭제하는 명령어

  • 그룹 안에 소속되어 있는 계정명이 있을 경우 해당 그룹은 삭제되지 않는다.

groupmod 명령어

  • 그룹의 설정을 변경하는 명령어

  • $ groupmod [옵션] 그룹명

  • ex) $ groupmod -g 1004 testgroup
    : testgroup의 GID를 1004로 변경

  • ex) $ groupmod -n testGroup testgroup
    : testgroup → testGroup 으로 그룹명 변경


참고 :
https://reakwon.tistory.com/137
https://nearhome.tistory.com/49
https://work-01.tistory.com/204
https://tragramming.tistory.com/87

0개의 댓글

관련 채용 정보