Bir uygulamayı başlangıçta belirli bir kullanıcı olarak nasıl çalıştırırım?


17

Belirli bir kullanıcı hesabı altında başlatma sırasında bir uygulama başlatmanın bir yolu var mı?

Örneğin, (gruptaki ) a_small_appkullanıcı hesabı altında çalıştırmak istiyorum . Bir şey ekleyebilir miyim ?bobbobsgroup/etc/init.d

Not: Bir kullanıcı oturum açtıktan sonra uygulamanın başlamasını istemiyorum, ancak bilgisayar başlatıldığında.


Uygulamanın giriş penceresinde giriş yapmadan önce başlamasını ister misiniz?
Martin Owens -doctormo-

@Martin: Aslında önemli değil ... Apache'yi burada örnek olarak kullanıyorum. Ne zaman başlar?
Nathan Osman

Yanıtlar:


13

Bir başlangıç ​​sistemi agnostik yöntemi. Bunu /etc/rc.localbir /etc/init.d/...komut dosyasında, bir Upstart yapılandırma dosyasında ve muhtemelen bir systemd yapılandırmasında da kullanabilirsiniz.

sudo -u oli /full/path/to/application

Bu komut kök kullanıcı olarak çalışacak sudove "oli" kullanıcıya düşecektir. Açıkça kullanıcı ve komutu kendi amaçlarınız için değiştirin.

Şunu da eklemeliyim ki, bunu yapmanın en az bir düzine yolu var ... Ama deneyimlerime göre, hepsi büyük ölçüde aynı. Aşağıda stanza'yı kullanan yeni bir başlangıç ​​örneği verilmiştir setuid:

start on (filesystem and stopped udevtrigger)
stop on runlevel [06]

setuid oli
respawn

exec /full/path/to/application

Ben örnek öneririz
waltinator

Ben olsunsudo: unknown group: 1004
ThorSummoner

Ayrıca, dürtme : Hattı başlatma hakkında güncelleme zamanı.
muru

@muru yapacağım. Ancak grup gerekli değildir. sudo, belirtilen kullanıcının varsayılan grubunu kullanır.
Oli

Öyleyse daha iyi düzenleyin. Birisi onu geliştirdiğinden beri bu emir üç yıldır yanlış ! : D
muru

1

Görünüşe göre ilk cevap Ubuntu 14.10'da çalışmıyor.

Ben böyle yapıyorum (/etc/rc.local içine koy)

su <username> - -c "<command>"

Bir giriş kabuğuna ihtiyacınız varsa, eşdeğerdir sudo -i -u ....
muru
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.