1. /etc/passwd
보안이나 리눅스를 배우신다면 /etc/passwd에 대한 이해는 필수입니다. 정보 보안기사의 단골 손님이기도 합니다.
/etc/passwd에는 시스템에 등록된 사용자의 정보들이 담겨있는 파일입니다. 이 파일을 이용해서 사용자의 계정과 인증을 관리하게 됩니다.
원본 root:x:0:0:root:/root:/bin/bash
root | ID |
:x | Password |
:0 | UID |
:0 | GID |
:root | Comment |
:/root | 홈디렉토리 |
:/bin/bash | LoginShell |
# useradd
사용자를 추가합니다. 기존 설정을 변경하는 usermod와 옵션이 완전히 동일합니다.
-u | UID를 지정합니다. 기본적으로 1000번부터 시작하며 마지막 번호 뒤로 자동 생성 됩니다. |
-g | GID를 지정합니다. 기본그룹의 ID, 존재하지 않는 그룹을 지정하면 계정 생성이 되지 않습니다. 지정하지 않는다면 UID와 같은 GID가 설정됩니다. |
-G | 추가 그룹을 설정합니다. 하나의 사용자는 여러 그룹의 속할 수 있습니다. |
-c | 코멘트를 설정합니다. 주로 부서를 설명할 때 많이 사용합니다. |
-d | 홈 디렉토리 위치를 지정합니다. 반드시 상위 디렉토리가 존재해야하며, 존재하는 홈디렉토리 이동시에는 -m 옵션을 사용해야 합니다. -m 옵션을 사용해야만 홈 디렉토리 내의 파일이나 디렉토리도 같이 이전됩니다. |
-s | Login Shell입니다. /bin/false login 불가 이유 설명 없음 /sbin/nologin 사용할 수 없는 계정이라는 메세지 출력함. |
<예제1>
g 계정을 생성하면서 uid 3000번 gid 3000번 추가그룹 root, 코멘트 tech, 홈디렉토리 /home_2/.g, login shell은 sh로 지정하라
<예제2>
h 계정을 생성하면서 uid 4000번 gid 3000번 추가그룹 1000, 코멘트 sales, 홈디렉토리 /home_3/h, Login은 불허. 단, 이유는 출력하라.
# userdel
사용자 삭제할때는 userdel -r 옵션을 반드시 사용하도록 합니다. 관련된 디렉토리까지 삭제되기 때문입니다.
-r 옵션 사용 안하면 디렉토리를 남기고 계정이 삭제된 것을 볼 수 있습니다. 남은 디렉토리는 나중에 문제가 생길 수 있으니 -r 옵션 사용을 익히시는게 좋습니다.
2. /etc /group
그룹ID:Password:GID:그룹에 속한 사용자
3. /etc /shadow
ID:암호화Password:마지막으로패스워드변경날짜:패스워드최소사용일:패스워드최대사용일:만료일전경고메세지출력일:유예기간:계정의만료일:사용안함
원본
a:$6$N/QibYE4$E4cFJIjTR767/nreD3TugSi1xt/lNIxbKWOASJk99.hwkIZNQy3c517lgRG/vxOsUTH53Uxo/PZSKfjKsCTeQ1:19072:0:99999:7:::
a | ID |
:$6$N~~ | 암호화 된 패스워드 |
:19072 | 마지막으로 패스워드 변경한 날짜 (기준일 1970년 1월 1일) |
:0 | 패스워드 최소 사용일 (이 기간 동안 패스워드 변경 불가) |
:99999 | 패스워드 최대 사용일 (이 기간 이후에는 반드시 패스워드 변경) |
:7 | 경고메세지 출력일 (패스워드 만료일 몇일 전부터 경고 메시지 출력) |
: | 유예기간 (패스워드 만료일 이후 로그인시 패스워드 변경 다시 로그인) |
: | 계정의 만료일 (계정이 만료되면 패스워드는 상관없이 접근 불가능. 기간이 정해져있는 프로젝트 업무의 외부 출입자들에게 적용) |
: | 사용안함 |
# chage
사용자의 패스워드 만기 정보를 변경 및 설정하는 명령어입니다. 쉽게 말해서 사용자 패스워드 정보 관리입니다.
시스템에게 로그인한 사용자가 패스워드를 변경해야 하는지를 알려줍니다.
시스템 관리 명령어이다 보니, root 권한을 가진 사용자만 사용 가능합니다.
-l | 설정 도움말 |
-l userid | user의 설정 정보 확인 |
-m | 패스워드 최소 사용일 |
-M | 패스워드 최대 사용일 |
-W | 경고 메세지 출력일 |
-I | 유예 기간 |
-E | 계정의 만료일 |
<예제 1>
aa계정을 생성 패스워드 최소 사용일 5, 최대사용일 45, 경고메세지는 7일전부터, 유예기간은 5일, 계정의 만료일은 유예기간으로부터 약 7일후로 설정하세요.
그리고 다음과 같은 테스트를 진행해보세요.
1. 최소사용일 테스트
2. 최소 사용일 이후 테스트
3. 경고메세지 출력
4. 유예기간 내 테스트
5. 유예기간 후 계정 만료전 테스트
6. 계정만료후 테스트
7. 유예기간내 패스워드 변경 테스트
8. chage -l 확인
# chage -m 5 -M 45 -W 7 -I 5 -E 2022/05/17 aa
1. 최소 사용일 테스트
2. 최소 사용일 이후 테스트
3. 경고메세지 출력
4. 유예기간 내 테스트
5. 유예기간 후 계정 만료전 테스트
6. 계정만료후 테스트
7. 유예기간내 패스워드 변경 테스트
8. chage -l 확인
'IT > Linux' 카테고리의 다른 글
리눅스_DAS, NAS, SAN (0) | 2022.03.22 |
---|---|
리눅스_사용자 계정 및 그룹 관리_02_/etc/default/useradd, /etc/login.defs, /etc/skel (0) | 2022.03.22 |
리눅스_ACL_setfacl,getfacl (0) | 2022.03.17 |
리눅스_파일 속성 분석 (0) | 2022.03.17 |
리눅스_tar + 압축 (0) | 2022.03.16 |