LinuxAdministrator - sudo #010 #LinuxAdministrator #bash #linux
Spisu treści:
- Instalowanie Sudo (nie znaleziono polecenia sudo)
- Zainstaluj Sudo na Ubuntu i Debianie
- Zainstaluj Sudo na CentOS i Fedorze
- Dodawanie użytkownika do sudoers
- Jak korzystać z Sudo
- Limit czasu hasła
- Uruchom polecenie jako użytkownik inny niż root
- Jak przekierować z Sudo
- Wniosek
Polecenie sudo pozwala uruchamiać programy jako inny użytkownik, domyślnie jako użytkownik root. Jeśli spędzasz dużo czasu w wierszu poleceń, sudo jest jednym z poleceń, którego będziesz używać dość często.
Używanie sudo zamiast logowania jako root jest bezpieczniejsze, ponieważ możesz przyznać ograniczone uprawnienia administracyjne poszczególnym użytkownikom bez znajomości hasła roota.
W tym samouczku wyjaśnimy, jak używać polecenia
sudo
.
Instalowanie Sudo (nie znaleziono polecenia sudo)
Pakiet sudo jest wstępnie zainstalowany w większości dystrybucji Linuksa.
Aby sprawdzić, czy pakiet sudo jest zainstalowany w systemie, otwórz konsolę, wpisz
sudo
i naciśnij klawisz
Enter
. Jeśli masz zainstalowane sudo, system wyświetli krótki komunikat pomocy, w przeciwnym razie zobaczysz coś takiego jak
sudo command not found
.
Jeśli sudo nie jest zainstalowane, możesz łatwo zainstalować je za pomocą menedżera pakietów swojej dystrybucji.
Zainstaluj Sudo na Ubuntu i Debianie
Zainstaluj Sudo na CentOS i Fedorze
Dodawanie użytkownika do sudoers
Domyślnie w większości dystrybucji Linuksa udzielenie dostępu do sudo jest tak proste, jak dodanie użytkownika do grupy sudo zdefiniowanej w pliku
sudoers
. Członkowie tej grupy będą mogli uruchomić dowolne polecenie jako root. Nazwa grupy może różnić się w zależności od dystrybucji.
W dystrybucjach opartych na RedHat, takich jak CentOS i Fedora, nazwa grupy sudo to
wheel
. Aby dodać użytkownika do uruchomienia grupy:
usermod -aG wheel username
W przypadku Debiana, Ubuntu i ich pochodnych członkowie grupy
sudo
mają dostęp do sudo:
usermod -aG sudo username
Konto użytkownika root w Ubuntu jest domyślnie wyłączone ze względów bezpieczeństwa i użytkownicy są zachęcani do wykonywania zadań administracyjnych systemu za pomocą sudo. Początkowy użytkownik utworzony przez instalator Ubuntu jest już członkiem grupy sudo, więc jeśli korzystasz z Ubuntu, istnieje prawdopodobieństwo, że użytkownik jest zalogowany, ponieważ ma już uprawnienia sudo.
Na przykład, aby zezwolić użytkownikowi
linuxize
na uruchamianie tylko polecenia
mkdir
jako sudo, wpisz:
sudo visudo
i dodaj następujący wiersz:
linuxize ALL=/bin/mkdir
W większości systemów polecenie
visudo
otwiera
/etc/sudoers
za pomocą edytora tekstu vim. Jeśli nie masz doświadczenia z vimem, przeczytaj nasz artykuł o tym, jak zapisać plik i zamknąć edytor vim.
Możesz także zezwolić użytkownikom na uruchamianie poleceń sudo bez podawania hasła:
linuxize ALL=(ALL) NOPASSWD: ALL
Jak korzystać z Sudo
Składnia polecenia
sudo
jest następująca:
sudo OPTION.. COMMAND
Polecenie
sudo
ma wiele opcji kontrolujących jego zachowanie, ale zwykle
sudo
jest używane w najbardziej podstawowej formie, bez żadnej opcji.
Aby użyć sudo, po prostu poprzedź polecenie
sudo
:
sudo command
Gdzie
command
to polecenie, do którego chcesz użyć sudo.
Sudo przeczyta
/etc/sudoers
i sprawdzi, czy inwokujący użytkownik uzyskał ocenę sudo. Przy pierwszym użyciu sudo w sesji pojawi się monit o podanie hasła użytkownika, a polecenie zostanie wykonane jako root.
Na przykład, aby wyświetlić listę wszystkich plików w
/root
chcesz użyć:
sudo ls /root
password for linuxize:….bashrc.cache.config.local.profile
Limit czasu hasła
Domyślnie sudo poprosi o ponowne wprowadzenie hasła po pięciu minutach bezczynności sudo. Możesz zmienić domyślny limit czasu, edytując plik
sudoers
. Otwórz plik za pomocą
visudo
:
sudo visudo
Ustaw domyślny limit czasu, dodając poniższy wiersz, gdzie
10
to limit czasu określony w minutach:
Defaults timestamp_timeout=10
Defaults:user_name timestamp_timeout=10
Uruchom polecenie jako użytkownik inny niż root
Istnieje błędne przekonanie, że
sudo
jest używane tylko w celu zapewnienia uprawnień roota zwykłemu użytkownikowi. W rzeczywistości możesz użyć
sudo
aby uruchomić polecenie jak każdy użytkownik.
Opcja
-u
pozwala uruchomić polecenie jako określony użytkownik.
W poniższym przykładzie używamy
sudo
do uruchomienia komendy
whoami
jako użytkownik „richard”:
sudo -u richard whoami
Komenda
whoami
wyświetli nazwę użytkownika uruchamiającego komendę:
Jak przekierować z Sudo
sudo echo "test" > /root/file.txt
bash: /root/file.txt: Permission denied
Dzieje się tak, ponieważ przekierowanie „
>
” wyjścia odbywa się pod zalogowanym użytkownikiem, a nie z użytkownikiem określonym przez sudo. Przekierowanie odbywa się przed wywołaniem polecenia
sudo
.
Jednym z rozwiązań jest wywołanie nowej powłoki jako root za pomocą
sudo sh -c
:
sudo sh -c 'echo "test" > /root/file.txt'
Inną opcją jest przesłanie danych wyjściowych jako zwykły użytkownik do komendy
tee
jak pokazano poniżej:
echo "test" | sudo tee /root/file.txt
Wniosek
Nauczyłeś się, jak korzystać z polecenia
sudo
i jak tworzyć nowych użytkowników z uprawnieniami sudo.
Polecenie CP w systemie Linux (kopiowanie plików)
cp to narzędzie wiersza polecenia do kopiowania plików i katalogów w systemach Unix i Linux.
Polecenie różnicowe w systemie Linux
diff to narzędzie wiersza polecenia, które pozwala porównać dwa pliki linia po linii. Może także porównywać zawartość katalogów.
Jak uruchomić polecenie sudo bez hasła
Polecenie sudo pozwala zaufanym użytkownikom na uruchamianie programów jako inny użytkownik, domyślnie jako użytkownik root. W tym samouczku wyjaśniono, jak skonfigurować plik sudoers i zezwolić niektórym użytkownikom na uruchamianie poleceń sudo bez pytania o hasło.







