OpenVPN'deki "--up" seçeneği normalde yönlendirme vb. İçin kullanılır. Bu nedenle OpenVPN, hiç kimse olarak çalışmak için kök ayrıcalıklarını bırakmadan önce işlenir. Ancak, ayrıcalıksız bir kullanıcı olarak çalışması gereken kabuk komut dosyalarını çağırıyorum.
Bunu nasıl yaparım? Ben inceledik Bırak Süreç Ayrıcalıklar , özellikle polinom 's ve tylerl verdiği cevapları, ama nasıl uygulanacağı anlamıyorum. Centos 6.5 çalışıyorum ve hemid "chmod u + s" hem de "setuid ()" olarak engellenir.
"--Down" seçeneği tarafından çağrılan komut dosyalarının root olarak çalışmasını sağlayan bir OpenVPN eklentisi ("openvpn-down-root.so") vardır. "Openvpn-up-user.so" gibi bir eşdeğer olabilir, ancak bulamadım.
Edit0
Nikola Kotur'un cevabına göre, Ian Meyer'ın runit-rpm'ini kurdum . Her ne kadar chpst komutu terminalde çalışsa da, up komut dosyasında "komut bulunamadı" ile başarısız oluyor. Ne işe yarar "sudo chpst" artı uygun ekran ve dili ayarlamak. Lütfen bkz. Terminal çıkışım neden unicode karakterleri düzgün şekilde almıyor? Bununla birlikte, up komut dosyasının şu dört satıra ihtiyacı vardır:
LANG="en_US.UTF-8"; export LANG
GDM_LANG="en_US.UTF-8"; export GDM_LANG
DISPLAY=:0; export DISPLAY
sudo chpst -u user -U user /home/user/unprivileged.sh &
Edit1
0xC0000022L yorum başına, "sudo -u kullanıcı" yanı sıra "sudo chpst -u kullanıcı -U kullanıcı" çalışır:
LANG="en_US.UTF-8"; export LANG
GDM_LANG="en_US.UTF-8"; export GDM_LANG
DISPLAY=:0; export DISPLAY
sudo -u user /home/user/unprivileged.sh &
Adam sudo'ları inceleyeceğim ve eğer sudo'yu yalnız başıma çalıştırırsam / güncelleyeceğim.