ユーザーのデフォルトシェルがインストールされていない場合はどうなりますか?

ユーザーのデフォルトシェルがインストールされていない場合はどうなりますか?

私は大企業のシステム管理者として働いており、複数のWindowsおよびLinux(Ubuntu 16.04)仮想マシンを維持する必要があります。 Linux VMzshの代わりに使用したいので、bashデフォルトのシェルを変更する必要があります。

これで、AD設定を強制するWindowsドメインアカウントを使用してLinuxにログインします。つまり、ファイルを変更したり、passwdそれを使用してchshデフォルトのシェルを変更したりできないため、別の方法を見つける必要があります。これは、この属性を介してADのシェルを強制することによって行われますloginShell

問題は、zshがインストールされていないLinux VMにログインするとどうなりますか?bash/に戻りますかsh、詰まっていますか?

ベストアンサー1

やってみよう!

サーバーのシェルが変更されました:

[myserver ~]% getent passwd myuser
myuser:x:150:150:myuser:/home/myuser:/foo

ログインしよう:

[myclient ~]% ssh myserver
Received disconnect from myserver: 2: Too many authentication failures for myuser

サーバーのSSHログ:

Nov 22 09:30:27 myserver sshd[20719]: Accepted gssapi-with-mic for myuser from myclient port 33808 ssh2
Nov 22 09:30:27 myserver sshd[20719]: pam_unix(sshd:session): session opened for user myuser by (uid=0)
Nov 22 09:31:18 myserver sshd[20727]: Received disconnect from myclient: 11: disconnected by user
Nov 22 09:31:18 myserver sshd[20719]: pam_unix(sshd:session): session closed for user myuser
Nov 22 09:31:20 myserver sshd[20828]: User myuser not allowed because shell /foo does not exist
Nov 22 09:31:20 myserver sshd[20835]: input_userauth_request: invalid user myuser
Nov 22 09:31:20 myserver sshd[20835]: Disconnecting: Too many authentication failures for myuser

コア行:User myuser not allowed because shell /foo does not exist.したがって、有効なシェル設定がないとログインできません。

おすすめ記事