리눅스는 여러명의 사용자가 한 서버에 접속해서 작업을 진행 할 수 있다.
그러다 보니 사용자의 권한을 관리해 주지 않으면 나도 모르는 사이에 시스템에 많은 변화가 생길 수 있다.
그러므로 사용자와 그룹을 관리하고 그에 할당하는 권한을 조율하는 것이 중요하다.
사용자 리스트 확인
가장 먼저 진행 할 것은 사용자에 대한 리스트 확인이다.
[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 옵션을 통해서 추가할 수 있다.
'[Linux]' 카테고리의 다른 글
리눅스 메인보드 변경 시 네트워크 설정 문제 (0) | 2023.08.14 |
---|---|
Linux ) tar란 무엇인가? (8) | 2023.08.13 |
TCP 3-way Handshake, 4-way Handshake (5) | 2023.08.10 |
[Linux] 시스템 조회 명령어 (0) | 2023.02.23 |
[Linux] 디렉토리 구조 (0) | 2023.02.15 |