Debian'daki tüm kullanıcılar için PATH nasıl ayarlanır?


25

Bir Debian Lenny sunucum www-datavar ve kullanıcının PATH'sinde olmasını istiyorum /usr/local/zend/bin, böylece cron'da bir betiği çalıştırabilir www-data.

PATH'a nasıl eklerim /usr/local/zend/bin, böylece www-dataiçinde dosyaları çalıştırabilir /usr/local/zend/binmiyim?

Yanıtlar:


40

PATH'ın ayarlandığı ilk yer /etc/login.defs. Kök için bir ayar ve herkes için bir ayar var.

Ortam değişkenlerini tanımlayabileceğiniz bir başka yer /etc/environment. Bu ayarlar herkes için geçerli olacaktır (orada rasgele kabuk kodu yazamazsınız).

Ortam değişkenlerini tanımlayabileceğiniz üçüncü bir yer /etc/profile. Orada rasgele kabuk kodu yazabilirsiniz. Kullanıcıya özel bir ayar istiyorsanız, ilgili kullanıcı başına dosya var ~www-data/.profile. Ancak bu yalnızca konsolide etkileşimli girişler için geçerli olacaktır; Özellikle açıkça kaynaklanmadıkça cron işleri için geçerli olmayacaktır /etc/profile.

PATHBir kullanıcı crontab'ında yalnızca bu ayara ihtiyacınız varsa , crontab'ın başına yazabilirsiniz. Tam listeye ( PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/zend/bin) ihtiyacınız olduğunu unutmayın; değişken değişken kullanamazsınız ( PATH=$PATH:/usr/local/zend/binorada işe yaramaz).


---- eg /etc/login.defs dosyasını nasıl yeniden yüklersiniz?
MrCalvin

@MrCalvin Giriş yaparak.
Gilles 'SO- kötülük' dur

1
İhmal /etc/login.defsedilmesi için herhangi bir sebep var mı ? Güncelledim ENV_PATHve .bashrc yüklendiğinde $ PATH yankılanıyor. Ortada bir yerde ya değişiyor ya da eski değeri gösterdiği için güncellenmiyor. Bilgisayarı yeniden başlattım - o kadar değil.
Annan

@Annan Şansı, bir yerlerde değişmesidir. Cevabımın 2010'da sistem öncesi yazıldığını unutmayın; Sisteminiz systemd kullanıyorsa, PATHek olarak veya başka yollarla değiştirme tanımlamak için kendi yolu olabilir .
Gilles 'SO- kötülük' dur '26

8

Kök dışındaki tüm kullanıcılar için bir yol ayarlamak, düzenlemek /etc/profileveya düzenlemek /etc/enviroment. Kök veya bireysel kullanıcılar için sırasıyla kendi dizinlerini .bashrcveya .bash_profilekendi dizinlerini düzenleyin . Ekle PATH=$PATH:/new/location/.


1

Tüm kullanıcılar için sadece yükünüzü yüklememek için var profileayarını yapmak için, kendi küçük betiğinizi şöyle /etc/profile.ddizine ekleyebilirsiniz :

echo 'PATH="/usr/local/zend/bin:$PATH"' > /etc/profile.d/zend_path.sh

Ardından yeniden.


1

nano / etc / profile

Bu satırı dosyanın sonuna ekleyin:

JAVA_HOME dışa aktar = / opt / jdk-12.0.1

MAVEN_HOME dışa aktar = / opt / apache-maven-3.6.1

M2_HOME dışa aktar = / opt / apache-maven-3.6.1

M2 dışa aktar = / opt / apache-maven-3.6.1 / bin

ihracat PATH = $ JAVA_HOME / kutu: $ M2: $ PATH

Dosya 'yı kaydet. Aşağıdaki komutu yeniden başlatın veya kullanın:

kaynak / etc / profile

Ayarlarınızı test edin:

echo $ JAVA_HOME

javac - sürüm değiştirme

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.