![](/img/trans.png)
[英]Amazon EC2 instance installed apache as root, not ec2-user
[英]Setting path variable for apache user on Amazon Ec2
我已經在這個問題上呆了幾個小時,但我什么也沒得到。
我無法將/usr/local/bin
添加到 apache 用戶PATH
變量中。 用戶沒有.profile
,我不能su
給用戶,我不能使用exec
和添加從 php 導出到PATH
SetEnv PATH /usr/local/bin
無論是http.conf
還是.htaccess
文件都沒有區別。 我找不到envvars
文件來更改它,但我懷疑還有其他問題。
我已經重新啟動了 apache,確實是我的服務器。
請問有什么幫助嗎?
最終遵循 Alfe 在他的回答中建議的內容,除了我添加到/etc/sysconfig/httpd
的/etc/init.d/httpd
文件(可以在更新時輕松覆蓋)之外:
export PATH=${PATH:+$PATH:}/usr/local/bin
查看/etc/passwd
以查看 apache 用戶擁有哪個登錄 shell(在 EC2 Ubuntu 實例上,它應該是/bin/sh
,它是/bin/dash
的鏈接)。 然后查看該 shell 的手冊頁,找出登錄時讀取的配置文件。 (對於/bin/dash
這將是用戶主目錄中的.login
。)在那些中,您應該能夠根據需要擴展您的$PATH
。
編輯:
由於您似乎沒有該用戶的登錄 shell:查看啟動系統服務的/etc/init.d/*
腳本。 Apache 將是其中之一。 它們以root
身份啟動並且可能會更改當前用戶(例如,更改為 apache 用戶)。 在那里,您可以根據自己的喜好調整 PATH。
但是,修補這些腳本不被視為典型配置。 更新可能會覆蓋您在那里修補的內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.