ホームディレクトリにリストされているユーザーとリストされていないユーザーの違い

ホームディレクトリにリストされているユーザーとリストされていないユーザーの違い

Centos のディレクトリの下には、一部のユーザーが見つかります/homeが、残りのユーザーは見つかりません。

ディレクトリの下にリストされているユーザーの場合/home、コマンドを使用してそれらのユーザーとしてログインできます。

su username

残りのユーザーを見つけるには、次のコマンドを使用する必要がありました。

cut -d: -f1 /etc/passwd

残りのユーザーの1人としてログインするには、コマンドを使用する必要があります

sudo -u username

違いはなんですか?

答え1

同様のコマンドを実行する場合:

$ cut -d: -f1,6,7 /etc/passwd
root:/root:/bin/bash
bin:/bin:/sbin/nologin
daemon:/sbin:/sbin/nologin
adm:/var/adm:/sbin/nologin
lp:/var/spool/lpd:/sbin/nologin
sync:/sbin:/bin/sync
shutdown:/sbin:/sbin/shutdown
halt:/sbin:/sbin/halt
mail:/var/spool/mail:/sbin/nologin
operator:/root:/sbin/nologin
games:/usr/games:/sbin/nologin
...
gareth:/home/gareth:/bin/bash
...

/homeディレクトリを持つアカウントは、a) 上記の 2 番目の列に 内のディレクトリへのパスがあり、b) 3 番目の列 ( )/homeにシェルがあるアカウントのみであることがわかります。/bin/bash

/sbin/nologin他のすべてのユーザーは、名前が示すとおりログインを許可しない のシェルを持っているか、 などの特定のコマンドのシェルを持っているため、ログインできません/sbin/halt

他のユーザーと同じようにコマンドを実行したり、シェルを実行したりすることもできます。

$ sudo -u daemon whoami
daemon
$ sudo -u daemon bash
$ whoami
daemon
$ echo $HOME
/

ただし、 内にホームディレクトリはありません/home

さらに重要なのは、シェルが であり、パスワードが無効になっているため、これらのアカウントではログイン プロンプトやsuまたはを使用してログインできないことです (の 2 番目の列でまたは を探します)。ssh/sbin/nologin!!*sudo less /etc/shadow

これらのアカウントはすべてシステム電子メールや DHCP などのサービスによって使用されるアカウント、またはシステムのシャットダウンに使用されるアカウント。

実際には、これらのユーザーとして を使用するコマンドを実行すべきではありませんsudo

関連情報