LinTerm

forum dyskusyjne użytkowników wyjątkowej polskiej dystrybucji linuksa


#1 2007-01-16 14:47:24

Kamil Pawelak

amarok / incarnatus / Mr.Raggahashish

Skąd: Elbląg
Zarejestrowany: 2007-01-15
Posty: 89
Punktów :   
WWW

sudo

sudo - howto



Kod:

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.

2. Konfiguracja.

Konfiguracja sudo odbywa się poprzez edycję pliku /etc/sudoers. Plik ten powinien być edytowany tylko i wyłącznie za pomocą polecenia:

Kod:

# visudo

zapobiega to sytuacji, że dwóch administratorów będzie jednocześnie edytować plik /etc/sudoers, a także gwarantuje zachowanie odpowiednich bitów uprawnień. Dodatkowym atutem konfiguracji przez visudo jest to, że sprawdzana jest składnia.

2.a. Podstawowa składnia /etc/sudoers.

Podstawowa składnia /etc/sudoers wygląda następująco:

Kod:

użytkownik komputer = komenda

W skrócie polega to na tym, ze dany użytkownik będąc zalogowany na maszynie komputer może wykonać komendę z prawami root'a. Przykład:

Kod:

kazik localhost = /usr/bin/vim

Uwaga. Jeśli nazwa komputera została zmieniona należy podać jego rzeczywistą nazwę.

2.b. Udzielanie członkom grupy XXX prawa do wykonywania polecenia YYY.

Kod:

%XXX  localhost = /ścieżka/do/polecenia/YYY

2.c. Zezwalanie na wykonanie wielu komend.

Kod:

kazik localhost = /usr/bin/vim, /usr/bin/nail, /usr/bin/sane

3. Używanie sudo.

3.a. Podstawowe użycie sudo.

Polecenie $ sudo vim, którego efektem jest:

Kod:

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)

Uwaga sudo nie zmienia zawartości zmiennej $PATH. Żeby uruchomić z sudo program spoza własnej zmiennej $PATH należy podać pełną ścieżkę do programu np:

Kod:

$ 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:

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

Standardowo istnieje już zdefiniowany alias ALL i jest aliasem wszystkich możliwych wartości.
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:

 użytkownik komputer = (uruchom-jako) komenda/y

Przykład:

Kod:

kazik localhost = (adam, grześ) /usr/bin/vim

Teraz wydając komendę sudo -u adam vim, vim zostanie uruchomione przez użytkownika adam.

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:

 Defaults:kazik timestamp_timeout=0

Wstawienie zamiast 0 liczby -1 spowodowałoby zapamiętanie hasła do czasu restartu systemu.

5.b. Żądanie hasła innego użytkownika.

Należy dopisać do wiadomego pliku:

Kod:

 Defaults:adam runaspw, passwd_tries=2

Teraz sudo zażąda hasła użytkownika adam.

5.c. Aby sudo nie domagało się hasła.

Należy wpisać:

Kod:

 kazik localhost =  NOPASSWD: /usr/bin/vim

6. Inne opcje.

6.a. Sprawdzanie uprawnień.

Kod:

sudo -l

6.b. Aby wydłużyć czas ważności hasła o kolejne 5 minut.

Kod:

sudo -v

6.c Aby hasło zostało zapomniane od razu.

Kod:

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.


źródło: http://forum.slackware.pl/viewtopic.php?t=11870


http://images4.fotosik.pl/295/baea2c131b6b27f5.png

Offline

 

Stopka forum

RSS
Powered by PunBB 1.2.23
© Copyright 2002–2008 PunBB
Polityka cookies - Wersja Lo-Fi


Darmowe Forum | Ciekawe Fora | Darmowe Fora
www.cabalmasters.pun.pl www.esg.pun.pl www.smoczaoaza.pun.pl www.futbolcup.pun.pl www.galactikgamefootball.pun.pl