Czy można zezwolić użytkownikom innym niż root na instalowanie pakietów w całym systemie za pomocą apt lub rpm?
Miejsce, w którym pracuję, ma obecnie nieaktualną konfigurację na polach linuksowych, a administratorzy mają dość wykonywania wszystkich instalacji dla użytkowników na żądanie, więc myślą o przyznaniu pełnych praw sudo wszystkim użytkownikom. Ma to oczywiste wady bezpieczeństwa. Zastanawiam się więc, czy istnieje sposób, aby zezwolić zwykłym użytkownikom na instalowanie oprogramowania - oraz na jego aktualizację i usunięcie?
linux
package-management
sudo
software-installation
naught101
źródło
źródło
apt-secure(8)
mówi: „apt-get będzie obecnie ostrzegał tylko przed niepodpisanymi archiwami, przyszłe wydania mogą wymusić weryfikację wszystkich źródeł przed pobraniem z nich pakietów”. W zależności od stopnia zaawansowania ataku możliwe jest przejęcie połączenia ze źródłem repozytorium i wstrzyknięcie niezaufanego pakietu. Jednak przeczytaj tę stronę podręcznika, aby uzyskać więcej szczegółów. Być może masz wystarczająco bezpieczne rozwiązanie dla swojego modelu wątku.Odpowiedzi:
Możesz określić dozwolone polecenia za pomocą sudo, nie musisz zezwalać na nieograniczony dostęp, np
Pozwoliłoby to nazwa użytkownika, aby uruchomić
sudo apt-get
isudo aptitude
bez hasła, ale nie pozwoli żadnych innych poleceń.Możesz także użyć packagekit w połączeniu z PolicyKit, aby uzyskać lepszy poziom kontroli niż sudo.
Zezwalanie użytkownikom na instalowanie / usuwanie pakietów może stanowić ryzyko. Mogą dość łatwo sprawić, że system przestanie działać po prostu przez odinstalowanie niezbędnego oprogramowania, takiego jak libc6, dpkg, rpm itp. Zainstalowanie dowolnego oprogramowania ze zdefiniowanych archiwów może pozwolić atakującym na zainstalowanie przestarzałego lub nadającego się do wykorzystania oprogramowania i uzyskanie dostępu do konta root. Moim zdaniem główne pytanie brzmi: jak bardzo ufasz swoim pracownikom?
Oczywiście Twój zespół administracyjny może również zacząć korzystać z systemu zarządzania konfiguracją, takiego jak marionetka, szef kuchni lub zajrzeć do spacerów, aby zarządzać systemem. Pozwoliłoby im to skonfigurować system i zarządzać nim z systemu centralnego.
źródło
aptdcon
Ze stron podręcznika:
źródło
ERROR: You are not allowed to perform this action. ('system-bus-name', {'name': ':1.716'}): org.debian.apt.install-or-remove-packages
źródło
Szukałem również czegoś takiego, ale nic się nie pojawiło, więc zakodowałem to łatwe rozwiązanie „kanałami oprogramowania”:
https://github.com/alfem/softwarechannels
Jest to bardzo prosty system pozwalający zwykłym użytkownikom (bez administratora) na instalowanie pakietów 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