私は Linux 初心者で、正確に言うと、Ubuntu OS の前に座るのは今日が初めてです。学習目的でユーザーを追加し、システム内のすべてのユーザーを確認したいと考えています。ユーザーを確認するにはどうすればいいですか? 複数の方法がある場合は、すべて教えてください。
答え1
フェイルセーフの方法
これらは にリストされています/etc/passwd
。ただし、これには「システム」ユーザーも含まれます。通常、「通常の」ユーザーは UID 1000 から始まるため、 でこれらをフィルタリングできます。
awk -F ':' '$3>999' /etc/passwd
注意: UID 65534 の「nobody」というユーザーもいるので、誤検知がいくつかあります。
コードの説明
awk -F ':'
awk
フィールド区切り文字 と一緒に使用します:
。'$3>999'
3 番目のフィールドが 999 より大きい場合にのみ行を印刷します。/etc/passwd
このファイルから読み取ります。
もっと簡単な方法
ほとんどのユーザーは、ホームにディレクトリを持っています。ただし、ユーザーにこのディレクトリがない場合、これは機能しない可能性があります。
ls /home
(また、lost+found
ユーザーに関連付けられていないため、存在する場合は無視します。)
答え2
getent passwd
この方法の利点は、このシステムで定義されているユーザー (つまり、 にリストされている/etc/passwd
ユーザー) と、シングル サインオン方式で取り込まれる可能性のあるユーザー (LDAP ユーザーなど) の両方をリストできることです。
システム以外のユーザーのみを表示する場合:
getent passwd | awk -F ':' '$3>999' | grep -v nobody