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ć?


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 .


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).


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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.