Mam serwer Debian Lenny i chciałbym, aby www-data
użytkownik miał go /usr/local/zend/bin
w PATH, aby mógł wykonać skrypt w cron as www-data
.
Jak dodać /usr/local/zend/bin
do PATH, aby www-data
można było wykonywać pliki /usr/local/zend/bin
?
Pierwszym miejscem, w którym ustawiona jest PATH, jest /etc/login.defs
. Jest ustawienie dla roota i ustawienie dla wszystkich innych.
Innym miejscem, w którym można zdefiniować zmienne środowiskowe, jest /etc/environment
. Te ustawienia będą miały zastosowanie do wszystkich (nie można tam pisać dowolnego kodu powłoki).
Trzecie miejsce, w którym można zdefiniować zmienne środowiskowe, to /etc/profile
. Tam możesz napisać dowolny kod powłoki. Jeśli potrzebujesz ustawienia specyficznego dla użytkownika, istnieje odpowiedni plik dla użytkownika ~www-data/.profile
. Dotyczy to jednak tylko interaktywnych loginów konsoli; w szczególności nie będzie miało zastosowania do zadań cron, chyba że jawnie je pozyskają /etc/profile
.
Jeśli potrzebujesz tylko tego PATH
ustawienia w crontab użytkownika, możesz zapisać je na początku crontab. Zauważ, że potrzebujesz pełnej listy ( PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/zend/bin
), nie możesz użyć podstawienia zmiennej ( PATH=$PATH:/usr/local/zend/bin
nie będzie tam działać).
/etc/login.defs
które zostaną zignorowane? ZaktualizowałemENV_PATH
i echo $ PATH po załadowaniu .bashrc. Gdzieś w środku albo się zmienia, albo nie jest aktualizowany, ponieważ wyświetla starą wartość. Uruchomiłem ponownie komputer - więc to nie tak.PATH
w uzupełnieniu lub w zamian innych sposobów.Aby ustawić ścieżkę dla wszystkich użytkowników oprócz root, edit
/etc/profile
lub/etc/enviroment
. Dla użytkownika root lub indywidualnego użytkownika edytuj odpowiednio ich.bashrc
lub.bash_profile
w ich katalogach domowych. DodajPATH=$PATH:/new/location/
.źródło
Aby po prostu ustawić var dla wszystkich użytkowników bez obciążania
profile
, możesz dodać własny mały skrypt w/etc/profile.d
katalogu w ten sposób:echo 'PATH="/usr/local/zend/bin:$PATH"' > /etc/profile.d/zend_path.sh
Następnie ponownie się zaloguj.
źródło
Dodaj tę linię na końcu pliku:
Zapisz plik. Uruchom ponownie lub użyj poniższego polecenia:
Sprawdź swoje ustawienia:
źródło