시스템에 어떤 "일반" 사용자가 있는지 어떻게 확인할 수 있나요?

시스템에 어떤 "일반" 사용자가 있는지 어떻게 확인할 수 있나요?

시스템에서 어떤 "일반" 사용자를 사용할 수 있는지 알고 싶습니다. 일반적으로 말하면 이런 것이 아니라 수동으로 만든 것을 의미합니다.SSHD또는범용 데이터 관리.

답변1

마.grep UID_MIN /etc/login.defs 그런 다음 getent passwd위의 UID_MIN 값보다 UID가 큰 사용자를 확인하세요.

설명: 사용자가 수동으로 추가될 때마다 login.defs에서 사용 가능한 첫 번째 UID >= UID_MIN 값을 가져옵니다(UID를 수동으로 지정하지 않는 한).

답변2

일반적으로 "일반 사용자"에게는 1000 이상의 사용자 ID가 할당됩니다. 시스템에 이런 일이 발생하면 다음을 수행할 수 있습니다.

awk -F: '{if ($3 > 999) print $1}' /etc/passwd

답변3

어떤 사용자가 "수동으로 생성"되었는지 알 수 있는 방법이 없다고 생각합니다. 아마도 당신이 할 수 있는 가장 좋은 일은 유효한 쉘을 가진 사용자를 찾는 것입니다. 왜냐하면 시스템 사용자(sshd 및 gdm과 같은)는 종종 로그인을 방지하는 sshd 및 gdm /bin/false과 같은 쉘을 가지고 있기 때문입니다. /sbin/nologin유효한 셸 목록은 에 있으므로 다음 셸 중 하나를 /etc/shells사용하여 grep사용자 목록을 가져올 수 있습니다.

$ grep -f /etc/shells /etc/passwd

사용자 이름만 원하는 경우:

$ grep -f /etc/shells /etc/passwd | cut -d: -f1

답변4

ls -l /home

하지만 가장 신뢰할 만한 출처도 아닙니다.

로그인한 경우:

lastlog | grep -v 'Never logged in'

관련 정보