본문 바로가기
  • Welcome.
:: Cyber Security 🚩/System

[Secure]_System-Linux_#04_[<사용자 계정 관련 파일>, useradd, passwd, shadow, group, skel, home, /var/spool/mail, login.defs, <shell종류>, <권한 설정>]

by EunBird 2022. 1. 17.


< 사용자 계정 관련 파일 >

 

 

사용자 계정의 구조도

/etc/default/useradd : useradd 명령어의 기본값
/etc/passwd : 사용자 계정 정보 문서 파일
/etc/shadow : 사용자 pw 정보 문서파일
/etc/group : 사용자 그룹 정보 문서 파일
/etc/skel : 계정 생성시 구성되는 파일디렉토리들의 저장소 --> 뼈대
/home/사용자 : 사용자 홈디렉토리 
/var/spool/mail/사용자 : 사용자 메일함

 

 

cat /etc/login.defs 

 중요 내용  ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
     PASS_MAX_DAYS   99999  # 거의 무한대
     PASS_MIN_DAYS   0  # 최소 날짜 (pw를 바꾼 시점에서부터 해당 숫자만큼의 날짜 동안만 사용가능)
     PASS_MIN_LEN    5  # 최소 길이
     PASS_WARN_AGE   7   # 몰라도됨.(pw만료일 7일 전에 경고를 띄워줌)

     UID_MIN                  1000  # 사용자 계정 첫 부여 번호
     UID_MAX                 60000  # 사용자 계정 마지막 부여 번호

     SYS_UID_MIN               201 # 시스템에 할당된 부여 번호
     SYS_UID_MAX               999  #  ''

     GID_MIN                  1000  # 그룹 계정 첫 부여 번호
     GID_MAX                 60000  # 그룹 계정 마지막 부여 번호

     SYS_GID_MIN               201  # 시스템 그룹에 할당된 부여 번호
     SYS_GID_MAX               999  # ''

#USERDEL_CMD    /usr/sbin/userdel_local    --> userdel 명령어 정보 위치

CREATE_HOME     yes  --> user를 만들때 home 디렉토리를 자동으로 만들것인지

UMASK           077   --> 기본 부여 권한

USERGROUPS_ENAB yes  --> 사용자를 만들때 만들어지는 사용자가 속한 그룹도 사용자를 삭제 시 동시에 삭제할 것인지

ENCRYPT_METHOD SHA512  --> 암호화 방식
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

cat /etc/login.defs

 




cat /etc/default/useradd  

중요 내용 ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

# useradd defaults file
GROUP=100 
   --> 기본 GID (UID와 같이 번호를 사용하라.)
   ex) 한 계정의 UID와 GID모두 1002일 수 있음.
HOME=/home 
   --> 계정 생성시 계정의 디렉토리를 /home으로 설정.
INACTIVE=-1 
   --> 패스워드 유효기간을 비활성화.(유효기간이 없다. --> 한번 설정 후 계속 사용.)
EXPIRE= 
   --> 패스워드 만료기간 비활성
SHELL=/bin/bash 
   --> 계정 기본 shell(명령어 해석기), bash shell
SKEL=/etc/skel
   --> 계정 기본 skel(뼈대) 을 /etc/skel 로 설정.
CREATE_MAIL_SPOOL=yes
   --> 사용자마다 개인 메일 파일을 가질지


ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

cat /etc/default/useradd

 




cat /etc/passwd

중요 내용  ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin

. . .

. . .
tcpdump:x:72:72::/:/sbin/nologin
--> tcpdump : 현재 흐르고 있는 네트워크 패킷 캡쳐 데몬. wireshark와 비슷.
--> tcpdump [ip 주소] [TCP]
test:x:1000:1000::/home/test:/bin/bash
test2:x:1001:1003::/home/test2:/bin/bash

사용자명 : 비번(안보임) : uid : gid : 별명(주석) : homedir : shell

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

cat /etc/passwd



cat /etc/shadow 

중요 내용  ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
. . . 
test : $6$ittGTz3y$xXk1FqJCPB.nOdSUGu/ : 19001 : 0 : 99999 : 7 : : :

. . .

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 

계정명 : sha512로 암호화한 passwd : 패스워드 변경일 : 최소패스워드 변경가능일 : 패스워드 최대일수 : 패스워드 경고일수 : 패스워드 만료 후 비활성화 일 수 : 민료일 :

1. 계정명 --> test

2. sha512로 암호화한 passwd --> $6$ittGTz3y$xXk1FqJCPB.nOdSUGu/

3. 패스워드 변경일 --> 19001

4. 최소패스워드 변경 가능일 --> 0

5. 패스워드 최대일 수 --> 99999

6. 패스워드 경고일 수 --> 7

7. 패스워드 만료 후 비활성화 일 수  --> x

8. 만료일 --> x

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

cat /etc/shadow

 

 


 


cat /etc/group

내용  ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

test:x:1000:
testusers:x:1001:
group1:x:1002:
test2:x:1003:

cat /etc/group


ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ


 

**
cd /etc/skel 의 3개의 파일들.
cd /home/test 에 있는 3개의 .bash* 파일들은 계정 생성시 /etc/skel 에서 복사하여 가져온다.


ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ




< shell 종류 >


(1) /bin/sh : 복구용 쉘
(2) /bin/ksh : UNIX 기본쉘 -> 화살표 방향키 인식 no(키보드로 해야함.)
(3) /bin/bash : Linux 전용 쉘
(4) /bin/dash : Debian 계열 전용 쉘
(5) /bin/csh : C 언어 프로그램 전용 쉘

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 


 

< 권한 설정 >


              [UID] [GID] [Other]
              r w x  r w x  r w x
umask   4 2 1  4 2 1  4 2 1  : 777


R ead : 읽기 -->  cat, vi(읽기), ls
W rite : 쓰기 -->  vi 문서 수정, 저장, 파일 생성 삭제 이름 변경
X ute : 실행 -->  스크립트, 데몬, crontab


-rw-r--r-- 1 root root  193 Apr  1  2020 .bash_profile

 rw- r-- r-- : 644 소유자는 읽기, 쓰기 / 그룹과 other은 읽기

ex)
 UMASK 755 rwx r-w r-w test test 
 --> test 계정 :  읽기, 쓰기, 실행 모두 가능.
 --> test그룹에 속한 사용자 :  읽기, 실행 만 가능.
 --> other : 읽기, 실행 가능

 







728x90

댓글