Uwierzytelnianie jest wymagane do zarządzania usługami systemowymi lub jednostkami.

19

Mam dziwny problem za każdym razem, gdy próbuję zatrzymać / uruchomić demona jako zwykły użytkownik, prosi o uwierzytelnienie przy użyciu poświadczeń innego zwykłego użytkownika - na przykład:

[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: 

Dlaczego jest to, prosząc o Alicji do uwierzytelnienia przy bob jest zalogowany, i jak to naprawić?

Jack O'Leary
źródło
Jak wygląda plik konfiguracyjny usługi?
Jenny D mówi Przywróć Monikę
@JennyD: Gdzie jest lokalizacja pliku konfiguracji?
Jack O'Leary
Czego chcesz? Chcesz uruchomić własną usługę kopiowania dla każdego użytkownika? Np. Uruchomić własnego demona VNC dla alice i własnego demona VNC dla boba ?
Alexander Tolkachev
@AlexanderT: Każdy użytkownik musi mieć własny serwer vncserver, tak jest zaprojektowany, więc tak - mniej więcej tak. Bob nie prowadzi jednak serwera VNC, działa na nim coś niezwiązanego, ale kiedy próbuje go uruchomić, systemctl prosi o hasło Alicji ... (wzrusza ramionami).
Jack O'Leary
@ JackO'Leary, możesz spróbować użyć systemd --userw sposób opisany w tym artykule . W przeciwnym razie możesz podać sudo dla każdego użytkownika dla wymaganych usług.
Alexander Tolkachev

Odpowiedzi:

8

Twój system używa polkitMenedżera autoryzacji, a wiadomość pochodzi z pliku /usr/share/polkit-1/actions/org.freedesktop.systemd1.policy. polkitmożna skonfigurować w /etc/polkit-1i /usr/share/polkit-1katalogów, a dokładniej w rules.di actionspodkatalogów. Aby uzyskać więcej informacji, zobacz stronę podręcznika użytkownika Polkit .

Johan Myréen
źródło
Z dokumentacji: „Polkit pozwala użytkownikom uzyskać tymczasową autoryzację poprzez uwierzytelnienie użytkownika administracyjnego lub właściciela sesji, do której należy klient”. Może to może dać wskazówkę, dlaczego prosi o hasło Alicji.
Johan Myréen
Wydaje mi się, że coś Cię tu interesuje, chociaż nadal jestem całkowicie zagubiony w kwestii tego, gdzie należy usunąć regułę lub cokolwiek innego użytkownika, który ciągle prosi o uwierzytelnienie. Zajrzałem do obu tych katalogów, a nawet zrobiłem grep dla „alice” i nic nie zostało zwrócone.
Jack O'Leary
Powiedziałeś wcześniej, że zrobiłeś su - aliceprzed uruchomieniem demona VNC. Myślę, że to czyni Alice „właścicielem sesji, do której należy klient”.
Johan Myréen
Nie ma jednak sensu, że zrobiono to tylko dla jednej usługi, która została następnie zatrzymana i użytkownik się wylogował. Druga usługa dla boba nie powinna mieć nic wspólnego z alicja, ponieważ było to coś zupełnie innego - To bardzo dziwne ... Nie miałbym nic przeciwko wyłączeniu pakietu polkit, jeśli takie jest jego normalne zachowanie.
Jack O'Leary
Za pomocą polecenia możesz dowiedzieć się, kto jest właścicielem sesji loginctl. To może potwierdzić lub obalić moją teorię, że program polkit prosi właściciela sesji o uwierzytelnienie. Naprawdę nie mogę powiedzieć, dlaczego Alice jest właścicielem w tym przypadku.
Johan Myréen
5

Podczas zarządzania usługami systemowymi musisz to zrobić jako root, a nie jak zwykły użytkownik. Wskazuje na to $znak na końcu zachęty powłoki.

Możesz użyć sudo commandlub przełączyć się na root (powłoka root jest zwykle oznaczona #char).

Khaled
źródło
Nawet jeśli robię to jako root, prosi o normalne uwierzytelnienie użytkowników. Zasadniczo zrobił to użytkownik root su - alice, a następnie systemctluruchomił demona VNC, ale teraz prosi o uwierzytelnienie dla każdego, systemctlbez względu na to, co to jest ...
Jack O'Leary
Otrzymałem komunikat o błędzie, gdy wpisałem „/etc/init.d/munge start”. Dodanie sudo naprawiło to. Dzięki!
fchen
0

Sprawdź regułę / etc / groups and sudoers. Może się to zdarzyć, jeśli osoba doda się do grupy kół i w ten sposób zrootuje.

natermer
źródło