登录时出现“-bash: /root/.bashrc: 权限被拒绝”

登录时出现“-bash: /root/.bashrc: 权限被拒绝”

我的服务器运行 Centos 7。每次我用每个用户登录(远程或本地)时,我都会收到错误。如果我以 root 身份登录,我会得到

-bash: /root/.bashrc: Permission denied

如果我以普通用户身份登录,我会得到

-bash: /home/normal_user/.bashrc: Permission denied

.bashrc 的权限是

-rw-r--r--.  1 root root   176 Dec 29  2013 .bashrc

而它的内容是

# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

无法弄清楚发生了什么事。另外,一切都按预期进行。

编辑:@terdon

[root@dmbi-va ~]# grep -F .bashrc /root/.profile /root/.bash_profile /root/.bash_login /etc/profile /etc/bashrc
grep: /root/.profile: No such file or directory
/root/.bash_profile:if [ -f ~/.bashrc ]; then
/root/.bash_profile:    . ~/.bashrc
grep: /root/.bash_login: No such file or directory

@roaima @ikkachu

[root@dmbi-va ~]# ls -Zld /etc /etc/bashrc .bashrc
-rw-r--r--.   1 system_u:object_r:admin_home_t:s0 root root  176 Dec 29  2013 .bashrc
drwxr-xr-x. 139 system_u:object_r:etc_t:s0       root root 8192 Jun 21 09:37 /etc
-rw-r--r--.   1 system_u:object_r:etc_t:s0       root root 2835 Aug 12  2015 /etc/bashrc

答案1

我也遇到了类似的问题,bash: 404: command not found登录后就解决了。

长话短说,这是因为几天前,我在安装时犯了一个错字docker 撰写:

  • 安装命令之一是curl -L https://[...long URL...] -o /etc/bash_completion.d/docker-compose
  • 该命令下载一些 bash 完成规则并将它们存储到 中/etc/bash_completion.d/docker-compose,该规则在 Bash 启动时自动包含在内,方法是读取/etc/bash_completion.d/*
  • 由于我在该部分中输入错误[...long URL...],因此我请求了一个不存在的 URL 以及任何内容卷曲收到一条404 not found错误消息,最终变成/etc/bash_completion.d/docker-compose
  • 之后,每当我登录时,/etc/bash_completion.d/docker-compose都会被获取,并尝试诸如逻辑上之类的“命令”,从而404 not found导致bash: 404: command not found错误。

相关内容