通常のユーザーとしてtty {1-6}経由でログインできません。 root
としてのみログインできます。
通常のユーザーでログインすると、コンピューターは/etc/motd
からの挨拶メッセージを表示し、すぐにログアウトします。
理由は何でしょうか?
どのログファイルを確認すると便利ですか?
tty7
でGnomeを使用して、通常のユーザーで正常にログインできます。
テキストモードコンソールまたはネットワーク経由でログインすると、 ログインシェル が実行されます。システム全体およびユーザーごとの構成ファイルを読み取ります。最も一般的なものは次のとおりです(シェルがここにリストされていない場合は、そのドキュメントを参照してください)。
/etc/profile
; ~/.profile
/etc/profile
; ~/.bash_profile
、存在しない場合~/.bash_login
、存在しない場合~/.profile
。/etc/zshenv
、/etc/zprofile
、/etc/zlogin
、/etc/zshrc
(インタラクティブな場合); ~/.zshenv
、~/.zprofile
、~/.zlogin
、~/.zshrc
(インタラクティブな場合)~/.login
/usr/share/fish/config.fish
、/etc/fish/config.fish
; 〜/ .config/fish/config.fish`これらのファイルは他のファイルをロードする可能性があります。特に、多くのディストリビューションは/etc/profile
にファイルをロードするように/etc/profile.d
を設定しています。
これらのファイルのいずれかにシェルを終了させる何かが含まれている場合、コマンドを入力する機会がなくてもログアウトされます。
set -x
を含む行を該当するファイルの先頭に追加して、実行されたコマンドのトレースを確認できます。 (これはボーンスタイルのシェル用です。cshでset echo
を使用し、 魚にはそのようなものはありません )
GUIを介して( ディスプレイマネージャー で)ログインする場合、ログインシェルは実行されません。ただし、ほとんどのシステムは、shまたはbashのいずれかを実行し、/etc/profile
および~/.profile
をロードするように調整します。
ログインできないために行き詰まった場合:
ssh mymachine.example.com 'mv .profile no.profile'
は問題のある~/.profile
を邪魔にならないように移動します。リモートシェルはログインシェルではないため、プロファイルファイルは読み込まれません。 (しかし、bashは奇妙です。シェルがインタラクティブでなくても、親がrshd
またはsshd
の場合、.bashrc
をロードします。)わかりました。cdm
での実験からいくつかのファイルが残っていることがわかりました。したがって、/etc/profile.d/zzz-cdm-profile.sh
はtty
ログイン中に実行され、すぐにログアウトをトリガーしました。これを削除すると、問題が修正されました。