리눅스 그룹 관리, 패스워드 관리
그룹 관리
- groupadd(그룹 생성)
- groupmod(그룹 변경)
- groupdel(그룹 삭제)
gpasswd(관리자 기능)
cat / etc/group
root:x:0:root
|명령어|설명| |——|—| |root:|그룹 이름| |x:|패스워드| |0:|그룹 식별자| |root|멤버 사용자|
groupadd
groupadd [옵션] 그룹명
- [옵션]
- -g : GID를 지정한다.
- -o : -g 옵션과 함께 사용되며 GID를 중복허용한다.
groupadd -g 401 admin
groupadd -g 402 product
groupadd 0g 403 sale
useradd -G admin,produck,sale user1
useradd -G admin user2
useradd user3
tail -n 3 /etc/passwd
사진첨부
tail -n 6 /etc/group
사진첨부
mkdir -m 777 /test
ls -ld /test
사진첨부
cd /test
cat > file1
123 (ctrl + z)
cat > file2
abc (ctrl + z)
cat > file3
xyz (ctrl + z)
chmod o-rwx file*
ls -lh
사진첨부
chgrp admin file1
chgrp product file2
chgrp sale file3
사진첨부
# su - user1
$ whoami
$ groups
$ cd /test
$ ls -lh
$ cat file1
$ cat file2
$ cat file3
사진첨부
$ groups
$ newgrp sale
$ touch file4
$ ls -lh
사진첨부
file4가 만들어진 것을 확인할 수 있다.
# su - user2
$ whoami
$ groups
$ cd /test
$ ls -lh
$ cat file1
$ cat file2
$ cat file3
$ cat file4
사진첨부
file 2, 3은 거부 된 것을 확인할 수 있다.
사진첨부
groupmod
groupmod [옵션] 그룹명
- [옵션]
- -g : GID를 지정한다.
- -o : GID를 중복 허용한다.
-n : 그룹의 이름을 변경시 사용
- root 사용자 uid = 0번
- root 그룹 gid = 0번
# groupadd group1
# tail -n 1 /etc/group
# groupmod -n group999 group1
# tail -n 1 /etc/group
사진첨부
# tail -n 1 /etc/group
# groupmod -g 444 group999
# tail -n 1 /etc/group
사진첨부
# groupadd group777
# tail -n 1 /etc/group
# groupmod -g 0 -o group777
# tail -n 1 /etc/group
사진첨부
groupdel
# groupadd sales
# groupdel sales
gpasswd
- gpasswd 명령은 단순히 그룹의 암호를 설정하는 것뿐만 아니라 그룹의 암호를 삭제하고 그룹에 멤버를 추가하거나 삭제하는 기능도 수행한다.
/etc/group 과 /etc/gshadow 파일을 관리한다.
- 사용형식 :
# gpasswd [옵션] [멤버] [그룹]
|옵션|설명| |——|—| |-a|그룹 관리자가 해당 그룹에 사용자를 추가| |-A|root가 해당 그룹에 관리자를 지정| |-d|그룹 관리자가 해당 그룹에서 사용자를 없앰| |-M|root가 그룹 멤버를 지정| |-r|그룹 패스워드를 제거함| |-R|해당 그룹 멤버만 접근할 수 있도록 제한함|
# useradd cho1
# useradd cho2
# useradd cho3
- 일단 cho3를 cho1그룹의 관리자로 추가 후 패스워드를 지정하고 cho1을 그룹에 속하게 하는 과정.
# gpasswd -A cho3 cho1
# su cho3
$ gpasswd cho1
cisco
cisco
$ gpasswd -a cho1 cho1
$ tail -3 /etc/group
사진첨부
- 그룹 패스워드를 설정했을 때, 그룹에 속하지 않은 사용자가
newgrp
명령어를 이용하여 일시적으로 1차 그룹이 cho1ㅇ로 바뀐 걸 보여줌.
# su cho2
$ id -ng
$ newgrp cho1
cisco
$ id -ng
$ exit
$ id -ng
사진첨부
- 다시 패스워드를 제거한 경우는 해당 그룹에 속한 사용자만이
newgrp
로 해당 그룹에 접근할 수 있음.
# gpasswd -r cho1
# su cho2
$ newgrp cho1
$ exit
# su cho1
$ newgrp cho1
$ id -ng
$ exit
사진첨부
- 결론
그룹 패스워드를 설정
하면 그룹에 속하지 않은 사용자가 해당 그룹을 1차 그룹으로 일시적으로 사용할 수 있다.그룹 패스워드가 없으면
해당 그룹에 속한 사용자만 그룹을 사용할 수 있다.newgrp
명령어는 사용자의1차 그룹
을일시적
으로변경
해준다.
- 참고
- 보조 그룹 ( -G ) 에 사용자 추가, 제거하는 방법
- 참고
# gpasswd -a user1 sales
# gpasswd -d user1 sales
패스워드 관리
- ` # cat /etc/shadow`
- root:$1$mlwtctm6$uOCC8NgxpImEY2MulKpAC0:18186:0:99999:7:::
사진첨부
사진첨부
- 주기적으로 패스워드를 강제로 변경하기 위해서는 사용하는 설정이다. 현재 ccna 계정은 암호최대변경주기가 99999일이기 때문에 패스워드 에이지 설정이 안 된 상태임
# useradd ccna
# tail -1 /etc/shadow
# chage -l ccna
사진첨부
# chage ccna
3
7
(enter)
(enter)
10
2023-03-22
# tail -1 /etc/shadow
# chage -l ccna
사진첨부
잘 바뀐 것을 확인할 수 있다.
# useradd ccnp
# chage -m3 -M7 -W7 -I10 -E2023-03-22 ccnp
# tail -1 /etc/shadow
# chage -l ccnp
사진첨부
한 줄로 명령어를 작성해서 바꿀 수도 있다.
passwd 명령어
passwd [옵션] 유저명
- -d : 패스워드 NULL 지정(암호 삭제) : 패스워드 없이 바로 로그인
- -l : 패스워드 잠금
- -u : 패스워드 잠금 해제
- -S : 패스워드 상태 출력
비밀번호 저장위치
# useradd user10
# cat /etc/shadow | grep user10
사진첨부
!!
가 뜨는 것은 암호가 없기 때문에 로그인이 안 되는 것을 의미한다.
# passwd user10
# cat /etc/shadow | grep user10
사진첨부
- user10의 패스워드가 암호화가 되어 저장된 것을 확인할 수 있다.
로그인 실패 시 계정 잠금 설정하기
# vi /etc/pam.d/system-auth
-- 상단에 추가 --
auth required /lib/security/pam_tally.so onerr=fail deny=1
account required /lib/security/pam_tally.so onerr=fail
-- 상단에 추가 --
사진첨부
- 확인하기
# exit
# user10 으로 로그인 -> 비밀번호 틀리게 설정
# faillog
사진첨부
잠겨진 것을 확인할 수 있다.
- 잠금 풀어주기
# faillog -r -u user10
사진첨부
잠금이 풀렸다.