Jak ustawić Centrum oprogramowania, aby zezwalać użytkownikom innym niż root na instalowanie rzeczy z repozytoriów Ubuntu bez konieczności wpisywania hasła?
Jestem w pełni świadomy konsekwencji dla bezpieczeństwa i jestem gotów podjąć ryzyko. Fedora 12 dostarczana z czymś takim. (Myślę, że poprzez modyfikację konfiguracji PolicyKit)
software-center
software-installation
policykit
burza śnieżna
źródło
źródło
Odpowiedzi:
Możesz zmodyfikować uprawnienia PolicyKit, aby umożliwić użytkownikom dostęp do zaplecza aptdaemon, z którego korzysta Software Center.
dpkg --listfiles aptdaemon
pokazuje, że/usr/share/polkit-1/actions/org.debian.apt.policy
jest to plik określający możliwe działania na backendie aptdaemon.W tym pliku
< action id="">
znaczniki określają możliwe działania. Prawdopodobnie chceszorg.debian.apt.install-packages
zezwolić użytkownikom na instalowanie nowych pakietów z archiwum iorg.debian.apt.update-cache
umożliwić użytkownikom aktualizację list pakietów.Zobacz,
man pklocalauthority
jakie dokumenty ustawiają lokalne uprawnienia do akcji PolicyKit. Włączenie następujących opcji/etc/polkit-1/localauthority/50-local.d/10-allow-users-to-install.pkla
pozwoli każdemu użytkownikowi zalogowanemu na komputerze lokalnym na zainstalowanie pakietów po wpisaniu własnego hasła (nawet gdy nie ma ich w grupie administracyjnej) oraz na aktualizację pamięci podręcznej pakietów bez wpisywania hasła.źródło
/usr/share/polkit-1/actions/org.kubuntu.qaptworker.policy
Identity=*
aby to zadziałało, dostosowane z askubuntu.com/a/123260 . Ponadto, czy jest jakiś sposób, aby uzyskać więcej danych wyjściowych dziennika zestawu zasad w np./var/log/auth.log
(Lub w innych plikach dziennika)? Dostaję tylkoauthentication fails
wiadomości, ale bez powodu, dlaczego się nie udało ...Nie sądzę, że obecnie można to zrobić za pomocą GUI, ale poniższe powinny działać, choć być trochę niechlujne. YMMV.
Dodaj następujący wiersz do / etc / sudoers (użyj
sudo visudo
do edycji pliku):Następnie wystarczy utworzyć i dodać określonych użytkowników do
packageinstallers
grupy:Teraz
jdoe
możesz wykonać następujące czynności:i możesz edytować element menu na pulpicie Centrum oprogramowania, aby wywoływał
software-center
polecenie poprzedzającegksudo
.PolicyKit może ci na to pozwolić bez sudo, ale w tej chwili nie rozumiem.
źródło
Odpowiedź RAOF dotyczy tylko Ubuntu. Kubuntu używa QAptWorker jako backendu (obserwowane dla Natty i Oneiric). Aby zezwolić na instalacje użytkownika innego niż root, utwórz
/etc/polkit-1/localauthority/50-local.d/10-allow-non-root-install-packages.pkla
zawierające:Chciałem zezwolić niektórym użytkownikom niebędącym administratorami na instalowanie oprogramowania bez bezpośredniego udzielania dostępu do sudo. Osiągnięto to, wstawiając kolejne wiersze do obu grup konfiguracji:
Jeśli istnieje grupa, której należy przyznać pozwolenie, użyj
unix-group
zamiastunix-user
.źródło
sudo -i
tym, jak nie mam nawet dostępu do/etc/polkit-1/localauthority
(Ubuntu 17.10): „Nie będę próbował przetwarzać katalogu / etc / polkit-1 / localauthority”Jeśli potrzebujesz tylko ogólnego uprawnienia, aby zezwolić / zabronić instalacji pakietu, przejdź do PolicyKit.
Niestety PolicyKit nie ma dokładnej kontroli nad pakietem do zainstalowania. Jeśli chcesz zezwolić użytkownikom na instalację tylko ograniczonego zestawu aplikacji, powinieneś użyć
sudo
i zainstalować coś w rodzaju kanałów oprogramowania ...Szukałem również czegoś takiego, ale ponieważ nic nie znalazłem, kodowałem to łatwe rozwiązanie „kanały programowe”, dostępne tutaj na GitHub
Jest to bardzo prosty system, który pozwala zwykłym użytkownikom (niebędącym administratorami) instalować pakiety z ograniczonych katalogów.
Wystarczy zdefiniować „kanały” (grupy pakietów) w prostym pliku tekstowym i dać użytkownikom uprawnienia do uruchamiania kanałów oprogramowania.
Będą widzieć tylko pakiety w kanałach pasujących do ich grup uniksowych.
źródło