Debian Wheezyサーバーを実行していて、テストバックアップが実行されたばかりです-しかし、それは逆になりました!できる限りクリーンアップしましたが、非常に迷惑なエラーが発生しています。
ルートログインはSSH経由で無効になっています。ユーザーは通常のユーザーとしてログインし、su
を実行してrootアクセスを取得する必要があります。ユーザーとしてログインすると、次のメッセージが表示されます。
-bash: /etc/bash.bashrc: Permission denied
I have no name!@server:~$
Aa whoami
を実行すると:
$ whoami
whoami: cannot find name for user ID 1000
私の/etc/passwd
ファイルを確認すると、それらのユーザーIDは存在します! /etc/bash.bashrc
と/etc/passwd
の権限は644で、root:root
が所有しています。別のサーバーをチェックすると、/etc/bash.bashrc
ファイルは同じものと一致し、変更は必要ありません。
Rootユーザーにsu
して、必要なものにアクセスできるという銀色の裏地がありますが、これを行う必要はありません。 /var/log
の下に関連するログエントリが見つかりません。ログイン試行の成功(auth.log
)が表示されているだけですが、エラーはありません。 通常のユーザーが再度ログインできるようにするにはどうすればよいですか?以下は私の/etc/passwd
ファイルの成果であり、ユーザーID1000が存在することを示しています。
lbarone:x:1000:1000:Luke Barone,,,:/home/lbarone:/bin/bash
/etc/bash.bashrc
(および/etc/password
)を読み取るには、親ディレクトリの権限も重要です。特に、それらには+x
が必要です。あなたの場合( チャット会話 から)、どういうわけか/etc
の権限が間違っていたことがわかりました。
/etc/passwd
を読み取れないのは、bash
とwhoami
がユーザー名を見つけられない理由です。
Debianの/etc
のデフォルトは0755です。したがって、chmod 0755 /etc
(rootとして)は、少なくともその差し迫った問題を修正します。また、それがどのように発生したかを調査して、権限が正しくない他のディレクトリがあるかどうかを判断する必要があります。
/etc/passwd
の許可は644である必要があります。私のものは640でした。そのため、私はI have no name!**@mybox:/home$
を取得しました。
Rootとしてchmod 644 /etc/passwd
するとすぐに。それで問題は解決しました。