Etc
리눅스 마스터 2급 정리(3) - 사용자 생성 및 계정 관리 명령어
하다보면 되겠지
2025. 5. 2. 00:13
사용자 관련 정리
사용자 설정 관련 환경 구성 파일
- /etc/default/useradd
- 사용자 추가 시 기본 설정 정보로 활용
- vi 편집기나 -D 옵션으로 변경 가능
$ cat /etc/default/useradd > GROUP=100 > HOME=/home INACTIVE=-1 SHELL=/bin/bash SKEL=/etc/skel # 사용자 홈 디렉터리로 복사될 초기 환경 설정 파일이 저장된 디렉터리
- /etc/passwd
- 사용자 계정 정보를 담고 있으며 리눅스 로그인 시 사용됨
- 비밀번호 뿐 아니라 여러 필드가 콜론(:)으로 구분됨
- username:password:uid:gid:comment:home-directory:shell
- 패스워드 필드는 “x”로 표시되며 pwconv ↔pwunconv로 설정 가능
- /etc/shadow
- 패스워드 정보가 암호화되어 저장
- username:password:lastchange:mindays:maxdays:warndays:inactive:expire:flag
- mindays: 비밀번호 변경 후 재설정 가능한 최소 기간
- inactive: 비밀번호 만료 후 계정 사용 불가능까지 유예 기간
- etc/login.defs
- 사용자 계정 설정 시 기본값
- 새로운 계정을 생성할 때 반드시 참조하는 파일임
useradd, adduser
- 사용자 계정과 관련 정보를 생성
- 기본 홈 디렉터리: /home/계정명
- 계정 정보 파일: /etc/passwd, /etc/shadow, /etc/group
- useradd <-옵션> [계정명]
passwd
- 계정의 패스워드 입력 및 변경
- /etc/shadow 파일에 패스워드 변경 및 저장
- passwd <-옵션> [계정명]
su(switch user)
- 로그아웃 없이 다른 사용자의 계정으로 로그인하여 해당 사용자의 권한을 획득
- su <옵션> [계정명] <쉘변수>
usermod
- 사용자 홈 디렉터리, 그룹, 유효 기간, 쉘 정보를 변경
- usermod <-옵션> [계정명]
userdel
- 사용자 계정 정보 삭제
- /etc/passwd, shadow, group에서 사용자 정보 삭제
- usermod <-옵션> [계정명]
- -r: 사용자의 메일 파일과 홈 디렉터리 모두 삭제
chage
- 패스워드 만료 정보를 변경
- change <-옵션> [명령어]
그룹 관련 정리
그룹 설정 관련 환경 구성 파일
- /etc/group
- 사용자 그룹에 대해 정의
- 모든 계정은 한 개 이상의 그룹에 포함되어 있음
- 해당 파일을 이용하여 계정자의 그룹 정보를 직접 변경 가능
- groupname:password:gid:users
- users: 콤마(,)로 구분된 사용자 계정 나열
- /etc/gshadow
- 그룹의 패스워드를 MD5로 암호화하여 저장
- 그룹의 소유주, 구성원 설정 가능
- groupname:password:owner:users
- password: !이면 암호가 없는 상태
- users: 콤마(,)로 구분된 사용자 계정 나열
groupadd
- 새로운 그룹 생성
- group add <-옵션> [그룹명]
- -g: GID 지정
-r: 시스템 그룹 시 500번 이하의 값 중 가장 높은 범위를 할당
groupdel
- 기존 그룹 삭제
- 소속된 유저가 있을 경우 삭제 불가능
- groupdel [그룹명]
groupmod
- 그룹 설정 변경
- groupmod <-옵션> [그룹명]
- -g: GID 변경
-n: 새로운 그룹명 설정
접속 정보 조회 정리
users
- 시스템에 로그인한 사용자 정보를 출력
- users <-옵션>
who
- 현재 시스템에 접속해 있는 사용자들을 조회
- 사용자 계정명, 터미널 정보, 접속 시간 등 확인 가능
- 관리자 root와 일반 사용자 모두 사용 가능
- who am i 혹은 whoami로 자신의 정보 조회 가능
- who <-옵션>
w
- 현재 접속 중인 사용자들의 정보를 나타냄
- 현재 서버 시간, 부팅 후 작동 시간, 접속자 수, 접속자별 평균 부하율, 접속자별 계정명, TTY 이름, 로그인 시간 등
- JDPU: TTY 장치명에서 사용되는 모든 프로세스의 CPU 사용 시간
- PCPU: 해당 프로세스 결과값에서 WHAT 필드에 표시된 프로세스에서 사용하는 CPU 총 시간
id
- uid, gid, group 정보 표시
id <-옵션> [계정명]
$ uid=0(root) gid=0(rooT) groups=0(root)
groups
- 계정이 속한 그룹 목록을 확인
- groups [계정명]