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
。