Aby wyjaśnić nieco: Nie ma „poleceń sudo”, istnieją tylko polecenia, które wymagają uprawnień roota do prawidłowego działania i sudo
jest to polecenie, aby uzyskać je dla jednego polecenia: sudo
wystarczy uruchomić dane polecenie jako root (przeczytaj „sudo” jako imperatyw zdanie „superuser, zrób coś!”). Reguły, w których użytkownicy mogą to robić, są zapisane /etc/sudoers
. W domyślnej instalacji Raspbian domyślny użytkownik „pi” ma uprawnienia z tej linii:
pi ALL=(ALL) NOPASSWD: ALL
Oznacza to: „Użytkownik 'pi' na WSZYSTKICH hostach może przełączyć się na WSZYSTKICH użytkowników i NIE musi wpisywać swojego PASSWD podczas używania WSZYSTKICH poleceń (czytaj: dowolne)”. (Użyłem tutaj szalonej gramatyki, aby zachować kolejność linii .. uwaga na temat sposobu rozróżnienia hostów: w ten sposób ten sam plik sudoers może być dystrybuowany na wiele komputerów w sieci, więc administrator sieci ma mniej pracy) .
Być może możliwość uruchamiania poleceń przy użyciu sudo bez wydawania hasła administratora jest powodem, dla którego uważasz, że używanie sudo przez SSH jest niebezpieczne (nie słyszałem o ogólnym problemie z robieniem tego ... więc czy mógłbyś wyjaśnić, jakie niebezpieczeństwo masz dokładnie na myśli?).
Pewnie, że możesz mieć wielu użytkowników z różnymi uprawnieniami. Ale obawiam się, że używanie sudo wciąż jest najlepszym sposobem na zarządzanie tymi uprawnieniami.
Mam więc nadzieję, że ten mały przepis jest tym, czego potrzebujesz:
$ sudo adduser admin
Spowoduje to utworzenie użytkownika „admin”, podanie hasła, utworzenie katalogu domowego itp.
$ sudo adduser admin sudo
$ sudo adduser admin adm
Spowoduje to umieszczenie użytkownika „admin” w grupach użytkowników „sudo” i „adm”. A ponieważ w Linuksie zarządza się uprawnieniami poprzez dodawanie użytkowników do grup użytkowników, daje to użytkownikowi „administratorowi” wszystkie potrzebne mu uprawnienia i uprawnienia. Jest w nim wiersz, /etc/sudoers
który pozwala każdemu użytkownikowi należącemu do grupy użytkowników „sudo” wykonać dowolne polecenie jako root; a tego uprawnienia potrzebujemy administratorowi (dodanie go do „adm” pozwala mu odczytać niektóre pliki dziennika /var/log
bez użycia sudo
i kilka innych rzeczy). Nadal musisz go używać, sudo
gdy jesteś zalogowany jako administrator - ale teraz sudo wciąż pyta o hasło administratora, ilekroć nie korzystałeś z sudo przez około pięć minut.
Teraz wyloguj się i zaloguj jako użytkownik „admin”. Sprawdź pogodę
$ sudo apt-get update
$ sudo apt-get upgrade
Pracuje. Jeśli tak, możesz cofnąć niektóre uprawnienia użytkownika „pi”, ponieważ masz pewność, że administrator ma odpowiednie uprawnienia:
$ sudo deluser pi sudo
$ sudo deluser pi adm
Wyrzuca to użytkownika „pi” z grupy użytkowników „sudo”.
$ sudo visudo
Spowoduje to uruchomienie edytora, który umożliwia edycję /etc/sudoers
. Umieść hash tag ( #
) przed wierszem rozpoczynającym się od „pi”, komentując go (lub po prostu usuń). Następnie zapisz i zamknij edytor, visudo natychmiast ponownie załaduje reguły uprawnień. Teraz użytkownik „pi” nie może już używać sudo.
Następnie możesz ponownie zalogować się jako użytkownik „pi”. Jeśli kiedykolwiek chcesz przełączyć się na administratora dla niektórych poleceń, użyj su
(„zmień użytkownika”):
$ su - admin
Jeśli chcesz dodać więcej użytkowników: użyj sudo adduser <name>
jak wyżej, a następnie sprawdź listę grup użytkowników, które posiada użytkownik „pi”:
$ groups pi
pi : pi dialout cdrom audio video plugdev games users netdev input
Użyj, sudo adduser <username> <groupname>
aby dodać nowego użytkownika do kilku z tych grup użytkowników, umożliwiając mu korzystanie z dźwięku, przyspieszonego wideo, urządzeń podłączanych itp. Jeśli nie masz pewności, dodaj go do wszystkich tych grup użytkowników (ale nie do „sudo”!).