... ale nadal są wymagane w przypadku aplikacji wymagających uprawnień administratora?
W celu umożliwienia:
$ apache2ctl restart
httpd not running, trying to start
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
$ sudo !!
sudo apache2ctl restart #no password asked
$ #works!
Dla porównania widziałem tę konfigurację w instancjach e3 amazona
Dowolny pomysł?
sudo
authentication
tutuca
źródło
źródło
Odpowiedzi:
Musisz edytować plik sudoers. Pamiętaj, że sukces daje mniej bezpieczny system, a awaria może uszkodzić sudo. ZAWSZE edytuj plik sudoers za pomocą
sudo visudo
, ponieważ visudo sprawdza błędy i nie zapisuje pliku, jeśli taki zostanie znaleziony.Nie jest dobrym pomysłem, aby dać wszystkim zezwolenie na działanie jako root bez hasła, więc po prostu przepuść jeden plik wykonywalny, którego potrzebujesz (apache2ctl); dodaj na samym dole pliku:
Jeśli chcesz, możesz zamienić ścieżkę do pliku wykonywalnego na „WSZYSTKO”, co daje kompletne sudo bez hasła.
Zamień NAZWISKO swoją nazwą użytkownika i naciśnij Ctrl+, Xaby zapisać i wyjść. Jeśli wystąpi błąd, zaoferuje przywrócenie, edycję lub zapisanie.
Upewnij się, że używasz pełnej ścieżki do pliku wykonywalnego:
tj.
/usr/bin/apache2ctl
zamiast po prostuapache2ctl
. Jest to ważne, ponieważ bez wyraźnego podania ścieżki sudo pozwoli na uruchomienie dowolnego programu o nazwie apachectl na bieżącej ścieżce użytkownika jako root.źródło
%YOURNAME
da to uprawnienia grupie o nazwie podobnej do twojego użytkownika, co zwykle nie stanowi problemu, ponieważ każdy normalny użytkownik ma grupę o podobnej nazwie w systemach Ubuntu. Aby udzielić zgody użytkownikowi, określYOURNAME
bez%.apache2ctl
), tak:YOURNAME YOUR-HOSTNAME = NOPASSWD: /usr/bin/apache2ctl <specific arg | "">
. --- We wszystkich przypadkachman 5 sudoers
jest odniesienie do.Prawdziwa odpowiedź na to pytanie może być skomplikowana, ponieważ sudo jest bardzo potężne i można je skonfigurować do robienia fajnych rzeczy. Jest to dokładnie wyjaśnione w dokumentacji .
Krótka odpowiedź jest uruchamiana
sudo visudo
w terminalu. Jeśli uruchamiasz visudo po raz pierwszy, zapyta cię, który edytor preferujesz. Ogólnie uważa się, że nano jest najłatwiejszy w użyciu, ale wybierz edytor, który najbardziej Ci odpowiada / znasz. Musisz zdecydować, komu chcesz dać dostęp; może byćALL
dla każdego ( bardzo zły pomysł) , użytkownika lub grupy systemowej. Grupy są poprzedzone znakiem%. Na przykład, jeśli chcesz nadać wszystkimsteroid_users
członkom grupy uprawnienia root bez potrzeby podawania hasła do wszystkich dodawanych poleceń:na końcu pliku, zamknij i zapisz plik. Jeśli wszystko pójdzie dobrze, a jesteś członkiem grupy steroid_users, będziesz mógł wystawiać
sudo *some-command*
bez kłopotu z wprowadzaniem hasła.Pamiętaj, że każdy, kto ma dostęp do twojego terminala, gdy jesteś zalogowany - lub jeśli masz konfigurację ssh dla uwierzytelniania opartego na kluczach lub (co gorsza) ma włączone logowanie sesji bez hasła - pełny i nieograniczony dostęp do całego system. Jeśli masz w systemie wielu użytkowników lub jest to serwer plików, pliki wszystkich użytkowników mogą być zagrożone, ponieważ root może zrobić wszystko!
Ponadto, jeśli popełnisz błąd, visudo wyświetli komunikat o błędzie i nie zapisze zmian w pliku. Pomoże to całkowicie złamać sudo. Naprawdę powinieneś przeczytać dokumentację . Sudo zostało zaprojektowane tak, aby zapewnić użytkownikom wystarczający dostęp do wykonywania swojej pracy bez konieczności narażania całego systemu. Korzystne może być zapewnienie dostępu do hasła tylko dla niektórych poleceń.
Mam nadzieję, że to pomoże.
źródło
Musisz edytować plik „/ etc / sudoers” (do tego celu służy polecenie „visudo”), aby dodać NOPASSWD przed listą dozwolonych poleceń dla użytkownika lub grupy. Jeśli Twój użytkownik należy do grupy „admin” - potrzebujesz:
Sprawdź https://help.ubuntu.com/community/Sudoers , btw.
źródło
MOŻESZ dodać flagę nopasswd do listy użytkowników, ale to nie eliminuje wszystkich zadawanych haseł. Zapytany zostanie tylko pierwszy.
sudo visudo
(Musisz użyć sudo. To jest plik administratora.)cyrex ALL = NOPASSWD: ALL
lubcyrex ALL = (ALL) NOPASSWD: ALL
źródło
lub
Myślę, że to by to zrobiło.
Uważaj jednak, usuwając hasła do sudo.
źródło
Teraz prosta odpowiedź! Nie ma możliwości, aby coś popsuć lub przerobić instalację.
Wystarczy wpisać hasło kilka razy, a już nigdy nie będziesz musiał go wpisywać! Umożliwi to dodanie lokalnego konta administratora do grupy „root”, która następnie nie będzie komentować z szablonu, który pozwoli całej grupie administratora na „root”. Możesz przeczytać moje obawy dotyczące bezpieczeństwa / rozwiązania tej procedury w dalszej części tego postu.
% nazwa użytkownika i jest globalną zmienną dla twojej nazwy użytkownika (zamień ją na żądaną nazwę użytkownika)
Krok 1: Otwórz okno terminala, a następnie wpisz „
sudo usermod -a -G root %username%
”Krok 2: Następnie skopiuj / wklej to ...
Krok 2 LUB wpisz
Przejdź do linii 19 i usuń „#” wcześniej
# auth sufficient pam_wheel.so trust
(może to być inny numer linii dla niektórych)* Pierwsze polecenie dodaje twoją% username% do grupy „root”
Druga / trzecia komenda pozwala wszystkim członkom grupy „root” być superużytkownikiem bez hasła, a jedynie zezwala użytkownikowi „root” na uprawnienia do uwierzytelniania.
Przypis końcowy:
Nie zadzieraj z
/etc/sudoers
... Istnieje wiele kontroli / sald, przez które musi przejść uwierzytelnianie „su”. Uwierzytelnianie superużytkownika wykorzystuje tę samą procedurę pam.d, co wszystkie inne uwierzytelnienia logowania. „/etc/security/access.conf” ma układ do kontroli dostępu za pośrednictwem komunikacji tcp / ip (192.168.0.1) i usług telnet (tty1 i tty2 i tty3 ... itd.) Umożliwia to bardziej precyzyjne filtrowanie według aplikacji za pomocą protokołu transportowego. Jeśli zależy Ci na bezpieczeństwie, należy je skierować na zagrożenia zdalne / kodowe, a nie na kogoś, kto faktycznie dotyka komputera po wyjściu z pokoju !!!Jedzenie na paranoję (nie wpisuj tego, po prostu go przejrzyj):
^ To blokuje dostęp do konsoli każdemu, kto nie jest członkiem systemu lub użytkownika root. Czasami programy instalują nazwy użytkowników / grupy, które są wykorzystywane!
źródło