Mam linię NOPASSWD w / etc / sudoers (edytowaną za pomocą visudo
)
gatoatigrado ALL=(ALL) NOPASSWD: /bin/set-slow-cpufreq
Jednak wynikiem jest
gatoatigrado@coral:~> sudo -n /bin/set-slow-cpufreq
sudo: sorry, a password is required to run sudo
Tego rodzaju polecenie działa na maszynie OpenSuSE, ale nie na Ubuntu 11.10. Co ja robię źle?
Uwaga : Nie mogę znaleźć żadnych odpowiednich komunikatów w dzienniku systemowym, np tail -f /var/log/syslog
. Poprzez .
edytować
Oto / etc / sudoers.
Defaults env_reset
# things I've tried copying from an opensuse machine
Defaults always_set_home
Defaults env_keep = "LANG LC_ADDRESS LC_CTYPE LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE LC_TIME LC_ALL LANGUAGE LINGUAS XDG_SESSION_COOKIE"
root ALL=(ALL:ALL) ALL
gatoatigrado ALL=NOPASSWD: /bin/set-slow-cpufreq
%admin ALL=(ALL) ALL
%sudo ALL=(ALL:ALL) ALL
sudoers
, kolejność reguł nie jest bez znaczenia.Odpowiedzi:
Powinieneś umieścić tę linię za linią z regułą dla
sudo
grupy, ponieważ, jaksudoers
mówi strona man:źródło
/etc/sudoers
i teraz działa. Pełne wyjaśnienie dla osób zainteresowanych: techglimpse.com/ubuntu-sudoers-nopasswd-option-not-workingIdealnie, jeśli dostosowujesz, które polecenia mogą być uruchamiane
sudo
, powinieneś wprowadzić te zmiany w osobnym pliku,/etc/sudoers.d/
zamiast bezpośrednio edytowaćsudoers
plik. Powinieneś również zawsze używaćvisudo
do edycji plików.Przykład:
sudo visudo -f /etc/sudoers.d/slowcpu
Wstaw swoje pozwolenie na udzielenie linii:
gatoatigrado ALL=NOPASSWD: /bin/set-slow-cpufreq
Następnie zapisz i wyjdź, a
visudo
ostrzeże Cię, jeśli wystąpią jakiekolwiek błędy składniowe.Możesz uruchomić,
sudo -l
aby zobaczyć uprawnienia przyznane przez użytkownika, jeśli którekolwiek zNOPASSWD
poleceń specyficznych dla użytkownika pojawi się PRZED jakimkolwiek%groupyouarein ALL=(ALL) ALL
poleceniem na wyjściu, zostaniesz poproszony o podanie hasła.Jeśli odkryjesz, że tworzysz wiele takich plików sudoers.d, być może będziesz chciał utworzyć je o nazwach poszczególnych użytkowników, aby były łatwiejsze do wizualizacji. Należy pamiętać, że kolejność NAZW PLIKU i ZASAD w pliku jest bardzo ważna, OSTATNIE załadowane wygrywa, niezależnie od tego, czy jest WIĘCEJ, czy MNIEJ dopuszczające niż poprzednie wpisy.
Możesz kontrolować porządkowanie nazw plików za pomocą prefiksu 00-99 lub aa / bb / cc, ale pamiętaj również, że jeśli DOWOLNE pliki nie mają prefiksu numerycznego, zostaną załadowane po plikach numerowanych, zastępując ustawienia. Wynika to z faktu, że w zależności od ustawień języka „sortowanie leksykalne” powłoka używa najpierw liczb sortowania, a następnie może przeplatać wielkie i małe litery podczas sortowania w porządku rosnącym.
Spróbuj uruchomić
printf '%s\n' {{0..99},{A-Z},{a-z}} | sort
iprintf '%s\n' {{0..99},{A-Z},{a-z}} | LANG=C sort
sprawdź, czy bieżący język drukujeAaBbCc
itp., AABC
następnieabc
określ najlepszy najlepszy „przedostatni” prefiks.źródło
id
i zobaczyć, do których grup należysz.Po prostu na to wpadłem.
Moja sytuacja polega na tym, że konfiguruję zdalny system, który będzie działał bez głowy. Włączyłem pełne szyfrowanie dysku (w przeciwnym razie osoba atakująca z dostępem fizycznym może zrobić wszystko, co chce) Chcę autoryzować tylko za pomocą klucza pub (rozłączę hasło, aby schemat „mieć coś, wiem coś” będzie hasłem chroniona para kluczy - logowanie do roota jest oczywiście całkowicie wyłączone)
Instalator Ubuntu pyta o administratora innego niż root, który zostanie dodany do grupy
sudo
. Następnie ręcznie dodałem się dosudoers
pliku, używającsudo visudo
:UWAGA, jeśli używasz nopasswd na swoim laptopie, zawsze musisz zablokować komputer, gdy odchodzisz, w przeciwnym razie zwykły napastnik może wiele kompromisów, gdy wstajesz, aby wstawić śmietankę do kawy
Nadal musiałem uwierzytelnić się hasłem.
Odpowiedź enzotibu jest kluczem do tego, co się dzieje. Grupa sudo pojawia się w sudoers po wpisie mojej nazwy użytkownika.
Zamiast przenosić mój wpis poniżej linii sudo, po prostu usunąłem wiersz, który wcześniej dodałem, a następnie dodałem
NOPASSWD
do wpisu dla%sudo
To wydaje się działać. Ponownie używaj nopasswd tylko wtedy, gdy jest to naprawdę potrzebne (w moim przypadku było to dokładnie to, czego potrzebowałem, dla większości użytkowników wymagających hasła do działania sudo)
Dodatkowe OSTRZEŻENIE: Zawsze edytuj sudoers za pomocą visudo. (sudo visudo) Ponadto, mając otwarte okno otwarte dla użytkownika root, możesz odzyskać wszelkie błędy, które możesz popełnić podczas zmiany pliku sudoers.
źródło
sudo
które używa własnych uprawnień, aby dodać innego użytkownika do grupy sudo oprócz uruchomienia żądanego polecenia.W systemie zdalnym zrezygnuj z szyfrowania, ale pozwól, aby wszystko było własnością roota jak w grupie „Administratorów” - to nie jest 0!
Możesz zmienić
#sudo -g Administrators
te, które potrzebują pełnego dostępu - nie wsudo
pliku, ale w.login
profilu. Każdy standardowy skrypt może teraz mieć dostęp do pilota jako „root” i możesz chronić pliki, które muszą być chronione.Inną przydatną „grupą” jest „Sandbox” z katalogiem logowania w pamięci podręcznej przeglądarki i może czytać to swobodnie i nic więcej. Użyj pierwszej litery dużej litery.
źródło