... aber dennoch für Anwendungen benötigt werden, die Administratorrechte benötigen?
Um Folgendes zu ermöglichen:
$ 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!
Als Referenz habe ich dieses Setup auf Amazon e3-Instanzen gesehen
Irgendeine Idee?
sudo
authentication
tutuca
quelle
quelle
Antworten:
Sie müssen die sudoers-Datei bearbeiten. Seien Sie darauf hingewiesen, dass der Erfolg Ihnen ein weniger sicheres System gibt und ein Fehlschlagen sudo zum Erliegen bringen kann. Bearbeiten Sie die sudoers-Datei IMMER mit
sudo visudo
, da visudo nach Fehlern sucht und die Datei nicht speichert, falls welche gefunden werden.Es ist eine schlechte Idee, allen Benutzern die Erlaubnis zu geben, als root ohne Passwort zu laufen. Fügen Sie Folgendes ganz unten in die Datei ein:
Wenn Sie möchten, können Sie den Pfad zu einer ausführbaren Datei durch "ALL" ersetzen, um ein vollständiges Sudo ohne Kennwort zu erhalten.
Ersetzen Sie YOURNAME durch Ihren Benutzernamen und drücken Sie Ctrl+ X, um zu speichern und zu beenden . Wenn ein Fehler aufgetreten ist, wird das Zurücksetzen, Bearbeiten oder Speichern trotzdem angeboten.
Stellen Sie sicher, dass Sie den vollständigen Pfad zu einer ausführbaren Datei verwenden:
dh.
/usr/bin/apache2ctl
statt nurapache2ctl
. Dies ist wichtig, da jedes Programm mit dem Namen apachectl auf dem aktuellen Pfad des Benutzers als root ausgeführt werden kann, ohne den Pfad sudo explizit anzugeben.quelle
%YOURNAME
dass die Berechtigung für die Gruppe erteilt wird, die wie Ihr Benutzer benannt ist. Dies ist normalerweise kein Problem, da jeder normale Benutzer auf Ubuntu-Systemen über eine gleichnamige Gruppe verfügt. Geben SieYOURNAME
ohne% an , um Ihrem Benutzer die Berechtigung zu erteilen .apache2ctl
), etwa so:YOURNAME YOUR-HOSTNAME = NOPASSWD: /usr/bin/apache2ctl <specific arg | "">
. --- In allen Fällenman 5 sudoers
ist der Verweis zu gehen.Die eigentliche Antwort auf diese Frage kann kompliziert sein, da sudo sehr mächtig ist und so konfiguriert werden kann, dass es coole Dinge macht. Dies wird in der Dokumentation ausführlich erläutert .
Die kurze Antwort wird
sudo visudo
in einem Terminal ausgeführt. Wenn Sie visudo zum ersten Mal ausführen, werden Sie gefragt, welchen Editor Sie bevorzugen. Es wird allgemein angenommen, dass Nano am einfachsten zu bedienen ist. Wählen Sie jedoch den Editor aus, mit dem Sie am besten vertraut sind. Sie müssen entscheiden, auf wen Sie Zugriff gewähren möchten. Es kannALL
für jeden (eine sehr schlechte Idee) , einen Benutzer oder eine Systemgruppe sein. Gruppen wird ein% -Zeichen vorangestellt. Wenn Sie beispielsweise jedemsteroid_users
Benutzer in der Gruppe root-Berechtigungen erteilen möchten, ohne dass für alle hinzugefügten Befehle ein Kennwort erforderlich ist:Beenden Sie die Datei und speichern Sie sie. Wenn alles gut geht und Sie Mitglied der Gruppe steroid_users sind, können Sie
sudo *some-command*
ohne Eingabe Ihres Kennworts eine Ausgabe durchführen .Denken Sie daran, dass jeder, der Zugriff auf Ihr Terminal hat, während Sie angemeldet sind - oder wenn Sie ssh für die schlüsselbasierte Authentifizierung eingerichtet haben oder (noch schlimmer) passwortfreie Sitzungsanmeldungen aktiviert haben - vollständigen und uneingeschränkten Zugriff auf Ihr gesamtes Terminal System. Wenn Sie mehrere Benutzer auf Ihrem System haben oder wenn dies ein Dateiserver ist, können alle Benutzerdateien gefährdet sein, da root alles tun kann!
Wenn Sie einen Fehler machen, gibt visudo eine Fehlermeldung aus und speichert keine Änderungen an der Datei. Dies wird dazu beitragen, Sudo nicht vollständig zu beschädigen. Sie sollten die Dokumentation wirklich lesen . Sudo ist so konzipiert, dass Benutzer nur so viel Zugriff haben, dass sie ihre Arbeit erledigen können, ohne dass das gesamte System verfügbar gemacht werden muss. Es kann vorteilhaft sein, nur für bestimmte Befehle einen kennwortfreien Zugriff zu gewähren.
Ich hoffe das hilft.
quelle
Sie müssen die Datei '/ etc / sudoers' bearbeiten (dazu gibt es den Befehl 'visudo'.), Um NOPASSWD hinzuzufügen, bevor Sie die Liste der zulässigen Befehle für Ihren Benutzer oder Ihre Gruppe anzeigen. Wenn sich Ihr Benutzer in der Gruppe "admin" befindet, müssen Sie Folgendes tun:
Überprüfen Sie https://help.ubuntu.com/community/Sudoers , btw.
quelle
Sie KÖNNTEN das Flag nopasswd zur Benutzerliste hinzufügen, aber dies entfernt nicht alle Fragen zu Kennwörtern. Nur der erste wird gefragt.
sudo visudo
(Sie MÜSSEN Sudo verwenden. Dies ist eine Admin-Datei.)cyrex ALL = NOPASSWD: ALL
odercyrex ALL = (ALL) NOPASSWD: ALL
quelle
oder
Ich denke, das würde es tun.
Aber seien Sie vorsichtig beim Entfernen von Passwörtern für sudo.
quelle
Nun zur einfachen Antwort! Keine Möglichkeit, irgendetwas durcheinander zu bringen oder Ihre Installation durcheinander zu bringen.
Geben Sie einfach ein paar Mal Ihr Passwort ein und Sie müssen es nie wieder eingeben! Auf diese Weise können Sie der Gruppe "root" ein lokales Administratorkonto hinzufügen, das in einer Vorlage, die die Superuser-Berechtigungen der gesamten Gruppe "root" zulässt, nicht kommentiert wird. Sie können meine Sicherheitsbedenken / -lösung für dieses Verfahren im späteren Teil dieses Beitrags lesen.
% username & ist die globale Variable für Ihren Benutzernamen (ersetzen Sie sie durch den gewünschten Benutzernamen)
Schritt 1: Öffnen Sie ein Terminalfenster und geben Sie "
sudo usermod -a -G root %username%
" einSchritt 2: Dann kopieren / einfügen ...
Schritt 2 ODER Typ
Gehe zu Zeile 19 und entferne das "#" davor
# auth sufficient pam_wheel.so trust
(kann bei manchen eine andere Zeilennummer sein)* Mit dem ersten Befehl wird% username% zur Gruppe "root" hinzugefügt.
Der zweite / dritte Befehl ermöglicht es allen Mitgliedern der Gruppe "root", Superuser ohne Passwort zu sein, statt nur dem Benutzer "root" su-Berechtigungen für Authentifizierungen zu gewähren.
Endnote:
Spielen Sie nicht herum
/etc/sudoers
... Es gibt eine Menge Checks / Balances, die die 'su'-Authentifizierung durchlaufen muss. Die Superuser-Authentifizierung verwendet das gleiche Verfahren wie alle anderen Anmeldungsauthentifizierungen. "/etc/security/access.conf" enthält das Layout für die Zugriffskontrolle über TCP / IP (192.168.0.1) und über Telnet-Dienste (tty1 & tty2 & tty3 ... etc). Dies ermöglicht eine genauere Filterung pro Anwendung über das Transportprotokoll. Wenn Sicherheit Ihr Anliegen ist, sollte Ihr Anliegen auf Bedrohungen durch Fernzugriff / Code gerichtet sein, im Gegensatz dazu, dass jemand Ihren Computer berührt, wenn Sie den Raum verlassen !!!Essen für Paranoia (schreibe dieses nicht einfach in die Rezension):
^ Dies blockiert den Zugriff auf die Konsole für alle Benutzer, die nicht Mitglied des Systems oder von root sind. Manchmal installieren Programme Benutzernamen / Gruppen, die ausgenutzt werden!
quelle