사용자 관리
1. 사용자 정보 파일.
사용자(User, Account) : 사용자 계정은 다른 사용자와 명령얼 실행 할 수 있는 프로그램간에 보안경계를 제공하는데 사용된다.
/etc/passwd : 사용자의 기본적인 암호가 저장된 파일
정보 출력 내용 (구분자는 : )
[root@server1 ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
root : 사용자 번호
x : 사용자 암호 ( 보안상 /etc/shadow ) 파일에 옮겨 둠.
0 : 사용자 아이디 (UID)
0 : 그룹아이디 (GID) 사용자의 주 그룹 (Primary Group)
root : 설명정보 (Comment / 이름, 전화번호, 이메일등)
/root : Home 디렉토리
/bin/bash : 로그인 쉘
/etc/shadow : 사용자의 암호가 저장된 파일
정보 출력 내용 (구분자는 $ )
[root@server1 ~]# cat /etc/shadow
root:$6$aOe2IgPFVE31kN8p$LMOsjdkMu30ZtO0yJ......gduiv3b0TMnN1mur2F56/RA4Dwc.:16110:0:99999:7:::
root : 사용자 이름
$6$aOe2IgPFVE31kN8p$LMOsjdkMu30ZtO0yJ......gduiv3b0TMnN1mur2F56/RA4Dwc : 사용자 암호
$6$= 1:MD5 / 5:SHA256 / 6:SHA512
$aOe2IgPFVE31kN8p$ = salt key
$LMOsjdkMu3.....Dwc = 암호화된 암호
:16110:0:99999:7::: : 사용자 암호 이용기간 관련 명령. (password age)
2. 사용자 관리 CMD.
useradd : 사용자 추가 명령어 (passwd : 암호생성)
형식예시
useradd user01
useradd -u 1000 -g users -c "Test User" -d /users/user01 -s /bin/ksh user01
* 기본적으로 /etc/passwd 에 들어갈 내용을 지정하는것.
주요 옵션 (기본값)
-u UID 자동으로 UID 선택(UID 1000 이상), 기존 사용자 UID 다음번째 UID 선택
-g GID 자동으로 GID 선택(GID 1000 이상), 사용자 이름과 동일한 그룹 생성
-c COMMENT 기본적으로 필수 지정은 아님.
-d HOME_DIR /home/$USER 디렉토리 생성 ( /etc/skel 의 내용을 복사해서 추가함 )
-s /bin/bash 기본적으로 /bin/bash 지정
* -M : 사용자의 홈폴더를 지정하지 않는 옵션. (주로 큰 용량이 필요 한 경우)
* -r (system account) : 시스템 관리 사용자 추가, 별도 암호지정을 크게 하지 않고 UID를 1000 미만으로 소유한다. 주로 Apache등의 사용자로 부여할때 사용한다자
[참고] 일반 사용자들을 찾는 형식 : # awk -F: '$3 >= 1000 && $3 <= 60000 {print $0}' /etc/passwd
[참고] /etc/skel
사용자가 추가될 때 사용자의 홈폴더는 /etc/skel 안의 자료를 복사하여 홈폴더를 제작한다.
즉 /etc/skel 내 bashrc 등 환경파일을 수정 해 두면 사용자들을 추가할 때 원하는 환경설정들을 일괄적으로 지정하며 생성할 수 있다.
[실습] 사용자를 만들고 /etc/passwd 의 내용을 분석해보자.
usermod : 사용자 수정 명령어
형식
# usermod -u 2000 user01
# usermod -l user03 -d /home/user03 -m user01
* 기본적으로 옵션들은 useradd 옵션과 매우 유사하다.
-l : 유저 이름변경 / 이하 홈폴더 등도 변경해야함
-s : 기본 쉘 변경
[실습] 사용자의 정보를 수정해보자. 사용자 정보 파일.
userdel : 사용자 삭제 명령어
형식
# userdel user01 : /etc/passwd, /etc/shadow, /etc/group 의 정보 삭제
# userdel -r user01 : /etc/passwd, /etc/shadow, /etc/group 및 /$HOME /var/spool/mail/$USER 등. 자원들도 삭제
[실습] 사용자를 삭제할때 -r 옵션의 유무의 따른 정보를 확인 및 비교해보자
(/etc/passwd /etc/shadow /etc/group /$HOME /var/spool/mail/$USER)
그룹 관리
그룹(group) : 사용자들의 묶음.
한명의 사용자는 하나이상의 그룹에 속해야한다
사용자가 속한 그룹의 종류는 주 그룹(Primary Group) 과 부 그룹(Secondary Group)이 있다
한명의 사용자는 한개의 주 그룹과 최대 31개의 부그룹에 속할 수 있다.
1. 그룹 정보 파일.
/etc/group : 그룹정보가 담겨져 있는 파일
정보 해석
[root@server1 ~/bin]# cat /etc/group | grep fedora
fedora:x:1000:user01
fedora : 그룹 이름
x : 그룹 암호
1000 : 그룹 아이디 (GID)
user01 : Secondaty Group에 속한 사용자 목록
2. 그룹 관리 CMD.
groupadd : 그룹을 생성한다.
형식
# groupadd class1
# groupadd -g 2000 class1 : GID를 지정하며 생성됨.
[참고] usermod CMD + group (useradd 도 적용가능)
# usermod -G class1,class2 user01 (usermod -aG class1,class2 user01)
-g : primary group (기존 primary group 삭제 후 해당 그룹으로 지정)
-G : secondary group (기존 scondary group 삭제 후 해당 그룹으로 지정)
-a : 기존 그룹을 유지한체 추가 그룹 지정
groupmod : 그룹을 수정한다.
형식
# groupmod -g 1001 class1 : 그룹 GID 변경
# groupmod -n class3 class1 : 그룹 이름 변경 (class1 -> calss3)
groupdel : 그룹을 삭제한다.
형식
# groupdel class1 : 그룹을 삭제한다
패스워드 에이징 (password aging)
시스템 보안을 위해 사용자 페스워드 만기일을 설정 및 변경하는 명령어.
/etc/shadow 파일을 참조하여 작동함.
user01:$1$eG0hsAqw$Cfawvh5OsIye2rKYcRPH.0:Last Change:MIN:MAX:WARN:INATIVE:Expire Date:
user01:$1$eG0hsAqw$Cfawvh5OsIye2rKYcRPH.0:14650:30:90:7:30:15000:
* 모든 날자의 기준은 1970년1월1일 이다.
정보 확인.
Last Change : 암호가 최근에 변경된 시간.
MIN : 암호를 변경할 수 없는 날자. / 반복적, 암호 변경시 기간이 다시 재지정됨.(기본값:30일)
MAX : 암호를 사용할 수 있는 날자. 기간이 지나면 로그인시 변경암호 입력을 요구함
반복적, 암호 변경시 기간이 다시 재지정됨. (기본값:90일)
WARN : 경고메시지를 주는 기간. (기본값:MAX의값 -7)
INATIVE : MAX 기간이후 INATIVE 기간이 지나면 inative 상태로 변경되어 로그인이 불가하다.
Expire Date : 암호 사용 가능 최대 날자. / 절대적, 해당 기간 이후는 암호 사용불가.
1. passwd aging 관리 CMD
chage
형식
chage [OPTIONS] [USERNAME]
server time.kriss.re.kr iburst
옵션
-l : chage 정보 확인.
-m : min 값 변경 / -M : max 값 변경
-E : expire date 값 변경 ( 값 삭제 : -E "" [USERNAME] )
[참고] 전역설정, 개인설정
전역설정 : /etc/login.defs 파일 수정. * 단 기존 생성된 유저들이 아닌 새로 생성되는 유저들에게 적용
개인설정 : chage
[실습] 암호의 주기값을 지정하고 확인해보자.
'모의해킹 침해대응 과정 > Liunx 관리' 카테고리의 다른 글
리눅스 백업&복구 / day 12, 13 (0) | 2021.04.14 |
---|---|
리눅스 잡 스케줄링 / day 12 (0) | 2021.04.14 |
리눅스 software 관리 RPM/YUM / day 10 (0) | 2021.04.12 |
리눅스 SWAP / day 10 (0) | 2021.04.12 |
리눅스 RAID / day 9 (0) | 2021.04.09 |