Kod: Zaznacz cały
Spis treści:
0. Sudo - czyli co?
1. Pobieranie i instalacja:
2. Konfiguracja:
2.a Podstawowa składnia /etc/sudoers
2.b Udzielanie członkom grupy XXX prawa do wykonywania polecenia YYY
2.c Zezwalanie na wykonanie wielu komend
3. Używanie sudo:
3.a Podstawowe użycie sudo
4. Aliasy:
4.a Aliasy w sudo
4.b Wykonywanie programu jako inny użytkownik ( nie root)
5. Hasła:
5.a Aby sudo nigdy nie zapamiętywało haseł
5.b Żądanie hasła innego użytkownika
5.c Aby sudo nie domagało się hasła
6. Inne opcje:
6.a Sprawdzanie uprawnień
6.b Aby wydłużyć czas ważności hasła o kolejne 5 minut
6.c Aby hasło zostało zapomniane od razu
0. Sudo – czyli co?
Sudo jest programem dzięki któremu administrator może zezwolić dowolnemu użytkownikowi na wykonywanie programów i poleceń, do których normalnie nie miałby uprawnień.
Pracując na koncie użytkownika nie musimy logować się na konto root'a. W praktyce wygląda to tak: zamiast pisać su -> hasło -> komenda piszemy sudo komenda. Wystarczy tylko odpowiednio skonfigurować sudo. A w tym ma pomóc to HOWTO.
1. Pobieranie i instalacja:
Pobieramy sudo (w chwili pisania tego howto najnowszą wersją było sudo-1.6.8p12). Tak więc:
$ wget ftp://sunsite.icm.edu.pl/pub/Linux/slac ... i486-1.tgz
Aby zainstalować program z katalogu, w którym jest paczka wpisujemy:
# installpkg sudo-1.6.8p12-i486-1.tgz
Użytkownicy programów takich jak swaret mogą się nimi posłużyć w sposób:
# swaret --install sudo
2. Konfiguracja:
Konfiguracja sudo odbywa się poprzez edycję pliku /etc/sudoers. Plik ten powinien być edytowany tylko i wyłącznie za pomocą polecenia
Kod: Zaznacz cały
# visudo
2.a. Podstawowa składnia /etc/sudoers:
Podstawowa składnia /etc/sudoers wygląda następująco:
Kod: Zaznacz cały
użytkownik komputer = komenda
Kod: Zaznacz cały
kazik localhost = /usr/bin/vim
2.b. Udzielanie członkom grupy XXX prawa do wykonywania polecenia YYY:
Kod: Zaznacz cały
%XXX localhost = /ścieżka/do/polecenia/YYY
Kod: Zaznacz cały
kazik localhost = /usr/bin/vim, /usr/bin/nail, /usr/bin/sane
3.a. Podstawowe użycie sudo
Polecenie $ sudo vim, którego efektem jest
Kod: Zaznacz cały
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
Password: (wpisać własne hasło, a nie root'a)
$ sudo /usr/sbin/checkinstall
4. Aliasy
Jeśli mamy w systemie wielu użytkowników, którzy mogą logować się na inne komputery perspektywa przypisania do /etc/sudoers wszystkich potrzebnych kombinacji nie jest zbyt kusząca. Na szczęście mamy możliwość skorzystania z aliasów.
4.a Aliasy w sudo
Kod: Zaznacz cały
Cmnd_Alias alias_polecenia = command1, command2, ... // aliasy komend
Host_Alias alias_hosta = hostname1, hostname2, ... //aliasy komputerów
User_Alias alias_uzytkownika = user1, user2, ... //aliasy użytkowników
PORADA: aby się nie pogubić przyjmuje się, że nazwy aliasów pisze się wielkimi literami.
4.b. Wykonywanie programu jako inny użytkownik (nie root)
Kod: Zaznacz cały
użytkownik komputer = (uruchom-jako) komenda/y
Kod: Zaznacz cały
kazik localhost = (adam, grześ) /usr/bin/vim
5. Hasła
Po użyciu, sudo poinformuje użytkownika o konieczności wpisania hasła (hasła danego użytkownika). Hasło zostanie zapamiętane na 5 minut.
5.a. Aby sudo nigdy nie zapamiętywało haseł
W tym celu należy dopisać w pliku /etc/sudoers
Kod: Zaznacz cały
Defaults:kazik timestamp_timeout=0
5.b. Żądanie hasła innego użytkownika
Należy dopisać do wiadomego pliku:
Kod: Zaznacz cały
Defaults:adam runaspw, passwd_tries=2
5.c. Aby sudo nie domagało się hasła
Należy wpisać:
Kod: Zaznacz cały
kazik localhost = NOPASSWD: /usr/bin/vim
6.a. Sprawdzanie uprawnień:
sudo -l
6.b. Aby wydłużyć czas ważności hasła o kolejne 5 minut
sudo -v
6.c Aby hasło zostało zapomniane od razu
sudo -k
UWAGA NA KONIEC: znaki # i $ poprzedzające polecenia oznaczają jaki użytkownik powinien je wykonać, i tak # oznacza root'a a $ zwykłego użytkownika.
Po więcej informacji o sudo odsyłam do man sudoers i man sudo.
Autor: largo3