Sistem hizmetlerini veya birimlerini yönetmek için kimlik doğrulaması gerekir.


19

Bir daemon'u normal bir kullanıcı olarak durdurmaya / başlatmaya çalıştığımda garip bir sorunum var, başka bir normal kullanıcının kimlik bilgileriyle kimlik doğrulaması yapılmasını istiyor - örneğin:

[bob@server ~]$ systemctl stop some-daemon.service
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to manage system services or units.
Authenticating as: alice
Password: 

Neden Alice'in bob giriş yaptığında kimlik doğrulaması yapmasını istiyor ve bunu nasıl düzeltebilirim?


Hizmet yapılandırma dosyası neye benziyor?
Jenny D, Monica

@JennyD: Yapılandırmanın dosya konumu nerede?
Jack O'Leary

Ne istiyorsunuz? Her kullanıcı için kendi kopyalama hizmetini başlatmak istiyor musunuz? Örneğin Alice için kendi VNC-daemon'unu ve bob için kendi VNC-daemon'unu başlat ?
Alexander Tolkachev

@AlexanderT: Her kullanıcının kendi vncserver'ı olması gerekir, bu şekilde tasarlanır, yani evet - az ya da çok. Bob bir vnc sunucusu çalıştırmıyor, ilgisiz bir şey çalıştırıyor, ancak başlatmaya çalıştığında systemctl alice'nin şifresini istiyor ... (omuz silkme).
Jack O'Leary

@ JackO'Leary, bu makalede anlatıldığısystemd --user gibi kullanmaya çalışabilirsiniz . Aksi takdirde, gerekli hizmetler için her kullanıcı için sudo verebilirsiniz.
Alexander Tolkachev

Yanıtlar:


8

Sisteminiz polkitYetkilendirme Yöneticisi'ni kullanıyor ve ileti dosyadan geliyor /usr/share/polkit-1/actions/org.freedesktop.systemd1.policy. ve dizinlerde, daha spesifik olarak ve alt dizinlerde polkityapılandırılabilir . Daha fazla bilgi için Polkit kılavuz sayfasına bakınız ./etc/polkit-1/usr/share/polkit-1rules.dactions


Belgelerden: "polkit, kullanıcıların bir yönetici kullanıcının veya istemcinin ait olduğu oturumun sahibinin kimliğini doğrulayarak geçici yetkilendirme almalarına olanak tanır." Belki bu neden Alice'in şifresini istediğine dair bir ipucu verebilir.
Johan Myréen

Kuralın nerede kaldırılacağını veya kimlik doğrulaması yapılmasını isteyen diğer kullanıcının ne olursa olsun hala tamamen kaybolduğum halde burada bir şey bulduğunuzu düşünüyorum. Bu dizinlerin her ikisine de baktım ve "alice" için bir grep bile yaptım ve hiçbir şey geri verilmedi.
Jack O'Leary

Daha su - aliceönce vnc arka plan programına başlamadan önce yaptığınızı söylediniz . Sanırım alice "müşterinin ait olduğu oturumun sahibi" yapar.
Johan Myréen

Gerçi mantıklı olmayan, sadece bir hizmet için yapıldığı, daha sonra durdurulduğu ve kullanıcının oturumu kapattığıydı. Bob için diğer hizmet tamamen farklı bir şey olduğu gibi alice ile ilgili bir şey olmamalıdır - Çok garip ... Normal davranış böyle ise polkit tamamen devre dışı bırakmak olmaz.
Jack O'Leary

Oturumun sahibinin loginctlkomutla kim olduğunu öğrenebilirsiniz . Bu, polkit'in oturumun sahibinin kimliğini doğrulamasını istediğini doğrulayabilir veya çürütebilir. Gerçekten neden Alice bu durumda sahibi olduğunu söyleyemeyiz .
Johan Myréen

5

Sistem hizmetlerini yönetirken, bunu normal kullanıcı olarak değil kök olarak yapmanız gerekir. Bu, $kabuk isteminin sonunda karakter ile gösterilir .

sudo commandKök kullanabilir veya köke geçiş yapabilirsiniz (kök kabuk genellikle #char ile gösterilir ).


Kök olarak yapsam bile normal kullanıcıların kimlik doğrulamasını ister. Temel olarak kök kullanıcı su - alice, daha sonra systemctlvnc daemon'unu başlatmak için yaptı, ancak şimdi systemctlne olursa olsun her biri için kimlik doğrulaması istiyor ...
Jack O'Leary

'/Etc/init.d/munge start' yazdığımda hata mesajını aldım. Sudo eklemek sorunu düzeltti. Teşekkürler!
fchen

0

/ Etc / groups ve sudoers kuralını kontrol edin. Bir kişi kendini tekerlek grubuna eklediğinde ve bu şekilde köklendiyse bu olabilir.

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.