En iyi yöntem farklı bir kullanıcı olarak Linux hizmet çalıştırmak için
RHEL kutudan açılışta hizmetleri root
başlangıç için varsayılan. Eğer yanlış hatırlamıyorsam, aynı /etc/init.d
ınit scriptleri kullanan diğer Linux dağıtımları için de geçerlidir.
Senin yerine işlemleri kendi seçtiğim (statik) bir kullanıcı olarak çalıştırmak için en iyi yolu nedir sizce?
Vardım tek yöntemi gibi bir şey kullanmak için:
su my_user -c 'daemon my_cmd &>/dev/null &'
Ama bu biraz dağınık... gibi görünüyor
Sihirli bazı bit otomatik olarak Hizmetler Diğer başlatmak için kolay bir mekanizma sağlar saklanmış, kök olmayan kullanıcılar var mı?
DÜZENLEME:Bu durumda başlıyorum süreçleri de Python komut dosyaları veya Java programları olduğunu söylemeliydim. Oldukça çevrelerindeki yerel bir sarıcı yazmak istemiyorum, ne yazık ki Black anlaşılacağı gibi setuid() çağrı yapamaz oldum.
CEVAP
Debian biz pıd-dosyalar işleme start-stop-daemon
yardımcı kullanımı, kullanıcı değiştirme, arka plana daemon koyarak ve çok daha fazlası.
Zaten /etc/init.d/functions
, btw. tanımlanan () kullandığınız RedHat, ama daemon
yardımcı aşina değilim her yerde de programın uıd değiştirebilirsiniz, ya da start-stop-daemon
, eşdeğer olarak anılan, ya da senin gibi zaten doğru.
Eğer net etrafınıza bakarsanız, kullanabileceğiniz çeşitli hazır ambalajı var. Hatta bazıları zaten RedHat paketlenmiş olabilir. Örneğin daemonize
bir göz atın.
Nasıl her zaman arka planda bir hizmet...
Ne'In PHP?ile kullanıcı girişi st...
Visual Studio her zaman Windows 8 Yöne...
Nasıl bir dize olarak adını aldığımda ...
Nasıl benim zorlamak için .NET Windows...