システムがどの「一般」ユーザーを使用できるかを知りたいです。一般的に言えば、これではなく手動で作成したことを意味します。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'