본문 바로가기

Linux

[Linux] 사용자 계정 관리(에티버스러닝)

이 글은 에티버스러닝에서 K-Digital Training 과정을 수강하며 작성한 글이다. 강사님이 여러 번에 걸쳐 풀어주신 내용을 한 번에 정리해보았다. 블로그를 쓰며 정리하니 시간은 좀 오래 걸려도 내용이 머리에 잘 새겨지는 거 같다. 

 

 

리눅스는 다중 사용자를 지원한다. 다중 사용자란? 하나의 운영체제를 여러 명이 동시에 사용할 수 있다는 뜻이다. 

(리눅스 사용자 계정은 크게 root 사용자, 일반 사용자로 구분된다. 그리고 일반 사용자에는 system 사용자도 포함된다. )

그래서 리눅스에서 일반 사용자를 추가하고 관리하는 것이 필요하다. 

 

 

 

<사용자 계정 관련 파일>

1. /etc/passwd

사용자 계정들을 확인할 수 있는 파일이다. 

root:x:0:0:root:/root:/bin/bash

이 원본 파일을 분석해보자 

원본 설명
root ID
x passwd
0 UID
0 GID
root comment
/root 홈 디렉토리
/bin/bash login shell

 

2. /etc/shadow

사용자의 비밀번호와 관련된 파일이다. 

a:$6$2EB9VJ.RvQHB11JV$Qd2s2Sg3H1KPpNWxmcbkiVC1PM3TGTQHmTyIavVIYRGI6noSLsRSxszYyGfDsLVmNFC6dU537y75.zjGc8IYN/:19524:0:99999:7:::

원본 설명
a ID
:$6$2EB9VJ.RvQHB11JV$Qd2s2Sg3H1KPpNWxmcbkiVC1PM3TGTQHmTyIavVIYRGI6noSLsRSxszYyGfDsLVmNFC6dU537y75.zjGc8IYN/ 암호화된 password
sha512 방식으로 /etc/log.defs 파일에 설정되어 있다. 
:19524 password를 마지막으로 수정한 날짜(1970년 1월 1일을 기준으로 며칠이 지났는지를 의미한다.)
:0 password 최소일 
:99999 password 최대 사용일
:7 password 만료 전 경고 메시지 출력일 
: password 만료 후 유예기간 
: 계정의 만료일 - 외부인력을 위해 사용
: 사용 안 함 

 

3. /etc/default/useradd

사용자 계정 생성시 기본 설정 정보가 저장된 파일

 

4. /etc/login.defs

사용자 계정 생성 시 기본 설정 정보가 저장된 파일

 

5. /etc/skel/

사용자 계정 생성 시 여기 존재하는 모든 파일과 디렉토리들이 자동 복사된다. 

 

 

<사용자 계정 명령어> 

사용자 계정 생성

useradd a  #a라는 사용자 추가 
echo 'It1' | passwd --stdin a   #a 사용자의 비밀번호를 'It1'으로 설정

echo: 문자열을 터미널에 출력하는 명령어 / 파이프라인을 이용해서 대화형이 아닌 스크립트로 구현할 수 있다.

 

 

사용자 계정 설정

usermod -u 11000 -d /home_1/a -c sales -s /sbin/nologin a

/etc/passwd 파일에서 사용자 a에 대한 설정 정보를 확인할 수 있다. 

-u: UID 변경

-d: 홈 디렉토리 변경 

-c:  Comment

-s: shell 변경 

 

혹은

/etc/default/useradd 에서 내용을 편집할 수 있다. 

 

사용자 계정 삭제

userdel a

 

 

<사용자 계정 그룹 관리> 

 

 

<사용자 계정 설정> 

chage -m 4 -M 30 -W 5 -I 5 -E 2023/07/25 a

-m: 최소 사용일

-M: 최대 사용일

-W: 경고 메시지 출력일 

-I: 유예 기간

-E: 계정 만료일

 

설정 확인

chage -l c