sudo
to jedno z najczęściej używanych poleceń w systemach Linux. Pozwala użytkownikowi uruchomić określony program jako inny użytkownik, który domyślnie jest superużytkownikiem.
Jest używany głównie do celów administracyjnych; zapewnienie ograniczonego dostępu administracyjnego użytkownikom niebędącym administratorami na komputerze z systemem Linux.
Na przykład domyślnie użytkownik nie może instalować pakietów w systemie Ubuntu. Jednak użytkownik może to zrobić za pomocą sudo
polecenia.
Użytkownik inny niż root bez sudo nie może zainstalować programu . Zobacz przykładową nieudaną próbę poniżej:
apt-get install aptitude
E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13: Permission denied)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root?
Użytkownik inny niż root z sudo może bez żadnych problemów instalować programy w systemie.
sudo apt-get install aptitude
Reading package lists... Done
Building dependency tree
....
Dodaj istniejącego użytkownika jako użytkownika Sudo
Jeśli użytkownik nie jest częścią sudo
grupy użytkowników, nie będzie mógł użyć sudo
polecenia. Wyrzuci poniżej dane wyjściowe:
testuser is not in the sudoers file. This incident will be reported.
Aby dodać użytkownika do listy sudoers, użyj usermod
polecenia, aby dodać istniejącego użytkownika do sudo
grupy w systemie. Poniżej znajduje się przykładowe polecenie.
sudo usermod -aG sudo testuser
Tutaj -a
opcja oznacza „dołącz”. Zapewnia to, że nie ma to wpływu na członkostwo użytkowników w istniejących grupach. -G
służy do określania, do której grupy należy dodać użytkownika.
Gdy użytkownik zostanie dodany do grupy sudo, przy następnym logowaniu tego użytkownika do systemu w terminalu zostanie wyświetlony następujący komunikat.
To run a command as administrator (user "root"), use "sudo".
See "man sudo_root" for details.
Utwórz nowego użytkownika z uprawnieniami Sudo
adduser
to polecenie Linuksa używane do tworzenia nowego użytkownika. Może być używany z
flagą, --ingroup
aby dodać użytkownika do grupy sudo podczas tworzenia.
sudo adduser testuser --ingroup=sudo
Ogranicz, które polecenia powinny być dozwolone w sudo
Plik /etc/sudoers
zawiera opcje konfiguracyjne dla sudo
polecenia. Ten plik jest bezpośrednio chroniony przed zapisem, nawet dla roota. Jedynym sposobem na edycję tego pliku jest użycie visudo
polecenia.
sudo visudo
Powyższe polecenie otworzy plik za pomocą edytora wiersza poleceń nano. Przewiń i znajdź poniższe wiersze w pliku.
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
Ostatni ALL
w linii można zastąpić jedynym poleceniem lub zestawem poleceń, które powinny być dozwolone w sudo.
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) /bin/mv, /usr/sbin/visudo
Ważna uwaga: sugerowane zmiany w powyższym pliku sudoers ograniczą użytkownikom sudo tylko możliwość wykonywania poleceń mv
i visudo
. Jest to tylko w celu wyjaśnienia, nie musisz wymuszać tych ograniczeń użytkownikom sudo w swoim systemie.
Jeśli dokonałeś jakichkolwiek zmian w pliku sudoers, korzystając z instrukcji udostępnionych powyżej, pamiętaj, aby zapisać plik, używając, Ctrl + O
aby zmiany zostały zastosowane. Następnie możesz wyjść z nano za pomocą Ctrl + X
.
Aby zmiany miały miejsce, konieczne może być zalogowanie się/wylogowanie, ponowne uruchomienie systemu lub uruchomienie nowego okna terminala.
🍻 Na zdrowie!