使用su命令后执行php命令提示没有找到该命令

文章描述了一个在Debian9.2系统中,使用su命令切换到root用户后,PHP命令无法找到的问题。原因是切换用户时没有加载/etc/profile。解决方案包括编辑.root/.bashrc文件,添加source/etc/profile,或者修改普通用户的.bashrc文件设置aliassu=su-,或者直接使用su-命令。CentOS7系统中未出现此问题。
摘要由CSDN通过智能技术生成

 研发反应一个问题:使用su命令切换到root,执行php命令提示找不到该命令。

经测试,属实。不过执行一下source /etc/profile能执行php程序。
这个问题很明显是没有加载/etc/profile导致的。
生产环境是debian 9.2。为了安全限制root直接ssh登录,需要用普通用户登陆后在su。
做了如下测试:
用普通账号登录,执行echo $PATH
此时变量输出内容是正确的。
执行su,再执行echo $PATH
此时变量输出没有加载php的路径。
执行exit退出,然后执行su -,再执行echo $PATH
此时变量输出内容是正确的。
“su -”是切换账号的同时,切换后会加载账号的环境。所以环境变量是正确的。
原因清楚后,就好解决了。
解决方案1:
编辑/root/下隐含文件“.bashrc”,添加如下一句:
source /etc/profile
保存退出。

解决方案2:
编辑普通用户家目录下的文件“.bashrc”,添加如下一句:
alias su='su -"
保存退出。

解决方案3:
直接告诉研发,要用“su -”命令,别再用“su”了
哈哈哈...老夫发出拖拉机般的笑声

最后补充一句:
CentOS 7没有这个问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乐大师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值