본문 바로가기

OS/Linux

Linux - 사용자 계정 관리 명령어

728x90

[사용자 계정 관리 명령어]

  • 사용자 정보 조회 : id
    id [옵션] 사용자계정
     -g : 기본 그룹의 GID 출력
     -G : 모든 그룹의 GID 출력
     -u : 사용자의 uid 출력
     -n : 위 옵션과 함께 사용, 숫자대신 이름 출력()
    ex) # id -Gn samso

  • 현재 로그인되어 있는 사용자 목록 조회 : users
    ex) # users

  • 사용자 계정 추가 : useradd
    useradd [옵션] 로그인 계정
     -c comment : 사용자 이름 또는 정보
     -d home_directory : 사용자 계정 홈 디렉토리
     -e expire_date : 사용자 계정 유효 기간
     -f inactive_time : 비활성 기간
     -g initial_group : 기본 그룹
     -G groups : 기본그룹 외에 추가로 소속될 그룹
     -s shell : 기본 로그인 셀
     -u uid : 사용자 계정 uid
     -k skel SKEL_DIR : skel 디렉토리를 기본을 사용하지 않고 특정 디렉토리로 지정 // 사용자 계정 환경 파일 저장장소
     -m create-home : 새 사용자를 위한 홈디렉토리 생성

    ex) # useradd -m -k /etc/common samso -> /etc/skel이 아닌 /etc/common 디렉토리의 환경 설정 파일을 이용해 계정 생성 (/etc/common 에 환경 파일(.bash_profile 등 필요))
    ex) # useradd -g admin -G group1 samso1 // 기본 그룹 : admin, 추가 소속 그룹 : group1

    ※ useradd 명령어를 통해서 사용자를 추가하게 되면 아래와 같은 작업들이 진행됩니다.
     a) "/etc/passwd" 파일에 사용자 정보 설정
     b) "/etc/group" 파일에 그룹정보 설정
     c) "/home/사용자명/" 위치에 홈 디렉토리 생성
     d) "/var/spool/mail/" 디렉토리에 사용자명의 메일 파일 생성

  • 사용자 계정 변경 : usermod
    usermod [옵션] 로그인 계정
     -c comment : 사용자 이름 또는 정보
     -d home_directory : 사용자 계정 홈 디렉토리
     -e expire_date : 사용자 계정 유효 기간
     -f inactive_time : 비활성 기간
     -g initial_group : 기본 그룹
     -G grous : 추가 그룹 변경
     -s shell : 기본 로그인 셀
     -u uid : 사용자 계정 uid
     -m move-home : 홈디렉토리 변경 시, 새 홈디렉토리로 파일 이동(-d 옵션 하고만 사용할 수 있음)
     -l : 사용자명 변경
     -L : 사용자의 패스워드에 Lock을 걸어 로그인 제한

    ex) # usermod –e 2025-04-05 samso1  -> samso1 계정의 만기일을 2025-04-05 일로 설정
    ex) # usermod -s /bin/csh samso1  -> samso1 계정의 기본 쉘을 c쉘로 설정
    ※ 모든 일반 사용자들에 대해 일시적인 서버접속 금지하기 위해서는 /etc/nologin 파일을 생성해 두면 됩니다.

  • 사용자 계정 삭제 : userdel
    userdel [옵션] 계정
     -r  : 해당 계정자의 홈디렉토리까지 모두 삭제

    ex) # userdel -r samso1

  • 사용자의 비밀번호 설정 : passwd
    passwd 사용자계정
    ex) # passwd  samso1

 

반응형

 

 [그룹 관리 명령어]

  • 사용자가 속해있는 모든 그룹정보 조회 : groups // 그룹들의 정보는 /etc/group 파일에 존재함
    groups 사용자계정
    ex) # groups  samso1

  • 사용자 그룹 추가 : groupadd
    groupadd [옵션]  그룹명           
     -g : 그룹의 GID(Group ID) 설정
     -o  : GID 499이하 값으로 지정
     -f  : 강제로 그룹 생성
    ex)  # groupadd -g 1000  group1  -> GID를 1000으로 지정하여 group1의 그룹을 추가

  • 사용자 그룹 변경 : groupmod
    groupmod [옵션]  그룹명           
     -g : 그룹의 GID 변경
     -o  : GID 499이하 값으로 변경
     -n  : 그룹명 변경
    ex) # groupmod -g 800  group1  -> 그룹명 group1의 GID를 800 변경
    ex) # groupmod –n newgroup1 group1  -> 그룹명 group1을 newgroup1으로 변경

  • 사용자 그룹 삭제 : groupdel
    groupdel 그룹명           
    ex) # groupdel group1  -> group1 그룹 삭제

[사용자, 그룹 관리와 관련된 파일들]

 - /etc/passwd : 사용자 계정 정보 파일

 - /etc/shadow : 암호화된 사용자 비밀번호 저장파일

 - /etc/group : 사용자 그룹 정보 저장파일

 - /etc/skel : 사용자 등록 시 홈디렉토리에 복사되는 원본파일이 저장된 디렉토리

 - /etc/default/useradd : 새 사용자 등록 시 기본 설정정보 파일(홈 디렉토리 기본 위치, 기본 쉘 종류, 기본 그룹 등)

 - /etc/login/defs : 기타 사용자 생성 옵션들이 정의된 파일

 

※ /etc/passwd의 파일 저장 형식

 - 사용자계정:암호:UID:GID:사용자이름:홈디렉토리위치:사용쉘

ex) # cat /etc/passwd


※ /etc/shadow의 파일 저장 형식
 - 사용자계정:암호:암호 파일 최종 수정일:암호 변경 최소일:암호 변경 최대일:암호 만료 경고기간:암호 파기기간:계정만료기간:예약필드
ex) # cat /etc/shadow

암호가 없으면 !! 로 표시 됨 확인

728x90
반응형