ITStudy/Linux

Linux 사용자와 그룹 관리 기본 01

Todays Goal 2021. 2. 9. 23:54
728x90
반응형

이번 시간에는 리눅스 사용자와 그룹을 관리하는 방법에 대해서 알아보도록 하겠습니다.

 

모든 내용을 한 포스트에 담기에 내용이 많아 부득이하게 사용자와 그룹을 구분하도록 하겠습니다. 그룹과 관련된 정보가 궁금하신 분은 다음 포스트를 이용해 주시기 바랍니다.

 

우선 사용자를 관리하기에 앞서 해당 정보가 저장되는 파일을 확인해봅니다.

# 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

 

작성하고 보니 알아볼 명령어 들이 많네요. 그룹을 관리하는 법에 관해서는 다음 포스트를 참고해 주시기 바랍니다. 

 

이상 사용자를 추가하고 관리하는 방법에 대해 살펴보았습니다. 감사합니다.

 

728x90
반응형