Kategorie szkoleń | Egzaminy | Kontakt
  • 1
  • 9
  • 257

W sieci jest kilku użytkowników "root", chciałbym dla każdego z nich dać inne uprawnienia zgodnie z pełnioną funkcją i z różnym doświadczeniem.

Jak można przypisać uprawnienia, żeby każdy z "rootów" mógł tylko wykonywać wybrane operacje / polecenia w systemie operacyjnym uniemożliwiając wykonywanie innych operacji? Zależy mi na rozwiązaniu elastycznym i łatwym w zarządzaniu.

Grzegorz_Chojnowski_
  • Zapytał
  • @ Grzegorz_Chojnowski_ | 02.10.2014
    • lider
    • laureat
    • 40
    • 10
    • 57

Odpowiedź (1)

  • 0

Pytanie jest źle zadane.

W Uniksie standardowo root(o uid==0) może wszystko. Jak czegoś nie może, to nie jest rootem. Nie można więc być rootem nie mając uprawnień roota. Można być innym użytkownikiem, który ma przez jakieś narzędzia(suidowane programy,sudo) dostęp do wybranych poleceń, których normalnie używa root.

Ale oczywiście od reguły muszą być wyjątki. I tak - w Linuksie od jądra 2.2 root został podzielony na odpowiednie uprawnienia (capabilities). Domyślnie użytkownik o uid==0 ma dostęp do wszystkich capabilities. Jednak można je mu zabrać - czy to modułem jądra, czy to jakimś narzędziem, które zredukuje sobie uprawnienia i da "rootowi" odowiedniego roota. I wtedy nie będzie mógł operować na pewnych funkcjonalnościach systemu. Artykuł na ten temat to np. http://www.linuxjournal.com/article/5737. Inna metoda to ograniczenie oprawnien roota np. SELinuksem albo AppArmorem.

Tym niemniej są to wyjątki od reguły. :-) Jako regułę najbezpieczniej przyjąć, że root może wszystko i jak ktoś nie ma prawa zrobić wszystkiego, to nie powinien być rootem.

Andrzej_Dopierała
  • Odpowiedział
  • @ Andrzej_Dopierała | 07.10.2014
    • lider
    • laureat
    • ekspert
    • 83
    • 65
    • 169
Komentarze
Faktycznie niezbyt precyzyjnie się wyraziłem, miałem na myśli że jest 3 administratorów, każdy z nich ma pełny dostęp do wszystkiego, ale z racji odpowiedzialności jeden z nich na przykład nie może konfigurować sieci, drugi nie może konfigurować LVMów i RAIDów etc.
Skomentował : @ Grzegorz_Chojnowski_ ,07.10.2014
  • 40
  • 10
  • 57
Zdania "każdy ma pełen dostęp do wszystkiego" oraz "jeden nie może..." są sprzeczne ze sobą :-)
Ale oczywiście - się da. Wystarczy selinuksem/apparmorem/capami ograniczyć uprawnienia odpowiednich rootów. Ewentualnie potraktować roota jako użytkownika i przez sudo dać dostęp do odpowiednich poleceń.

Nie ma przeciwskazań by było kilka kont roota - konto roota ma uid==0 - może być kilka takich kont - z których każdy z rootów ma swój login/hasło/autoryzację kluczem ssh/kerberosem/ldapem/....

Tylko że to są rzeźby w których łatwo jest o pomyłkę/przekroczenie uprawnień. Bo co z tego że "admin" który w założeniu miał mieć tylko dostęp do dysków nie może konfigurować sieci jak może zmienić hasło adminowi który ma dostęp do sieci i już z jego konta popsuć sieć? ;)
Skomentował : @ Andrzej_Dopierała ,08.10.2014
  • 83
  • 65
  • 169
Twój komentarz jest bardzo cenny, dzięki za podpowiedź ;)
Skomentował : @ Grzegorz_Chojnowski_ ,08.10.2014
  • 40
  • 10
  • 57