-bash: /etc/bash.bashrc: 权限被拒绝 我没有名字

Can*_*uke 3 linux debian bash

我有一个 Debian Wheezy 服务器正在运行,并且刚刚运行了一个测试备份 - 但是,它走另一条路!我尽我所能清理它,但我现在遇到了一个非常烦人的错误。

通过 SSH 禁用 root 登录。用户必须以普通用户身份登录,然后执行su以获得 Root 访问权限。当我以我的用户身份登录时,我收到以下消息:

-bash: /etc/bash.bashrc: Permission denied
I have no name!@server:~$
Run Code Online (Sandbox Code Playgroud)

当我执行 aa 时whoami

$ whoami
whoami: cannot find name for user ID 1000
Run Code Online (Sandbox Code Playgroud)

检查我的/etc/passwd文件,这些用户 ID 确实存在!上的权限/etc/bash.bashrc/etc/passwd是644,所拥有root:root。在另一台服务器上检查,/etc/bash.bashrc文件匹配相同,无需更改。

有一线希望,我可以su进入 root 用户并访问我需要的东西,但我不需要这样做。我在 下找不到任何相关的日志条目/var/log,因为它们只显示成功的登录尝试 ( auth.log),但没有错误。我该怎么做才能让普通用户再次登录?下面是我的/etc/passwd文件的一个应用,显示用户 ID 1000 存在:

lbarone:x:1000:1000:Luke Barone,,,:/home/lbarone:/bin/bash
Run Code Online (Sandbox Code Playgroud)

der*_*ert 11

为了读取/etc/bash.bashrc(和/etc/password)父目录的权限也很重要。特别是,你需要+x他们。在您的情况下(来自聊天对话),结果证明权限/etc是错误的。

无法阅读/etc/passwd是为什么bash并且whoami找不到您的用户名。

Debian 的默认/etc值为 0755;所以chmod 0755 /etc(以 root 身份)至少会解决这个紧迫的问题。您还应该调查这是如何发生的,以确定是否可能存在其他权限不正确的目录。