Widziałem wiele postów na blogu, które mówią, że wystarczy
aptitude install sudo
su root
adduser USERNAME sudo
Ale to tylko chroni aptitude
, innymi słowy:
aptitude install sendmail
poprosi o hasło, musisz byćsudo
uruchomionyaptitude
apt-get install sendmail
nie poprosi o hasło, niesudo
potrzebujesz żadnych uprawnieńJeśli edytujesz pliki chronione, tak jak pliki w
etc
nim nie pytają o hasło, niesudo
potrzebujesz żadnych uprawnieńMożesz uruchamiać i zatrzymywać usługi, takie jak:
apache
nie prosi o hasło, niesudo
potrzebujesz żadnych uprawnień
Jak to naprawić? To jest mój plik sudoers:
This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:$
# Host alias specification
# User alias specification
# Cmnd alias specification
To jest wynik sudo -l
:
Matching Defaults entries for root on this host:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin
User root may run the following commands on this host:
(ALL : ALL) ALL
(ALL : ALL) ALL
sudo
root
not-root-user
debian
Lynob
źródło
źródło
su root
jesteś zalogowany jakoroot
użytkownik, więc masz pełny dostęp do wszystkiego. Aby powrócić do regularnego używania, który musi używaćsudo
do operacji uprzywilejowanych, wyloguj się z powłoki działającej jakoroot
.Odpowiedzi:
Nie dodałeś żadnej reguły sudo, więc nie możesz używać sudo do niczego.
Polecenie
adduser USERNAME sudo
dodaje określonego użytkownika do grupy o nazwiesudo
. Grupa o tej nazwie musi istnieć; utwórz go,addgroup sudo
jeśli nie. Po dodaniu użytkownika do grupy użytkownik musi się wylogować i zalogować ponownie, aby członkostwo w grupie zaczęło obowiązywać.sudo
nie jest specjalną nazwą grupy. Jest to konwencja umożliwiająca użytkownikom w grupie wywoływanejsudo
uruchamianie poleceń jako root za pomocąsudo
narzędzia. Wymaga to następującego wiersza wsudoers
pliku:Uruchom,
visudo
aby edytować plik sudoers, nigdy nie edytuj go bezpośrednio.Nie mam pojęcia, dlaczego uważasz, że „to tylko chroni umiejętności”. W uzdolnieniu nie ma nic szczególnego. Po upoważniony użytkownika do wykonywania poleceń jako root, użytkownik może uruchomić
sudo aptitude …
lubsudo apt-get …
lubsudo service …
lubsudoedit
edytować pliki, które wymagają uprawnień administratora do edycji. Przebywanie w pliku sudoers nie zmienia bezpośrednio uprawnień użytkownika, ale umożliwiasudo
uruchamianie poleceń jako root. Polecenia działają jako root tylko po ich uruchomieniusudo
. Niektóre programy mogą to robić automatycznie, szczególnie programy GUI, w których interfejs użytkownika działa bez specjalnych uprawnień i tylko backend działa jako root, ale polecenia wykonywane jako root są zawsze wykonywane przezsudo
.źródło
sudo -l
jako root. Nawet jeśli istnieją przydatne definicje dla użytkowników, nie zostałyby pokazane. Dlatego twoje przypuszczenie „Nie dodałeś żadnej reguły sudo” może być błędne.sudoers
plik jest pytaniem.sudo -l
wynikach, ale na szczęście ... Wygląda na to, że treść pytania nie może być całym plikiem, ponieważ nie jest spójna z wynikami. Przynajmniej mojasudo
wersja nie twierdzi, że „root użytkownika może uruchamiać następujące polecenia”sudoers
bez definicji polecenia (takiej jak ta w pytaniu).sudo -l
powiedziałem „root użytkownika nie może uruchamiać sudo na Darkstar”. Asudo
grupa jest w pliku sudoers domyślnie wheezy. Wymagane wpisy mogły zostać przeniesione do pliku w obszarze/etc/sudoers.d
. W każdym razie, cokolwiek zawiera plik sudoers, nie zrobiłoby tego, co Fischer zakłada.Co może się wydarzyć to: sudo jest buforowanie hasła. Tak więc, po poprawnym zakończeniu wdrażania sudo w systemie, musisz wprowadzić hasło dla pierwszego polecenia, a następnie jest ono buforowane przez pewien czas. Jeśli tak się stanie i uruchom sekwencję
Następnie musisz podać hasło do pierwszego polecenia, ale nie do drugiego (przynajmniej dopóki nie przekroczysz limitu czasu). Może się wydawać , że chroni tylko pierwsze polecenie, ale nie drugie. Bez dalszych informacji (pełne transkrypcje powłoki) nie ma sposobu, aby powiedzieć ...
źródło
Jeśli zastosujesz się do powyższej odpowiedzi, pójdziesz właściwą drogą. Przynajmniej w moim Debianie Jessie zrobiłem miękki link do / usr / bin polecenia w ścieżce / sbin. Na przykład: / sbin / ifup, umieszczam miękki link (ln -s) do / usr / bin tego i mogę go użyć.
Kolejną ważną rzeczą jest ustawienie NOPASSWD w ten sposób:
źródło