Chciałbym utworzyć nowego użytkownika na niektórych moich hostach Debian / Ubuntu, który jest w stanie zaktualizować serwer za pomocą poleceń apt-get update
i apt-get dist-upgrade
, ale nie chcę dać im pełnego dostępu do sudo, aby móc robić cokolwiek innego. czy to możliwe? Być może istnieje sposób na stworzenie skryptu, którego nie mogą edytować, ale mogą zostać wykonane, co zostanie wykonane jako użytkownik root?
permissions
sudo
privileges
Programista
źródło
źródło
man sudoers
isudo cat /etc/sudoers
.Odpowiedzi:
Sudo
a/etc/sudoers
plik nie służy wyłącznie do zapewnienia użytkownikom pełnego dostępu do katalogu głównego.Możesz edytować plik sudoers za pomocą istniejącego użytkownika sudo za pomocą polecenia
sudo visudo
Możesz pogrupować polecenia, którym chcesz udzielić dostępu, jak poniżej:
Następnie możesz nadać określone uprawnienia użytkownika tym poleceniom:
Można to zobaczyć na poniższym obrazku :
Teraz, jeśli spróbujesz
sudo apt-get update
lubsudo apt-get dist-upgrade
te polecenia będą wykonywane bez pytania o hasło . Jeśli chcesz otrzymać monit o hasło, usuńNOPASSWD
bit, w którym przyznajesz użytkownikowi dostęp do grup poleceń.Jeśli spróbujesz uruchomić cokolwiek innego jako
sudo
użytkownik, zostaniesz poproszony o podanie hasła i nie powiedzie się.Bibliografia
źródło
apt-get
, a nawet jedynieapt-get upgrade
, daje im pełny dostęp do roota ! Wiele skryptów aktualizacji umożliwia interaktywnemu użytkownikowi wykonanie powłoki, na przykład po zmianie pliku konfiguracyjnego. Aby być bezpiecznym, ogranicz sięapt-get
do niektórych poleceń i wymuś, aby nie był interaktywny. Zobacz Czy mojemu użytkownikowi ssh bezpiecznie jest otrzymywać sudo bez hasła dlaapt-get update
iapt-get upgrade
?%sudo ...