그룹 관리
/etc/group 파일 확인

/etc/group 파일을 확인해보면 리눅스의 등록된 그룹들과 gid 그룹 명 등 들을 확인할 수 있습니다.
1. 그룹 생성
#>groupadd [option] [group_name]
-g [gid] GID 지정

groupadd에 gid를 직접 설정해주는 옵션 -g 를 넣고 centos라는 새 그룹을 생성하여
tail 명령어로 확인해 보니 cantos 그룹의 1105번 gid 가 잘 생성되었습니다.
2. 그룹 변경
#>groupmod [option] [group_name]
-n name : 지정한 name으로 그룹명을 변경한다
-g [gid] GID 변경

-n 옵션을 사용하여 centos라는 그룹의 이름을 devian으로 바꾸었습니다
gid 변경은 옵션 -g를 넣어 똑같이 사용하시면 됩니다.
3. 그룹 삭제
#>groupdel [group_name]

groupdel 명령어로 devian 그룹을 말끔히 삭제했습니다. 잘 가 ㅠㅠ
사용자의 그룹 정보 확인
#>id [user_name]

id라는 명령어를 사용하면 해당 유저의 그룹 명, uid, gid 등을 확인할 수 있습니다
4. 그룹 사용자 관리
#>groupmems [option]
-g [group_name] 그룹 지정 --group
-a [user_name] 그룹의 유저 추가 --add
-d [user_name] 그룹의 유저 삭제 --delete
-l 그룹 목록 표시 --list

#> groupmems -g test -a bong 명령어를 사용하여 bong 유저를 test라는 그룹의 추가하였습니다 bong 유저는 2개의 그룹을 갖습니다.
[보안 가이드라인] 최소한의 계정만 포함
( /etc/group , /etc/passwd)
root 그룹( GID 0 )에 소속된 사용자를 확인

저번에 배운 명령어들을 조합하여 /etc/passwd에 1,3,4번째 필드만 출력하고 0이 들어간 부분을 보여달라는 명령어를 쳐봤습니다. | <- 파이프가 이렇게 좋습니다
--> root , sync, shut down, halt, operator라는 이름들이 root 와 같은 그룹인 gid 0에 소속되어 있는 걸 확인할 수 있습니다. 저것들은 특정 명령어를 실행할 때만 root의 권한을 가지고 와서 실행합니다 poweroff 와 같은 명령어를 사용할 때 말이죠.
패스워드 관리
/etc/shadow
root:$6$Xzy0SSeuDCt8a2dz$CmD0: :0:90:7: : :
----- ----------------------------------- - - --- - - -
1) 2) 3)4) 5) 6)7)8)
1) 사용자 이름
2) 패스워드
$[sha512]$[salt]$[password]
3) 패스워드 최근 수정일(일)
1970년 1월 1일 ~
4) 패스워드 변경 최소일(일)
5) 패스워드 변경 최대일(일)
6) 패스워드 변경 경고일(일)
7) 비활성화 기간(일)
8) 계정 만료 일자(일)
1970년 1월 1일 ~
[기본 정책] /etc/login.defs
이 파일은 유저가 새로 만들어졌을 때 passwd 파일 4,5.6.7.8 번째 필드를 구성하는 파일이다.

유저 생성 시 메일 디렉터리 지정 경로 혹은 비밀번호 최소, 최대 변경일 비밀번호 최소 길이 등 다양한 정보가 담겨있다 저 부분을 다른 숫자로 수정 시 그대로 반영된다.

유저 생성 시 uid, gid 지정 값도 들어있다 일반 유저는 uid, gid 가 최소 1000부터 60000까지 순서대로 지정된다.
passwd
#>passwd
로그인한 사용자의 패스워드를 변경
#>passwd [user_name]
[user_name] 사용자의 패스워드를 변경 ( 관리자만 가능 )

passwd 명령어를 사용하여 해당 유저의 비밀번호를 변경할 수 있다
비밀번호 권장 길이를 무시해도 상관없다.
#>passwd [option] [user_name]
-n [num] 패스워드 변경 최소일
-x [num] 패스워드 변경 최대일
-w [num] 패스워드 변경 경고일
-i [num] 비활성화 기간
-e [date] 계정 만료 일자
-l 계정 잠금 ( !! )
-u 계정 잠금 해제

passwd -l 명령어로 bong 사용자의 계정을 잠궜다.

원래는 비밀번호 설정 도어 있으면 1번 밍 계정의 2번같이 비밀번호가 암호화가 되어있는데
계정이 잠겨있거나 비밀번호가 없으면 3번 bong 계정의 4번처럼!! 느낌표 두 개가 필드를 차지한다 저렇게 되어있으면 서버로 접속 시 접속이 제한된다 (물론 root 계정으로 su는 가능)
chage 시스템 보안을 위해 사용자 패스워드의 만기일을 설정하거나 변경한다.
#>chage [option...] [user_name]
-m [num] 패스워드 변경 최소일
-M [num] 패스워드 변경 최대일
-W [num] 패스워드 변경 경고일
-I [num] 비활성화 기간
-E [date] 계정 만료 일자
-l 확인
아까 본 /etc/login.defs 파일을 참조하여 사용자의 /etc/passwd 4,5,6,7,8 번째 필드를 변경해주는 명령어이다.

우선 -u --unlock 명령어로 bong 사용자의 잠금을 해제해 주었다

/etc/shadow 파일을 확인해 보니 2번째 필드의!! 가 다시 암호화 비밀번호 변경된 걸 볼 수 있다. 이제 chage 명령어를 사용해 패스워드 변경 경고 일을 수정해 보자


6번째 필드의 없었던 1000이라는 숫자가 새로 생긴 걸 확인할 수 있다. 이제 bong 계정은 1000일의 한 번씩 비밀번호를 변경하라는 경고가 올 것이다.
'Linux 2급' 카테고리의 다른 글
리눅스 ACL(Access Control List) (getacl, setacl) (0) | 2023.11.02 |
---|---|
리눅스 기초[특수 권한] (sudo, setuid, setgid, sticky bit) (0) | 2023.11.02 |
리눅스 유저관련 기초 명령어 (su, useradd, usermod, userdel, chown, chgrp) 파일의 소유자,그룹/변경,수정 (0) | 2023.11.02 |
리눅스 사용자 환경설정 파일, 실행파일(GID, UID, echo, passwd) (0) | 2023.11.02 |
리눅스 지역변수,전역변수,알리아스 (Alias) (0) | 2023.11.02 |