私はサポートを担当し、時々リモートLinuxシステムへのシェルアクセスを取得します。
管理者が私にリモートアクセスを提供すると、ログイン時に次のような出力が表示されることがよくあります。
[joe@mycomputer ~]$ ssh [email protected]
[email protected] password:
Creating directory '/foobar/users/bob'.
Unable to create and initialize directory '/foobar/users/bob'.
Last login: Mon Jul 29 13:05:27 2013 from bar.edu
Could not chdir to home directory /foobar/users/bob: Input/output error
-bash: /foobar/users/bob/.bash_profile: Input/output error
-bash-4.1$
-bash-4.1$ echo $HOME
/foobar/users/bob
私と取引している管理者は、私よりもLinuxについてもっと知っています。私の質問は次のとおりです
「ディレクトリを初期化できません」というメッセージが表示されるのはなぜですか?
- これは彼らの間違いですか、それとも安全問題ですか?
useradd bob
アカウントを作成するときに-mオプションを使用しなかったとします。
- これは彼らの間違いですか、それとも安全問題ですか?
シェル名が「bob」ではなく「bash-4.1」であるのはなぜですか?
修正する
私はシステムの一般ユーザーではないので、ネットワーク共有foobar / usersがなく、ローカルストレージのみがあると思います。私がログインしているサーバーのうち、そんなに多くの割合が同じ方法でサーバーを構成するのは奇妙です。
私が調査した資料
答え1
まず簡単な質問です。私のシェル名はなぜですか-bash-4.1$
?シェル名の技術名称は「コマンドプロンプト」です。 bashは環境変数を介して設定されますPS1
。あなたの環境にPS1が設定されていない場合、bashはデフォルトでbashのバージョンをプロンプトとして表示します。 (ENVIRONMENT
環境の詳細とShell Variables
基本的に提供されている環境のリストについては、bashのマニュアルページのリソースセクションを参照してください。)表示するにはbob
(作業ディレクトリの表示に精通していると仮定します)、以下を使用できます。
PS1='\W$ '
PROMPTING
Bashプロンプトで設定できるその他の項目については、Bashマニュアルのリソースセクションを参照してください。
私は、故障したハードドライブ、電源が切れた外部USBドライブ、またはNIS / NIS +自動マウントを使用している場合は、NFSの問題(/foobar / usersの下のディレクトリが自動マウントされる可能性がある)を疑って指摘していUnable to create and initialize directory
ます。Input/output error
/foobar/users
mount
どのデバイスがファイルシステムのどの部分を提供しているかを示すコマンドの出力を調べて、パスがどのファイルシステムにあるかを確認できます。ここで教えてくださいどこ/foobar は以下からインストールされます。 /foobar がリストされていない場合、/ ディレクトリで I/O エラーが発生したことになります。はいディスクにエラーが発生しました。ファイルシステムの種類によってマウントをフィルタリングして、mount -t nfs
すべてのnfsドライブにすべてのmount -t ext3
ext3fsマウントポイントなどを表示することもできます。man mount
このオプションを見ると、-t
サポートされているファイルシステムが表示されます。
ディレクトリがあるデバイスを見つけると、ハードドライブである問題(/dev/sda1など)を診断する方法についてより良いアイデアが得られ、システムログでエラーを探し始めることができます。ファイルgrep sda1 /var/log/syslog
。 NFSの場合は、ドライブを再マウントするか、NFSサービスを再起動する必要があります。
答え2
最初のログインではホームディレクトリを作成できず、その後システムはそのディレクトリに入ることができません。これは、ディレクトリ作成の成功を確認するエラーがないためです。フォルダの作成に失敗した理由を調べるには、システム管理者に連絡する必要があります。
答え3
「入出力エラー」は、ファイルシステムドライバに問題があることを示します。これはドライバエラーまたはハードウェアエラーです。 「該当するファイルやディレクトリはありません」という報告は、cd
ホームディレクトリ生成スクリプトのバグを示している可能性がありますが、「入力/出力エラー」はcd
より深い問題を示す可能性があります。システム管理者に連絡してください。
シェルプロンプトbash-4.1$
はホームディレクトリを開くことができないため、慣れていません。したがって、ホームディレクトリ.bashrc
(他のプロンプト設定がある可能性があります)は読み取られません。