UID가있는 모든 사용자를 나열하는 명령?


15

모든 사용자를 UID와 함께 나열하려면 어떻게해야합니까? 터미널 에서이 작업을 수행하고 싶습니다.


고양이 / etc / passwd
Panther

답변:


17

/home폴더 가있는 모든 사용자를 나열하십시오 .

awk -F: '/\/home/ {printf "%s:%s\n",$1,$3}' /etc/passwd

또는 모든 사용자 UID >= 1000:

awk -F: '($3 >= 1000) {printf "%s:%s\n",$1,$3}' /etc/passwd

조합

awk -F: '/\/home/ && ($3 >= 1000) {printf "%s:%s\n",$1,$3}' /etc/passwd

또는 모든 항목에 대해

awk -F: '{printf "%s:%s\n",$1,$3}' /etc/passwd

더 자세한 정보는 여기


10

다음을 사용하여 쉽게 찾을 수 있습니다 cut.

cut -d: -f1,3 /etc/passwd
  • -d:로 구분 설정 :에 대한을cut

  • -f1,3파일 :에서 구분 된 필드 1과 3을 추출 /etc/passwd합니다.

man cut더 많은 아이디어를 얻으려면 확인하십시오 .

예 :

$ cut -d: -f1,3 /etc/passwd
root:0
daemon:1
bin:2
sys:3
sync:4
games:5
......

출력에 사용자 ldap를 포함하도록 구성한 경우 ldap:

getent passwd | cut -d: -f1,3

1
getent passwd후자는 ldap 사용자를 포함하지 않으므로 / etc / passwd 대신 사용해야 합니다
Daenyth

@Daenyth 내 첫 번째 대답 은 실제로 .. 그러면 단순화를 위해 (그리고 아니오를 고려 ldap하여) 현재로 이동했습니다. 어쨌든 편집 :)
heemayl

1

또는 UID 및 GID 정보를 포함한 모든 사용자를 나열합니다.

for user in $(cat /etc/passwd | cut -f1 -d":"); do id $users; done 

건배,


0

UID 및 사용자 이름을 나열하려고하므로 아래 명령이 Solaris에서 더 잘 작동합니다. 그들은 두 개의 awk이

awk -F : '($ 3> = 1000) {printf "% s : % s", $ 1, $ 3}'/ etc / passwd


0

가장 쉬운 방법은 서버에 webmin을 가지고 시스템> 사용자 및 그룹으로 이동하면 uid, 홈 디렉토리 등이있는 모든 사용자 이름 및 그룹이있는 멋진 형식의 목록이 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.