리눅스 계정 목록 보기

(리눅스 계정 목록 확인하기에서 넘어옴)
리눅스 계정 목록 보기, 리눅스 계정 목록 확인, 리눅스 계정 확인
리눅스 bash 사용자 보기
리눅스 일반 사용자 계정 목록

1 전체 목록[ | ]

명령어
cat /etc/passwd
cut -f1 -d: /etc/passwd
실행예시
[root@zetawiki ~]# 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
.. (생략)
named:x:25:25:Named:/var/named:/sbin/nologin
[root@zetawiki ~]# cut -f1 -d: /etc/passwd
root
bin
daemon
.. (생략)
named

2 bash 사용자 목록[ | ]

useradd로 계정을 만들면 기본적으로 /bin/bash 환경이 적용된다. bash 사용자 목록이 의미 있는 경우가 많다.

명령어
grep /bin/bash /etc/passwd
grep /bin/bash /etc/passwd | cut -f1 -d:
실행예시
[root@zetawiki ~]# grep /bin/bash /etc/passwd
root:x:0:0:root:/root:/bin/bash
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash
[root@zetawiki ~]# grep /bin/bash /etc/passwd | cut -f1 -d:
root
mysql

3 일반 사용자 목록[ | ]

레드햇 계열에서는, useradd 명령어로 생성되는 일반 사용자 계정의 UID가 500 이상이다.[1]

3.1 UID 500 이상[ | ]

명령어
awk -F':' '{if($3>=500)print $1}' /etc/passwd
실행예시
[root@zetawiki ~]# tail -6 /etc/passwd
saslauth:x:499:76:"Saslauthd user":/var/empty/saslauth:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
devuser:x:500:500::/home/devuser:/bin/bash
deployuser:x:501:501::/home/deployuser:/bin/bash
testuser:x:502:502::/home/testuser:/bin/bash
[root@zetawiki ~]# awk -F':' '{if($3>=500)print $1}' /etc/passwd
devuser
deployuser
testuser

3.2 UID_MIN 이상[ | ]

명령어
u1=$(grep "^UID_MIN" /etc/login.defs | awk '{print $2}')
u2=$(grep "^UID_MAX" /etc/login.defs | awk '{print $2}')
awk -F':' -v "u1=$u1" -v "u2=$u2" '{ if ( $3>=u1 && $3<=u2 ) print $0}' /etc/passwd
awk -F':' -v "u1=$u1" -v "u2=$u2" '{ if ( $3>=u1 && $3<=u2 ) print $1}' /etc/passwd
실행예시
[root@zetawiki ~]# u1=$(grep "^UID_MIN" /etc/login.defs | awk '{print $2}')
[root@zetawiki ~]# u2=$(grep "^UID_MAX" /etc/login.defs | awk '{print $2}')
[root@zetawiki ~]# awk -F':' -v "u1=$u1" -v "u2=$u2" '{ if ( $3>=u1 && $3<=u2 ) print $0}' /etc/passwd
devuser:x:500:500::/home/devuser:/bin/bash
deployuser:x:501:501::/home/deployuser:/bin/bash
testuser:x:502:502::/home/testuser:/bin/bash
[root@zetawiki ~]# awk -F':' -v "u1=$u1" -v "u2=$u2" '{ if ( $3>=u1 && $3<=u2 ) print $1}' /etc/passwd
devuser
deployuser
testuser

4 bash 및 일반 사용자 계정 목록[ | ]

명령어
a=$(grep ^UID_MIN /etc/login.defs | awk '{print $2}')
b=$(grep ^UID_MAX /etc/login.defs | awk '{print $2}')
c=$(grep /bin/bash /etc/passwd | awk -F':' '{print $1}')
d=$(awk -F':' -v "a=$a" -v "b=$b" '{ if ( $3>=a && $3<=b ) print $1}' /etc/passwd)
echo -e "$c\n$d" | sort | uniq
실행예시
[root@zetawiki ~]# a=$(grep ^UID_MIN /etc/login.defs | awk '{print $2}')
[root@zetawiki ~]# b=$(grep ^UID_MAX /etc/login.defs | awk '{print $2}')
[root@zetawiki ~]# c=$(grep /bin/bash /etc/passwd | awk -F':' '{print $1}')
[root@zetawiki ~]# d=$(awk -F':' -v "a=$a" -v "b=$b" '{ if ( $3>=a && $3<=b ) print $1}' /etc/passwd)
[root@zetawiki ~]# echo -e "$c\n$d" | sort | uniq
root
devuser
deployuser
testuser
[root@zetawiki ~]# c=$(grep /bin/bash /etc/passwd | awk -F':' '{print $0}')
[root@zetawiki ~]# d=$(awk -F':' -v "a=$a" -v "b=$b" '{ if ( $3>=a && $3<=b ) print $0}' /etc/passwd)
[root@zetawiki ~]# echo -e "$c\n$d" | sort | uniq
root:x:0:0:root:/root:/bin/bash
devuser:x:500:500::/home/devuser:/bin/bash
deployuser:x:501:501::/home/deployuser:/bin/bash
testuser:x:502:502::/home/testuser:/bin/bash

5 같이 보기[ | ]

6 참고[ | ]

  1. /etc/login.defs의 UID_MIN 이 500임(기본값). 수세 리눅스에서는 1000
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}