2022. 9. 16. 11:22ㆍLinux
먼저 /etc/shadow에 대해서 알아보겠습니다.
/etc/shadow에는 사용자별 암호화된 패스워드와 패스워드 정책이 기재돼 있습니다.
관리자 계정과 그룹만이 이 파일을 읽을 수 있습니다.
이중 사용자 하나를 골라 각 속성에 대한 설명을 해보겠습니다.
hmh : 사용자명
$6$YJJssyld$iAyO4A.COGHNGpGDOQE.PZziabGdSJbEt4HTGdWeNNEbx549gABpuYTlx67blclO27XC1AHS1IRhQuFJTUBGm/
: 암호화된 패스워드
19253 : 암호 마지막으로 변경한 날. 1970년 1월 1일 기준으로 지나간 일 수로 표시됩니다.
0 : 암호 최소 사용기간
99999 : 암호 최대 사용기간
7 : 암호 만료 이전 경고일 수
: 암호 만료 후 비활성화 기간. 비활성화 기간 동안 암호를 변경해야 계정이 잠기지 않습니다.
: 만료일. 역시 1970년 1월 1일 기준으로 지나간 일 수로 표시됩니다.
사용자의 패스워드 만기 정보를 변경 및 설정하는 명령어에 대해서 알아보겠습니다.
# chage [옵션] 사용자명
옵션 -
l : 지정한 사용자의 암호 정보 확인
d : 마지막 암호 변경일을 수정
I : 암호 만료 후 유예기간 설정
E : 계정의 만료일 설정
m : 암호 최소 사용일 설정
M : 암호 최대 사용일 설정
W : 암호 만료 전 경고 메세지 발송기간 설정
hmh 사용자의 암호 정보를 확인해 보겠습니다.
# chage -l hmh
/etc/shadow 보다 정보를 알기 쉽게 볼 수 있습니다.
이제 시나리오를 설정하고 그 시나리오대로 chage 명령어를 이용하여 hmh의 암호만기 설정을 해보겠습니다.
마지막 암호 변경일 : 22/09/18
I암호 최소 사용일 : 3일
암호 최대 사용일 : 30일
암호 만료 전 경고메세지 발송기간 : 7일
암호 만료 후 유예기간 : 5일
계정의 만료일 : 22/11/01
# chage -m 3 -M 30 -W 7 -I 5 -E 22/11/01 hmh
shadow 파일안에서 hmh 사용자의 내용도 변경된 모습입니다.
설정 후
- 최소 사용일 전에 암호 변경 시도 시 메세지
- 최소 사용일 이후 암호 변경 시도 시 메세지
- 암호 만료 전 경고메세지
- 암호 만료 후 유예기간 중 메세지
- 유예기간 지난 후 메세지
- 계정 만료 시 메세지
까지 확인해 보겠습니다.
확인 전에 날짜와 관련된 명령어에 대해서 알아보겠습니다.
# date [옵션 '날짜 시간']
옵션 -
- s : 날짜와 시간을 변경. root만 사용 가능
옵션없이 date를 입력하게 되면 현재 날짜와 시간이 나오게 됩니다.
1. 최소 사용일 전에 암호 변경 시도 시 메세지
passwd 명령 입력 후 마지막에 오류가 뜨면서 암호가 변경되지 않는 모습입니다.
2. 최소 사용일 이후 암호 변경 시도 시 메세지
암호 최소 사용일과 최대 사용일 사이인 2022/09/25일로 설정했더니 암호변경이 성공한 모습입니다.
3. 암호 만료 전 경고 메세지
hmh로 로그인하니 4일 안에 암호가 만료된다고 경고해 줍니다.
4. 암호 만료 후 유예기간 메세지
접속하자마자 암호를 변경하라는 메세지와 상태가 됩니다.
5. 유예기간 지난 후 메세지
계정이 만료되었다고 뜹니다.
6. 계정 만료 후 메세지
유예기간 지난 후 메세지와 동일합니다.
/etc/skel 파일에 대해서 알아보겠습니다.
skel은 skeleton 즉 뼈대라는 단어를 따왔습니다. 사용자의 홈 디렉토리를 만드는 뼈대가 되기 때문입니다.
/etc/skel 파일의 내용을 보면 우리가 사용자를 추가하고 난 후 그 사용자의 홈 디렉토리를 확인했을때와 같습니다.
여기서 우린 사용자의 홈디렉토리는 /etc/skel을 그대로 복사하는 것을 눈치챌 수 있습니다.
한번 /etc/skel에 관리자가 사용자에게 요구하는 메뉴얼 파일을 넣어본다고 가정하겠습니다.
manual.txt파일을 넣은 이후부터 추가되는 사용자들의 홈디렉터리에는 똑같이 manual.txt 파일이 생깁니다.
/etc/login.defs 파일에 대해서 알아보겠습니다.
/etc/login.defs 파일은 사용자 생성 시 기본 값을 정의한 파일입니다.
/etc/login.defs 파일의 항목에 대해서 말씀드리겠습니다.
- MAIL_DIR : 기본 메일 디렉터리
- PASS_MAX_DAYS : 패스워드 최대 사용일
- PASS_MIN_DAYS : 패스워드 최소 사용일
- PASS_WARN_AGE : 패스워드 만료 경고일
- PASS_MIN_LEN : 패스워드 최소 길이
- UID_MIN, UID_MAX : 사용자 계정의 UID 범위
- SYS_UID_MIN, SYS_UID_MAX : 시스템 계정의 UID 범위
- GID_MIN, GID_MAX : 사용자 계정의 GID 범위
- SYS_GID_MIN, SYS_GID_MAX : 시스템 계정의 GID 범위
- CREATE_HOME : 홈 디렉터리 생성 여부
- UMASK : umask 값 설정
- USERGROUPS_ENAB : 사용자 계정 삭제시 그룹 삭제 여부
- ENCRYPT_METHOD : 암호화 기법
이 중 패스워드, UID/GID를 설정해 보겠습니다.
/etc/passwd 파일을 확인해 보면 /etc/login.defs 를 편집하기 전에 추가한 사용자들과
편집한 후 추가한 사용자의 UID/GID가 확실히 차이나는 모습입니다.
또 /etc/shadow 파일을 확인해 보면 암호 관련 설정에서도 차이나는 모습입니다.
마지막으로 /etc/default/useradd 파일에 대해서 알아보겠습니다.
/etc/default/useradd 파일도 /etc/login.defs 처럼 사용자 생성 시
각종 설정을 디폴트로 셋팅할수 있게 해주는 파일입니다.
다음과 같은 항목이 있습니다.
- GROUP : UID와 같은 GID를 생성하지 않을 시 기본적으로 속하게 되는 그룹을 지정
- HOME : 사용자의 홈 디렉토리가 위치하게될 상위 디렉토리
- INACTIVE : 패스워드 유예기간
- EXPIRE : 계정 만료 기간
- SHELL : 할당되는 셸
- SKEL : 스켈 디렉토리의 위치
- CREATE_MAIL_SPOOL : 메일 파일을 생성할 것인지 지정
이 중 GROUP, HOME, SHELL, SKELL, CREATE_MAIL_SPOOL 항목을 알아보겠습니다.
다음과 같이 설정하였습니다.
홈 디렉토리가 없다는 에러를 방지하기 위해 미리 만들어 주겠습니다.
/skeleton 디렉토리도 만들어 주겠습니다.
2222 그룹도 만들어 주겠습니다.
이제 -N 옵션을 사용하여 그룹을 생성하지 않으면서 사용자를 만들어 보겠습니다.
/etc/passwd파일을 살펴보면
GID 2222, 홈 디렉토리 /HomeSweetHome/udefault, 셸 /bin/sh로 잘 설정됐습니다.
그리고 스켈도 확인해 보겠습니다.
마지막으로 /var/spool/mail로 가서 확인해보면 CREATE_MAIL_SPOOL 을 no 로 설정했었기 때문에
udefault 사용자의 파일은 없는것을 확인할 수 있습니다.
끝!
'Linux' 카테고리의 다른 글
9. 기본적인 디스크이론과 관리 (3) | 2022.09.19 |
---|---|
8. 중괄호 { } 활용과 명령어 연속 입력 (3) | 2022.09.19 |
6. 사용자 및 그룹 관리 (3) | 2022.09.13 |
5. 파일 속성, 권한과 ACL (3) | 2022.09.13 |
4. tar 아카이브와 파일 압축 (7) | 2022.09.11 |