이번 시간에는 리눅스 사용자와 그룹을 관리하는 방법에 대해서 알아보도록 하겠습니다.
모든 내용을 한 포스트에 담기에 내용이 많아 부득이하게 사용자와 그룹을 구분하도록 하겠습니다. 그룹과 관련된 정보가 궁금하신 분은 다음 포스트를 이용해 주시기 바랍니다.
우선 사용자를 관리하기에 앞서 해당 정보가 저장되는 파일을 확인해봅니다.
# vi /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
adm:x:3:4:adm:/var/adm:/sbin/nologin
# - 중 략 -
unbound:x:997:994:Unbound DNS resolver:/etc/unbound:/sbin/nologin
sssd:x:996:993:User for sssd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
rngd:x:995:992:Random Number Generator Daemon:/var/lib/rngd:/sbin/nologin
/etc/passwd의 각 행은 유저를 의미하고 각각 ':'을 구분자로 하여 구분된 정보는 루트를 예로 들어봤을 때 아래와 같습니다.
root | x | 0 | 0 | root | /root | /bin/bash |
사용자이름 | 암호 | 사용자ID | 사용자 그룹 | 전체 이름 | 홈 디렉토리 | 기본 셸 |
두번째 필드의 암호는 'x'로 나타나는데 이는 보안을 위해서 아이디와 패스워드를 분리해놓은 겁니다. 해당 정보는 암호화 되서 /etc/shadow에 저장됩니다.
# vi /etc/shadow : 해당 파일은 사용자들의 패스워드 정보를 담고 있습니다.
root:$6$eVeZAOcQEeo7lZ51$tfoXm2NU.A5Slu5QyPYcs3D0hPT95uerTgyIhqZgrQ4bn1J0::0:99999:7:::
bin:*:18397:0:99999:7:::
daemon:*:18397:0:99999:7:::
adm:*:18397:0:99999:7:::
# - 중 략 -
unbound:!!:18660::::::
sssd:!!:18660::::::
sshd:!!:18660::::::
rngd:!!:18660::::::
rooot | $6$- | 0 | 99999 | 7 | ||
사용자이름 | 패스워드 | 패스워드 최종수정일 |
패스워드 변경최소일 |
패스워드 변경최대일 |
패스워드 만료경고 기간 |
패스워드 파기 기간 |
이제 본격적으로 사용자를 관리해봅니다.
상세한 옵션은 man 명령어를 통해서 확인해 보시면 추가 포스트를 참조해주시기 바랍니다. ( ex. man useradd )
1. useradd (또는 adduser) : 새로운 사용자를 추가해줍니다. /etc/passwd, /etc/shadow 및 /etc/group에 새로운 레코드가 추가됩니다.
# useradd a
# adduser b
# cat /etc/passwd
A:x:1000:1000::/home/A:/bin/bash
B:x:1001:1001::/home/B:/bin/bash
# cat /etc/shdow
A:!!:18667:0:99999:7:::
B:!!:18667:0:99999:7:::
# cat /etc/group
A:x:1000:
B:x:1001:
# ls -al /home
drwx------. 2 A A 62 2월 9 22:29 A
drwx------. 2 B B 62 2월 9 22:29 B
* man useradd(또는 adduser)를 사용할 시 둘다 동일하게 useradd manual을 볼 수 있습니디.
2. passwd : 사용자의 비밀번호를 지정하거나 변경할 수 있습니다.
# passwd A
A 사용자의 비밀 번호 변경 중
새 암호:
새 암호 재입력:
passwd: 모든 인증 토큰이 성공적으로 업데이트 되었습니다.
# cat /etc/passwd
A:x:1000:1000::/home/A:/bin/bash
B:x:1001:1001::/home/B:/bin/bash
# cat /etc/shadow
A:$6$HUwZiQrz9n3C.dJ9.:18667:0:99999:7:::
B:!!:18667:0:99999:7:::
3. usermod : 사용자의 계정파일을 변경합니다.
# usermod -g root A | usermod -g A B
# ls -al /home
합계 0
drwxr-xr-x. 4 root root 24 2월 9 22:33 .
dr-xr-xr-x. 17 root root 224 2월 3 01:43 ..
drwx------. 2 A root 62 2월 9 22:29 A
drwx------. 2 C A 62 2월 9 22:29 B
# usermod -l C B | usermod -d /home/C -m C
# ls -al /home
합계 0
drwxr-xr-x. 4 root root 24 2월 9 23:44 .
dr-xr-xr-x. 17 root root 224 2월 3 01:43 ..
drwx------. 2 A root 62 2월 9 22:29 A
drwx------. 2 C A 62 2월 9 22:29 C
4. userdel : 사용자를 삭제합니다.
# userdel A
# userdel -r C
# ls -al /home
합계 0
drwxr-xr-x. 3 root root 15 2월 9 23:49 .
dr-xr-xr-x. 17 root root 224 2월 3 01:43 ..
drwx------. 2 1000 root 62 2월 9 22:29 A
# cat /etc/passwd
# cat /etc/group
A:x:1000:
B:x:1001:
5. chage : 사용자 암호와 관련된 설정을 합니다.
# useradd A // 예제를 위해 A user를 다시 생성해봅니다.
# chage -l A
마지막으로 암호를 바꾼 날 : 2월 10, 2021
암호 만료 :안함
암호가 비활성화 기간 :안함
계정 만료 :안함
암호를 바꿀 수 있는 최소 날 수 : 0
암호를 바꿔야 하는 최대 날 수 : 99999
암호 만료 예고를 하는 날 수 : 7
# chage -m 1 -M 30 -E 2021/12/31 -W 01 A
마지막으로 암호를 바꾼 날 : 2월 10, 2021
암호 만료 : 3월 12, 2021
암호가 비활성화 기간 :안함
계정 만료 :12월 31, 2021
암호를 바꿀 수 있는 최소 날 수 : 1
암호를 바꿔야 하는 최대 날 수 : 30
암호 만료 예고를 하는 날 수 : 10
작성하고 보니 알아볼 명령어 들이 많네요. 그룹을 관리하는 법에 관해서는 다음 포스트를 참고해 주시기 바랍니다.
이상 사용자를 추가하고 관리하는 방법에 대해 살펴보았습니다. 감사합니다.
'ITStudy > Linux' 카테고리의 다른 글
VMware 상 CentOS8 최소 설치 후 네트워크 고정IP 설정 (0) | 2021.02.11 |
---|---|
Linux 사용자와 그룹 관리 기본 02 (0) | 2021.02.10 |
Linux 실습을 위한 CentOS & VMware 설치(2) (0) | 2021.02.03 |
Linux 실습을 위한 CentOS & VMware 설치(1) (0) | 2021.02.02 |
Linux 파일구조 및 Hard Link와 Symbolic Link의 이해 (0) | 2021.01.23 |