web-dev-qa-db-ja.com

-bash:/etc/bash.bashrc:アクセスが拒否されました名前がありません

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
3
Canadian Luke

/etc/bash.bashrc(および/etc/password)を読み取るには、親ディレクトリの権限も重要です。特に、それらには+xが必要です。あなたの場合( チャット会話 から)、どういうわけか/etcの権限が間違っていたことがわかりました。

/etc/passwdを読み取れないのは、bashwhoamiがユーザー名を見つけられない理由です。

Debianの/etcのデフォルトは0755です。したがって、chmod 0755 /etc(rootとして)は、少なくともその差し迫った問題を修正します。また、それがどのように発生したかを調査して、権限が正しくない他のディレクトリがあるかどうかを判断する必要があります。

11
derobert

/etc/passwdの許可は644である必要があります。私のものは640でした。そのため、私はI have no name!**@mybox:/home$を取得しました。

Rootとしてchmod 644 /etc/passwdするとすぐに。それで問題は解決しました。

0
Bala