본문 바로가기
[Linux]

CentOS 7 사용자 관리

by SAMSUNG Metaverse-Cloud 2023. 8. 11.
728x90

리눅스는 여러명의 사용자가 한 서버에 접속해서 작업을 진행 할 수 있다.

그러다 보니 사용자의 권한을 관리해 주지 않으면 나도 모르는 사이에 시스템에 많은 변화가 생길 수 있다.

그러므로 사용자와 그룹을 관리하고 그에 할당하는 권한을 조율하는 것이 중요하다.

 

 

사용자 리스트 확인

가장 먼저 진행 할 것은 사용자에 대한 리스트 확인이다. 

 

[root@localhost ~]# cat /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
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
jhyang:x:1000:1000:jhyang:/home/jhyang:/bin/bash
tcpdump:x:72:72::/:/sbin/nologin

 

이런식으로 cat 명령어를 통해서 /etc/passwd 명령어를 통해서 사용자 리스트를 확인해 봤다.

이 중에서 대부분은 시스템 사용자이다.

만약 시스템 사용자를 제외한 나머지 사용자를 보기 위해서는 grep 명령어를 통해서 /bin/bash에 생성된 사용자만 출력하도록 해주면 된다. 

 

[root@localhost ~]# cat /etc/passwd | grep /bin/bash


root:x:0:0:root:/root:/bin/bash
jhyang:x:1000:1000:jhyang:/home/jhyang:/bin/bash

그럼 보다시피 useradd를 통해서 등록한 계정만 확인할 수 있다. 

 

사용자의 리스트를 확인할 시 가장 앞에 있는 이름은 사용자의 ID인것을 알 수 있다. 그렇다면 뒤 내용은 무슨 내용일까?

jhyang:x:1000:1000:jhyang:/home/jhyang:/bin/bash 

가장 먼저 순서대로 사용자의 ID가 나오게 된다 (jhyang)
그 후 사용자의 패스워드가 나온다. 패스워드가 x로 되어 있는 경우 shadow 파일에 암호화 되어 저장되었다는 뜻이다.
세 번째는 사용자 ID 의미로 useradd의 명령어를 통해서 생성이 된다.
네 번째는 사용자가 속한 그룹 ID이다.
다섯번째는 사용자의 계정 이름(정보)이며
여섯 번째는 사용자의 홈 디렉토리 위치이다.
그리고 마지막은 사용자가 사용하는 쉘 종류를 지정 한 것이다. 

 

 

사용자 추가

사용자를 추가하는 방법에는 두 가지가 존재한다.
바로 adduser 와 useradd이다. 이 두 명령어에는 어떤 차이점이 존재할까?

먼저 useradd는 계정을 생성할 시 필요한 모든 옵션을 명시를 해줘야 한다. 명시를 하지 않으면 아무 옵션이 없는 유저를 생성한다.

그에 반해 adduser는 계정을 생성할 시 UID, GID를 자동생성을 해준다. 하지만 홈 디렉토리는 직접 옵션을 명시해 주어야 한다. 

 

하지만 CentOS의 경우에는 adduser가 useradd에 대한 링크 파일로 즉 두 기능이 동일하다. 그러므로 Centos의 경우에는 adduser나 useradd로 생성해도 똑같은 기능을 가지고 있다. 

 

[root@localhost ~]# useradd test

가장 먼저 useradd 명령어를 통해서 test 유저를 생성 했다. 

 

[root@localhost ~]# cat /etc/passwd | grep test


test:x:1001:1001::/home/test:/bin/bash

그 후 사용자 리스트를 확인하는 명령어를 통해서 확인 한 결과 사용자가 잘 추가 된 것을 확인할 수 있다. 
만약 홈 디렉토리를 같이 만드려고 한다면 -d 옵션을 통해서 추가할 수 있다. 

 

 

728x90

댓글