Jak dodać użytkownika do pliku sudoers w systemie Linux?
Opublikowany: 2022-11-02 Ludzie, którzy mogą używać polecenia sudo
w Linuksie, są członkami małego i wyselekcjonowanego klubu, czasami nazywanego listą „sudoers”. Każdy członek ma takie same uprawnienia jak root
. Jak więc dołączyć do tego klubu? Przeprowadzimy proces dodawania osoby do sudoers, a także edytowania pliku sudoers w celu ograniczenia uprawnień.
sudo: Twoje supermocne alter-ego
Plik sudoers i visudo
Dodaj nowego użytkownika sudo w Ubuntu i innych dystrybucjach Linuksa
Ogranicz uprawnienia sudo, edytując plik sudoers
Ktokolwiek dzierży to przykazanie
sudo: Twoje supermocne alter-ego
W instalacjach systemu Linux użytkownik root jest najbardziej uprzywilejowanym użytkownikiem. Mogą wykonywać dowolne zadania administracyjne, uzyskiwać dostęp do dowolnego pliku niezależnie od tego, kto jest jego właścicielem, a także tworzyć, manipulować, a nawet usuwać innych użytkowników.
Ten poziom mocy jest niebezpieczny. Jeśli root
popełni błąd, skutki mogą być katastrofalne. Mają możliwość montowania i odmontowywania systemów plików oraz ich całkowitego nadpisywania. O wiele bezpieczniejszym sposobem pracy jest nigdy nie logowanie się jako root
.
Nominowani użytkownicy mogą użyć sudo
, aby tymczasowo uzyskać uprawnienia administracyjne, wykonać wymagane działanie, a następnie powrócić do normalnego, nieuprzywilejowanego stanu. Jest to bezpieczniejsze, ponieważ świadomie przywołujesz swoje wyższe moce, kiedy ich potrzebujesz i kiedy koncentrujesz się na robieniu tego, co ich wymaga.
Polecenie sudo
jest linuksowym odpowiednikiem krzyku „Shazam”. Kiedy straszne rzeczy się skończą, porzucasz swoje supermocne alter ego i wracasz do normalnego, monotonnego ja.
Logowanie jako root
jest domyślnie wyłączone w większości nowoczesnych dystrybucji, ale można je przywrócić. Używanie konta root do codziennej pracy jest niewskazane. Błędy, które zwykle wpłynęłyby na pojedynczego użytkownika lub które zostałyby całkowicie zablokowane z powodu niewystarczających uprawnień, mogą działać bez przeszkód, jeśli root
je wyda.
Nowoczesne dystrybucje systemu Linux przyznają uprawnienia sudo
kontu użytkownika utworzonemu podczas kroków konfiguracji instalacji lub po instalacji. Jeśli ktoś inny spróbuje użyć sudo
, zobaczy komunikat ostrzegawczy podobny do tego:
mary nie ma w aktach sudoers. Ten incydent zostanie zgłoszony.
Wydaje się to dość oczywiste. Nasza użytkownikka mary
nie może używać sudo
, ponieważ nie znajduje się „w pliku sudoers”. Zobaczmy więc, jak możemy ją dodać.
POWIĄZANE: Jak kontrolować dostęp sudo w systemie Linux
Plik sudoers i visudo
Zanim ktoś będzie mógł użyć polecenia sudo
, musimy popracować z plikiem sudoers
. Wyświetla listę grup użytkowników, którzy mogą używać sudo
. Jeśli musimy wprowadzić poprawki do pliku, musimy go edytować.
Plik sudoers
należy otworzyć za pomocą polecenia visudo
. To blokuje plik sudoers
i uniemożliwia dwóm osobom wprowadzanie zmian w tym samym czasie. Wykonuje również pewne testy poprawności przed zapisaniem zmian, upewniając się, że są one prawidłowo analizowane i brzmią składniowo.
Zauważ, że visudo
nie jest edytorem, uruchamia jeden z dostępnych edytorów. W Ubuntu 22.04, Fedorze 37 i Manjaro 21, visudo
uruchomiło nano. Może tak nie być na twoim komputerze.
Jeśli chcemy dać komuś dostęp do pełnych uprawnień sudo
, wystarczy odwołać się do niektórych informacji z pliku sudoers
. Jeśli chcemy być bardziej szczegółowi i dać naszemu użytkownikowi niektóre możliwości root
, musimy edytować plik i zapisać zmiany.
Tak czy inaczej, musimy użyć visudo
.
POWIĄZANE: Jak wyjść z edytora Vi lub Vim
Dodaj nowego użytkownika sudo w Ubuntu i innych dystrybucjach Linuksa
Mamy dwóch użytkowników, którzy potrzebują dostępu do uprawnień roota w celu wykonywania swoich ról zawodowych. To Tom i Mary. Mary musi mieć dostęp do wszystkiego, co może zrobić root
. Tom musi tylko zainstalować aplikacje.
Dodajmy najpierw Maryję do grupy sudoers. Musimy zacząć visudo
.
sudo visudo
Przewiń w dół w edytorze, aż zobaczysz sekcję „Specyfikacja uprawnień użytkownika”. Poszukaj komentarza, który mówi coś podobnego do „Zezwalaj członkom tej grupy na wykonywanie dowolnego polecenia”.
Powiedziano nam, że członkowie grupy sudo
mogą wykonać dowolne polecenie. Wszystko, co musimy wiedzieć w przypadku Mary, to nazwa tej grupy. Nie zawsze jest to sudo
; może to być wheel
lub coś innego. Teraz, gdy znamy nazwę grupy, możemy zamknąć edytor i dodać Mary do tej grupy.
Używamy polecenia usermod
z opcjami -a
(append) i -G
(nazwa grupy). Opcja -G
pozwala nam nazwać grupę, do której chcemy dodać użytkownika, a opcja -a
mówi usermod
, aby dodał nową grupę do listy istniejących grup, w których ten użytkownik już się znajduje.
Jeśli nie użyjesz opcji -a
, jedyną grupą, w której będzie twój użytkownik, będzie nowo dodana grupa. Sprawdź dokładnie i upewnij się, że włączyłeś opcję -a
.
sudo usermod -aG sudo mary
Następnym razem, gdy Mary się zaloguje, będzie miała dostęp do sudo
. Zalogowaliśmy ją i próbujemy edytować plik tabeli systemu plików „/etc/fstab”. Jest to plik, który jest niedostępny dla wszystkich poza root
.
sudo nano /etc/fstab
Edytor nano otwiera się z załadowanym plikiem „/etc/fstab”.
Bez uprawnień sudo
będziesz mógł otworzyć to tylko jako plik tylko do odczytu. Mary nie ma już tych ograniczeń. Może zapisać wszelkie wprowadzone przez siebie zmiany.
Zamknij edytor i nie zapisuj wprowadzonych zmian.
Ogranicz uprawnienia sudo, edytując plik sudoers
Nasz drugi użytkownik, Tom, otrzyma pozwolenie na instalację oprogramowania, ale nie otrzyma wszystkich przywilejów przyznanych Mary.
Musimy edytować plik sudoers
.
sudo visudo
Przewiń w dół w edytorze, aż zobaczysz sekcję „Specyfikacja uprawnień użytkownika”. Poszukaj komentarza, który mówi coś podobnego do „Zezwól członkom tej grupy na wykonanie dowolnego polecenia”. To ten sam punkt w pliku, w którym znaleźliśmy nazwę grupy, do której musieliśmy dodać Mary.
Dodaj te wiersze poniżej tej sekcji.
# użytkownik tom może zainstalować oprogramowanie tom ALL=(root) /usr/bin/apt
Pierwsza linia to prosty komentarz. Zwróć uwagę, że między nazwą użytkownika „tom” a słowem „Wszystko” znajduje się tabulator.
To właśnie oznaczają pozycje na linii.
- tom : nazwa domyślnej grupy użytkownika . Zwykle jest to to samo, co nazwa ich konta użytkownika.
- ALL= : Ta reguła dotyczy wszystkich hostów w tej sieci.
- (root) : Członkowie grupy „tom” — czyli użytkownik Tom — mogą przyjąć
root
dla wymienionych poleceń. - /usr/bin/apt : To jedyne polecenie, które użytkownik Tom może uruchomić jako
root
.
Określiliśmy tutaj menedżera pakietów apt
, ponieważ ten komputer używa Ubuntu Linux. Będziesz musiał zastąpić to odpowiednim poleceniem, jeśli używasz innej dystrybucji.
Zalogujmy Toma i zobaczmy, czy uzyskamy oczekiwane zachowanie. Spróbujemy edytować plik „/etc/fstab”.
sudo nano /etc/fstab
To polecenie zostało odrzucone i powiedziano nam, że „użytkownik tom nie może wykonać „/usr/bin/nano /etc/fstab” jako root…”
Tego chcieliśmy. Użytkownik Tom powinien tylko móc korzystać z menedżera pakietów apt
. Upewnijmy się, że mogą to zrobić.
sudo apt zainstaluj neofetch
Polecenie zostało pomyślnie wykonane dla Toma.
Ktokolwiek dzierży to przykazanie
Jeśli wszyscy Twoi użytkownicy będą mogli korzystać z sudo
, zapanuje chaos. Warto jednak promować innych użytkowników, aby mogli dzielić się Twoimi obciążeniami administracyjnymi. Tylko upewnij się, że są godne i miej na nie oko.
Nawet jeśli jesteś jedynym użytkownikiem na swoim komputerze, warto rozważyć utworzenie kolejnego konta użytkownika i nadanie mu pełnego dostępu do sudo
. W ten sposób, jeśli kiedykolwiek stracisz dostęp do swojego głównego konta, będziesz mieć inne konto, na które możesz się zalogować, aby spróbować zaradzić tej sytuacji.
POWIĄZANE: Jak sprawdzić użycie poleceń sudo w systemie Linux