Linux 시스템의 모든 사용자를 나열하거나 시스템의 사용자 수를 계산하고 싶었던 적이 있습니까? 사용자 생성, 사용자 삭제, 로그인 한 사용자 나열 명령이 있지만 Linux에서 모든 사용자를 나열하는 명령은 무엇입니까?
이 튜토리얼에서는 Linux 시스템에서 사용자를 나열하는 방법을 보여줍니다.
/ etc / passwd 파일 번호를 사용하여 모든 사용자 목록 가져 오기
로컬 사용자 정보는 /etc/passwd
파일에 저장됩니다. 이 파일의 각 줄은 한 사용자에 대한 로그인 정보를 나타냅니다. 파일을 열려면 cat
또는 less
를 사용할 수 있습니다.
파일의 각 줄에는 다음 정보를 포함하는 콜론으로 구분 된 7 개의 필드가 있습니다.
사용자 이름 awk
또는 cut
명령을 사용하여 사용자 이름이 포함 된 첫 번째 필드 만 인쇄 할 수 있습니다.
getent 명령 #을 사용하여 모든 사용자 목록 가져 오기
getent
명령은 passwd
를 포함하여 /etc/nsswitch.conf
파일에 구성된 데이터베이스의 항목을 표시합니다. 모든 사용자 목록을 쿼리하는 데 사용할 수있는 database.
모든 Linux 사용자 목록을 가져 오려면 다음 명령을 입력하십시오. :
보시다시피 출력은 다음을 표시 할 때와 동일합니다. /etc/passwd
파일의 내용. 사용자 인증에 LDAP를 사용하는 경우 getent
는 /etc/passwd
파일과 LDAP 데이터베이스 모두의 모든 Linux 사용자를 표시합니다.
awk
또는 cut
를 사용하여 사용자 이름이 포함 된 첫 번째 필드 만 인쇄 할 수도 있습니다.
사용자가 Linux 시스템에 있는지 확인하십시오. #
이제 모든 사용자를 나열하는 방법을 알았으니 Linux 상자에 사용자가 있는지 확인하려면 목록을 grep
명령에 파이프하여 사용자 목록을 필터링하면됩니다.
예를 들어 Linux 시스템에 jack
이름의 사용자가 있는지 확인하려면 다음 명령을 사용할 수 있습니다.
사용자가있는 경우 위 명령은 사용자의 로그인을 인쇄합니다. 정보. 사용자가 존재하지 않음을 의미하는 출력이 없습니다.
또한 아래와 같이 grep
명령을 사용하지 않고도 사용자가 존재하는지 확인할 수 있습니다.
이전과 동일하게 사용자가있는 경우 명령은 사용자의 로그인 정보를 표시합니다.
사용자 계정 수를 확인하려는 경우 시스템에 getent passwd
출력을 wc
명령으로 파이프합니다.
위 출력에서 볼 수 있듯이 제 Linux 시스템에는 33 개의 사용자 계정이 있습니다.
시스템 및 일반 사용자 수
시스템과 일반 (일반) 사용자간에 실질적인 기술적 차이는 없습니다. 일반적으로 시스템 사용자는 OS 및 새 패키지를 설치할 때 생성됩니다. 경우에 따라 일부 응용 프로그램에서 사용할 시스템 사용자를 만들 수 있습니다.
일반 사용자는 루트 또는 sudo 권한이있는 다른 사용자가 만든 사용자입니다. 일반적으로 일반 사용자에게는 실제 로그인 쉘과 홈 디렉토리가 있습니다.
각 사용자에게는 UID라는 숫자 사용자 ID가 있습니다. useradd
명령으로 새 사용자를 만들 때 지정하지 않으면 /etc/login.defs
파일에서 UID가 자동으로 선택됩니다. id = “f3bb6b61a4″>
및 UID_MIN
값.
UID_MIN
및
값을 사용하려면 다음 명령을 사용할 수 있습니다.
위의 출력에서 모든 일반 사용자는 1000에서 60000 사이의 UID를 가져야 함을 알 수 있습니다. 최소값과 최대 값을 알면 시스템의 모든 일반 사용자 목록을 쿼리 할 수 있습니다.
아래 명령은 Linux 시스템의 모든 일반 사용자를 나열합니다.
시스템 UID_MIN
및 UID_MIN
값이 다를 수 있으므로 위 명령의보다 일반적인 버전은 다음과 같습니다.
사용자 이름 만 인쇄하려면 출력을 cut
명령으로 파이프하기 만하면됩니다.
결론 #
이 자습서에서는 Linux 시스템에서 사용자를 나열하고 필터링하는 방법과 시스템과 일반 Linux의 주요 차이점을 배웠습니다.
Ubuntu, CentOS, RHEL, Debian 및 Linux Mint를 포함한 모든 Linux 배포에 동일한 명령이 적용됩니다.