Linux에서 사용자를 나열하는 방법

Linux 운영 체제 는 사용자를 생성 및 삭제하고 로그인한 사용자를 확인하는 명령을 제공합니다. 그러나 시스템에는 로그인 여부에 관계없이 사용자를 나열하는 명령이 없습니다.

그래도 이것을 해제하는 몇 가지 방법이 있습니다. Linux에서 사용자를 나열하는 방법을 배우려면 아래 단계를 따르십시오.

Linux 사용자 목록을 확인해야 하는 이유

Linux에서 사용자를 나열하려는 데에는 여러 가지 이유가 있습니다. 예를 들어 사용하지 않는 계정을 찾아 삭제하는 것은 좋은 방법입니다. 보안 관점에서 사용자 계정을 만드는 침입자가 없는지 확인하는 것도 좋은 방법입니다.

이것은 적어도 한 달에 한 번은 수행해야 하는 관리 작업입니다. 기업 Linux 서버를 실행하는 경우 더 자주 수행할 수 있습니다.

/etc/passwd에 나열된 사용자

모든 Linux 서버의 사용자 계정에는 /etc/passwd 파일에 항목이 있습니다. 각 줄은 사용자를 나타내며 콜론으로 구분된 7개의 필드가 있습니다. 필드는 사용자에 대한 정보를 제공합니다.

  • 사용자 이름.
  • 암호화된 암호( x 는 암호가 실제로 /etc/shadow 에 있음을 나타냄)
  • 사용자 ID 번호(UID).
  • 사용자의 그룹 ID 번호(GID).
  • 나열된 경우 사용자의 전체 이름입니다.
  • 사용자 홈 디렉토리.
  • 로그인 쉘

따라서 Linux의 모든 사용자를 나열하는 한 가지 방법이 제공됩니다. less 명령을 사용하여 한 번에 한 화면씩 전체 파일을 볼 수 있습니다.

less /etc/passwd

Linux에서 사용자를 나열하는 방법

특정 사용자가 Linux 시스템에 존재하는지 확인하려면 grep 명령을 사용하는 것이 좋습니다 .

less passwd | grep jeff

Linux에서 사용자를 나열하는 방법

출력이 표시되지 않으면 해당 사용자가 Linux 서버에 존재하지 않는 것입니다.

그래도 정보가 많습니다. 예를 들어 awk 또는 cut 명령을 사용하여 사용자 이름으로 줄일 수 있습니다.

awk -F: '{print $1}' /etc/passwd cut -d: -f1 /etc/passwd

Linux에서 사용자를 나열하는 방법

이는 훨씬 이해하기 쉬운 경향이 있지만 여전히 인간 사용자와 혼합된 모든 시스템 기반 사용자 계정을 볼 수 있습니다.

getent를 사용하여 사용자를 나열하는 방법

또 다른 명령인 getent 가 훨씬 더 유용합니다. 서버의 /etc/nsswitch.conf 파일 에 구성된 모든 데이터베이스 의 항목을 표시합니다 . 그 중 하나가 passwd 데이터베이스입니다. getent 를 사용 하여 모든 Linux 사용자 목록을 표시하려면 다음과 같이 작동합니다.

getent passwd

출력은 less 명령 을 사용하는 것과 정확히 같지만 Linux 시스템의 모든 LDAP 사용자를 나열합니다. 다시 한 번, 우리의 awkcut 명령은 첫 번째 필드인 사용자 이름만 보는 데 도움이 될 수 있습니다.

특정 사용자가 Linux 시스템에 존재하는지 확인하려면 getent 를 사용하면 쉽습니다.

getent passwd jeff

다시 말하지만, 이 명령의 출력은 사용자가 존재하지 않는다는 것을 알려주지 않습니다.

getent 의 또 다른 훌륭한 용도 는 서버에 존재하는 사용자 계정의 수를 찾는 것입니다. 이것은 다음 과 같이 wc 명령 을 통해 getent 의 출력을 파이핑하여 수행됩니다.

getent passwd | wc -l

Linux에서 사용자를 나열하는 방법

보시다시피 제 Linux 시스템에는 총 48개의 계정이 있습니다. 저 혼자만 사용하기 때문에 꽤 흥미롭지만 Linux에서 생성된 시스템 계정의 수를 보여줍니다.

일반 사용자에서 시스템 사용자 제거

Linux의 눈에는 시스템 사용자와 인간의 차이가 없습니다. OS를 설치할 때마다 많은 시스템 사용자가 생성됩니다. 다른 시스템 사용자는 웹 또는 메일 서비스 소프트웨어와 같은 다양한 패키지에 대해 생성됩니다.

그렇다면 Linux 시스템의 일반 사용자를 어떻게 나열할 수 있습니까? 여기서 핵심은 일반 사용자를 생성할 때 UID가 특정 숫자 범위 내에서 할당된다는 점을 이해하는 것입니다. /etc/login.defs 파일을 확인하여 일반 사용자 계정에 사용할 수 있는 UID 값 범위를 결정할 수 있습니다.

grep -E '^UID_MIN|^UID_MAX' /etc/login.defs

Linux에서 사용자를 나열하는 방법

출력을 기반으로 일반 사용자의 UID는 1000에서 60000 사이여야 한다는 것을 알고 있습니다. 이를 통해 일반 사용자만 표시 하는 getent 쿼리를 구성할 수 있습니다.

getent passwd {1000..60000}

Linux에서 사용자를 나열하는 방법

getent 는 출력을 표시한 후에도 정지된 것처럼 보입니다 . Ctrl-C 를 눌러 프로세스를 종료하거나 완료될 때까지 기다릴 수 있습니다. 일반적으로 passwd 데이터베이스 검색을 완료하는 데 15초 미만이 걸립니다 .

이 명령의 보다 일반적인 버전은 다양한 서버에서 사용할 수 있는 다른 UID_MINUID_MAX 값을 고려합니다.

eval getent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)}

이 명령에서 우리는 한 번에 여러 작업을 수행할 수 있는 Linux의 기능을 활용하고 있습니다. awk 명령은 UID_MIN UID_MAX 을 가져온 다음 getent 명령 내에서 사용합니다.

이제 우리가 원하는 것은 사용자 이름뿐이라고 가정해 보겠습니다. 다시 한 번 다음과 같이 cut 명령을 통해 출력을 파이프합니다.

eval getent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)} | cut -d: -f1

Linux에서 사용자를 나열하는 방법

이 명령을 완료하는 데 10~15초가 소요될 수 있으므로 인내심을 가지십시오.

Linux 사용자를 효과적으로 관리하기

Linux 시스템에 존재하는 사용자 계정을 추적하는 것이 중요합니다. 직원이 떠났다는 것을 알게 되면 사용자 계정을 삭제하라는 메시지를 표시합니다. 정기적으로 Linux 사용자를 나열하면 문제가 발생한 계정을 파악하는 데 도움이 됩니다.

동시에 비밀번호 보안 정책 을 최신 상태로 유지하고 사용자가 비밀번호 를 정기적으로 변경 하도록 권장하십시오.

Tags: #HOW-TO

Leave a Comment

Escape from Tarkov의 서버 연결 끊김에 대한 9가지 수정 사항

Escape from Tarkov의 서버 연결 끊김에 대한 9가지 수정 사항

Escape from Tarkov에서 서버 연결 끊김 문제를 해결하기 위한 9가지 테스트 솔루션을 즉시 수행하세요.

수정: 응용 프로그램이 그래픽 하드웨어에 액세스하지 못하도록 차단됨

수정: 응용 프로그램이 그래픽 하드웨어에 액세스하지 못하도록 차단됨

이 문서를 읽고 해결 방법에 따라 Windows 10 PC에서 응용 프로그램이 그래픽 하드웨어 오류에 액세스하지 못하도록 차단되었습니다.

Bootrec/Fixboot 액세스가 거부된 Windows 10 오류를 수정하는 방법?

Bootrec/Fixboot 액세스가 거부된 Windows 10 오류를 수정하는 방법?

이 기사는 bootrec/fixboot 액세스 거부 오류를 수정하는 유용한 솔루션을 제공합니다. CHKDSK 실행, 부트로더 복구, 시작 복구 및 더 많은 방법을 알아보세요.

[수정됨] Valheim이 계속 충돌, 정지, 검은색 화면, 문제를 시작하지 않음

[수정됨] Valheim이 계속 충돌, 정지, 검은색 화면, 문제를 시작하지 않음

Valheim이 계속 충돌/멈춤, 검은 화면, 실행되지 않음 또는 기타 문제가 있습니까? Valheim 문제를 해결하려면 다음 솔루션을 따르십시오.

수정됨: Steam 친구 네트워크에 연결할 수 없는 오류 [5가지 빠른 수정]

수정됨: Steam 친구 네트워크에 연결할 수 없는 오류 [5가지 빠른 수정]

Steam 친구 네트워크에 연결할 수 없음 오류를 수정하는 방법을 배우고 친구의 네트워크에 연결할 수 없는 Steam 오류를 해결하는 5가지 테스트된 솔루션을 따르십시오.

[수정됨] 레지던트 이블 7 바이오하자드 게임 충돌, 오류 등!

[수정됨] 레지던트 이블 7 바이오하자드 게임 충돌, 오류 등!

레지던트 이블 7 게임을 스트리밍할 수 없습니다. 단계별 안내에 따라 게임 오류를 해결하고 중단 없이 게임을 플레이하십시오.

Corsair 유틸리티 엔진 업데이트 오류를 ​​수정하는 방법

Corsair 유틸리티 엔진 업데이트 오류를 ​​수정하는 방법

corsair 유틸리티 엔진 업데이트 오류를 ​​해결하고 이 도구의 새로운 기능에 액세스하기 위한 문제 해결 솔루션을 알아보십시오.

PS5 컨트롤러가 연결되지 않거나 동기화되지 않는 문제를 해결하는 방법은 무엇입니까?

PS5 컨트롤러가 연결되지 않거나 동기화되지 않는 문제를 해결하는 방법은 무엇입니까?

PS5 컨트롤러가 연결되지 않거나 동기화되지 않으면 이러한 PS5 컨트롤러 연결 문제를 해결하기 위해 시도되고 테스트된 솔루션을 시도하십시오.

PC에서 젤다의 전설: 야생의 숨결을 플레이하는 방법?

PC에서 젤다의 전설: 야생의 숨결을 플레이하는 방법?

PC에서 젤다의 전설: 야생의 숨결을 플레이하고 싶으신가요? 여기에서 Windows PC에서 Legend Of Zelda BOTW를 플레이할 수 있는 모든 방법을 확인하십시오.

Windows 10 업데이트 오류 코드 0x800706D9를 수정하는 5가지 솔루션

Windows 10 업데이트 오류 코드 0x800706D9를 수정하는 5가지 솔루션

Windows 10 업데이트 오류 0x800706D9 문제를 해결하고 사용 가능한 업데이트를 설치한 다음 주어진 솔루션에 따라 Windows를 오류 없이 만들고 싶습니다.