Hangi kullanıcı /etc/rc.local içinde tanımlanan komutları çalıştırır?


13

Komutlar varsayılan olarak /etc/rc.localçalıştırıldı sumı? Her komuttan önce
belirtmem gerekiyor mu sudoyoksa subağımsız olarak çalıştırılacak mı?

Yanıtlar:


17

sukullanıcı , komutları yerine başka bir kullanıcının alternatif kimliğiyle sonraki komutları / programları çalıştıracak bir program değildir . Bu sudoaçıdan çok benzer .

Başka bir kullanıcı belirtilmedikçe, her iki komut da varsayılan olarak rootkullanıcının süper kullanıcısı / yöneticisi alternatif kimliği altında çalıştırılır .

Arasındaki temel fark, suve sudoolmasıdır:

  • su bu alternatif kullanıcının şifresini bilmenizi gerektirir, burada
  • sudosudokomutu çalıştıran kullanıcının parolasını soracak ve kullanıcının istenen komutları / programları çalıştırmasına izin verecek şekilde kurulum gerektirecektir.

( rootÇalıştırıldığında suveya sudoşifre gerekmediğinde.)


Herhangi bir init betiği gibi, /etc/rc.localkomut dosyası da rootkullanıcı tarafından yürütülür ve kök olarak çalışması gereken komutların / programların başına ya suda sudoönüne eklemeniz gerekmez.

Hala kullanımda gerekebilir suveya sudoo komutlar yürütülecek gerekiyorsa init komut olarak değilroot ama başka bir kullanıcı / hizmet-hesabında ...

su -oracle/do/something/as/oracle/user


Rc.local içine su - user /path/to/script.sh koyarsam ve kaynak yaparken bana kullanıcı şifresini sorar (ve daha sonra terminali kapatırsa) ne yapmalıyım. Bana kullanıcının şifresini sormamasını nasıl sağlarım?
alonso s

10

Evet, tüm komut dosyaları ve programlar doğrudan root tarafından çağrılır.

/etc/rc.localDosya init süreci ile doğrudan denir.


1
Öyleyse, sudokomutları eklemeden önce eklememiz gerekmiyor /etc/rc.localmuydu?
Benyamin Jafari
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.