-bash:/etc/profile Permission Denied

普通用户登录问题:

root用户登录OK,但普通用户登录时提示:

-bash:/etc/profile Permission Denied

解决办法:

在root的用户下查看etc目录权限,为744;这个权限是有问题的,其他用户没有列出etc目录下文件的权限,所以其他用户登录会报错!

chmod +x /etc  或者   chmod 755 /etc

给/etc/目录加上x权限即可解决问题。

如果root用户也出现该问题,可能的原因是/目录权限问题,

stat /     查看根目录权限,保持为755即可!

另,贴上用户登录过程:

用户登录后加载profile和bashrc的流程如下:

1)/etc/profile-------->/etc/profile.d/*.sh
2)$HOME/.bash_profile-------->$HOME/.bashrc---------->/etc/bashrc

说明:
bash首先执行/etc/profile脚本,/etc/profile脚本先依次执行/etc/profile.d/*.sh
随后bash会执行用户主目录下的.bash_profile脚本,.bash_profile脚本会执行用户主目录下的.bashrc脚本,
而.bashrc脚本会执行/etc/bashrc脚本

至此,所有的环境变量和初始化设定都已经加载完成.
bash随后调用terminfo和inputrc,完成终端属性和键盘映射的设定.

其中PATH这个变量特殊说明一下:
如果是超级用户登录,在没有执行/etc/profile之前,PATH已经设定了下面的路径:
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
如果是普通用户,PATH在/etc/profile执行之前设定了以下的路径:
/usr/local/bin:/bin:/usr/bin

这里要注意的是:在用户切换并加载变量,例如su -,这时,如果用户自己切换自己,比如root用户再用su -
root切换的话,加载的PATH和上面的不一样.
准确的说,是不总是一样.所以,在/etc/profile脚本中,做了如下的配置:
if [ `id -u` = 0 ]; then
pathmunge /sbin
pathmunge /usr/sbin
pathmunge /usr/local/sbin
fi

如果是超级用户登录,在/etc/profile.d/krb5.sh脚本中,在PATH变量搜索路径的最前面增加/usr/kerberos/sbin:/usr/kerberos/bin
如果是普通用户登录,在/etc/profile.d/krb5.sh脚本中,在PATH变量搜索路径的最前面增加/usr/kerberos/bin

在/etc/profile脚本中,会在PATH变量的最后增加/usr/X11R6/bin目录
在$HOME/.bash_profile中,会在PATH变量的最后增加$HOME/bin目录

以root用户为例,最终的PATH会是这样(没有其它自定义的基础上)
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin

以alice用户(普通用户)为例
/usr/kerberos/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/alice/bin

时间: 2024-11-17 19:48:24

-bash:/etc/profile Permission Denied的相关文章

疑难杂症——bash: /dev/null: Permission denied

描述 在使用 Devstack 的时候需要时常切换用户su stack,此时会触发错误: root@mickeyfan-dev:~# su stack bash: /dev/null: Permission denied bash: /dev/null: Permission denied bash: /dev/null: Permission denied bash: /dev/null: Permission denied bash: /dev/null: Permission denied

运维小知识--- -bash: /usr/local/maven/apache-maven-3.2.3/bin/mvn: Permission denied

-bash: /usr/local/maven/apache-maven-3.2.3/bin/mvn: Permission denied         背景:         刚刚在Linux系统系执行mvn -v的时候出现了下面的错误(如下图),而这种错误一看就是权限的问题,只需设置好权限就OK.           解决方法:         输入:chmod a+x/opt/apache-maven-3.2.2/bin/mvn(如下图)         扩展:         opti

Git使用之Permission Denied问题解决

今天碰到了Git的Permission Denied问题. 在安装好git之后,我们一般会配置用户名和邮箱 git config --global user.name "zengjinlong" #--global表明本机的所有git仓库均使用该配置   git config --global user.email "zengjinlong@xunlei.com"   但是当我们克隆一个库的时候,发现不论你怎么输入密码都是说Permission Denied. 其实

cannot restore segment prot after reloc: Permission denied

最近把一个java项目从windows平台部署到linux下,安装测试时遇见了cannot restore segment prot after reloc: Permission denied 这个问题. 最近用到gearman.由于C语言的server一直编译不过去(貌似是boost的问题).所以想到用java版本的server.但是没想到又遇到了一些问题. 首先运行命令:  代码如下 复制代码 java -jar java-gearman-service-0.5.jar 结果出现如下提示:

oracle监听器启动错误-TNS-12546: TNS:permission denied

今天一台数据库服务器登录不上,报TNS-12541: TNS:no listener 到服务器上看下监听器状态 oracle@linux-34:~> lsnrctl status LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 14-OCT-2011 09:12:37 Copyright (c) 1991, 2007, Oracle. All rights reserved. Connecting to (DESCRIPTION=(AD

NFS挂载远程目录后访问提示“Permission denied”

下午访问一台新部署的web,打开一个商家主页,图片都不能正常显示.上服务器进入相关目录,提示权限拒绝.因为图片都是存在一台专门的服务器,web机都是通过nfs访问图片资源.所以应该是nfs权限的问题导致. 关于权限问题,一般都是nfs server的/etc/exports文件没有设置好导致的.查看文件 [admin@nfsserver ~]# cat /etc/exports /home/www/images 192.168.0.37(rw,sync,anonuid=497,anongid=4

php include提示failed to open stream: Permission denied in错误

  出现failed to open stream: Permission denied in是apache运行用户没用权限去访问指定的文件了,所以导致目录文件打不开了. 在打开浏览器时提示 Warning: include (/global.php) [function.include]: failed to open stream: Permission denied in index.php on line 21 Warning: include() [function.include]:

qnx-QNX /ect/passwd permission denied

问题描述 QNX /ect/passwd permission denied 我用的虚拟机运行的qnx.用的root登陆的,为什么访问不了啊...新手.求解.. 解决方案 sudo /etc/passwd 用sudo提权. 解决方案二: 额,首先上面提示的问题有两种,一种是文件或者目录不存在,另外是没有权限. 解决方案三:

三星A7100文件写入失败(Permission denied)

问题描述 三星A7100文件写入失败(Permission denied) 1C 如题,三星A7100文件写入失败:java.io.FileNotFoundException: /storage/emulated/0/abc.apk: open failed: EACCES (Permission denied),做自动更新从服务器下载apk存储到手机上,其他两台真机都能存储成功,唯独三星A7100这台不行,不懂为什么,求大神帮助.权限都加了 源码:public class UpdateMang