Immer Sudo-Privilegien


15

Ich habe danach gesucht und die Antwort ist wahrscheinlich an einer Million Stellen im Netz, aber ich kann sie nicht finden ...

Wie können Sie Ihrem Konto unter Linux Root-Rechte zuweisen, damit Sie nicht sudojeden einzelnen Befehl benötigen, für den Berechtigungen erforderlich sind? Es ist noch ärgerlicher als die Benutzerkontensteuerung von Windows.

( Bitte ... Ich brauche keinen Vortrag darüber, wie ich ein gefährliches Leben führen würde. Danke.)

Antworten:


11

Geht das für dich?

sudo EDITOR=gedit visudo

Ändern Sie diese Zeile:

%admin ALL=(ALL) ALL

zu dieser Zeile:

%admin ALL=(ALL) NOPASSWD: ALL

Keine Vorträge. :)


3
+1, aber das Problem ist, dass ich immer noch tippen muss sudo.
user541686

@Lambert Ok, nun, ich möchte dies nicht tun, um es zu testen, aber ich denke, Sie können root einfach ein Passwort geben, 'sudo passwd root'. Melden Sie sich als Benutzer ab. Melden Sie sich als root an. Lässt sich GDM jetzt als Root anmelden?

2
Nun, das habe ich bereits getan, um das root-Passwort festzulegen rootund mich als einzuloggen , und das brauche ich natürlich nicht sudomehr. Das Problem besteht darin, herauszufinden, wie Sie dasselbe für ein anderes Konto ausführen können.
user541686

6

Das tust du nicht. Zwei Dinge, die Sie tun können, sind:

1) Führen Sie sudo -s aus, um root zu bleiben, wenn Sie mehrere Befehle eingeben und ihnen nicht weiterhin sudo voranstellen möchten.

2) Sie können Ihre sudoers-Datei so konfigurieren, dass Sie sudo ausführen können, ohne Ihr Passwort eingeben zu müssen.


2
Nun, was ich nicht verstehe ist, wenn ich mich so einfach als "root" einloggen kann und niemals über das Wort "sudo" nachdenken muss, warum kann ich dann nicht dasselbe in einem anderen Konto tun?
user541686

@ Lambert: Weil das bei diesen anderen Accounts nicht der Fall ist UID 0.
Jan.,

1
Huh ... also reicht es nicht, mich selbst der Gruppe hinzuzufügen sudooder so etwas? :(
user541686

2

Ich verstehe nicht, wie schwierig es ist, sudo -ieinmal in einem Terminal zu laufen und dann nur dieses eine Terminal zu verwenden (oder Sie könnten mehr als ein Terminal öffnen, aber dann müssten Sie Ihr Passwort erneut eingeben ), um alle Ihre Sudo-Aufgaben zu erledigen.

(Und nein, ich kann das große Problem bei der Eingabe Ihres Passworts nicht wirklich ab und zu erkennen. Es ist wirklich nicht so zeitaufwendig, und wenn Sie Ihr Terminal nicht nach jedem Befehl schließen, wird sudo eine Weile lang nicht nach Ihrem Pass fragen Sie haben sich authentifiziert).


3
Es ist nicht so zeitaufwändig, sondern nur sehr irritierend. Wenn ich sage, ich möchte das Hintergrundbild meines Anmeldebildschirms ändern, brauche ich kein "Bist du verrückt ?! Ich kann dir nicht vertrauen." Eine Meldung, in der ich gefragt werde, ob ich überhaupt über die Durchführung einer solchen Aktion mit hohen Rechten nachdenken kann, besagt, dass dieses Ereignis gemeldet wird , wenn ich mein Passwort falsch eingebe . Es ist, als ob mein eigener Computer mir nicht vertraut, und wenn Sie eine Weile arbeiten, wird es verdammt ärgerlich, dass die albernen Handlungen anderer Leute mit dem Computer Ihren eigenen Computer dazu bringen, Sie in Frage zu stellen.
user541686

Das bedeutet nicht, dass ich mich über Sie ärgern soll, aber manchmal sind "Sicherheits" -Funktionen in Software, die unerfahrene Benutzer schützen sollen, einfach verrückt nach mir. Wenn ich meinen Computer explodieren lassen möchte, ist nichts anderes als ein "Bist du sicher ?!" Nachricht mit einem "Fragen Sie dies nicht noch einmal." Box ... nicht mehr, und es hat nur den Zweck, überhaupt eine Bestätigung zu haben. Wenn ich für alles eine Bestätigung eingeben muss, kann es auch keine geben - das wird meine Entschlossenheit nicht ändern, aber ich werde die gleichen Dinge mindestens fünfmal so schnell erledigen, ohne dass ich irritiert werde.
user541686

Ubuntus Sicherheitsdesign ist für eine Heimumgebung mit mehreren Benutzern gedacht. Systemweite Änderungen sollten nur von einer vertrauenswürdigen Person vorgenommen werden, nicht nur von jemandem, der zufällig ein Benutzerkonto hat oder Ihr Konto ausleiht.
Jeremy Bicha

@JeremyBicha Sie haben nichts über das ursprüngliche Unix-Sicherheits- / Autorisierungsdesign hinzugefügt, das Imo für Mehrbenutzer-Timesharing auf Großrechnern entwickelt hat.
Masterxilo

1

Sie können den Befehl 'su' installieren / aktivieren und die Shell so konfigurieren, dass sie beim Start ausgeführt wird.


Gibt es einen "direkten" Weg? Wie zum Beispiel, sudoersindem ich mich einer bestimmten Gruppe hinzufüge?
user541686

sudo -s macht dasselbe.
Psusi

@psusi: Aber ist es nicht gerade der Sinn der Frage, das nicht jedes Mal tun zu müssen, wenn ich den Computer starte ?
user541686

Gibt es eine Möglichkeit, nicht jedes Mal nach dem Passwort zu fragen?
user541686

0

Die richtige Antwort auf meine Frage:

Sie können Ihre Benutzer-ID (UID) und Gruppen-ID (GID) auf Null setzen /etc/passwd, um Root-Berechtigungen zu erhalten.

Jedoch:

In diesem Fall können Sie sich nicht erneut anmelden !

Sie können jedoch einen neuen Benutzer erstellen und seine Gruppe / Benutzer-ID in 0 ändern. Im Wesentlichen ist dieser Benutzer ein anderer Benutzer root, jedoch mit einem anderen Profilordner usw.

Dann können Sie dieses Profil verwenden, als ob Sie rootselbst wären ! : D

Eine andere Lösung":

(wenn Sie leere Passwörter mögen)

  1. Führen Sie die folgenden Befehle aus und vergleichen Sie die Ausgaben

    sudo cat /etc/shadow
    sudo sed "s/\(^$(whoami):\)[^:]*/\1/" /etc/shadow
    

    Sie sollten sehen, dass dieser den Kauderwelsch vor Ihrem Benutzernamen (der mit gelesen wird $(whoami)) entfernt hat. (Wenn Sie dies nicht tun , fahren Sie nicht fort!)

  2. Wenn Sie bereit sind, führen Sie den Befehl zum Überschreiben aus /etc/shadow(auf eigenes Risiko!)

    sudo sed -i.bak "s/\(^$(whoami):\)[^:]*/\1/" /etc/shadow
    
  3. Ihr Konto hat jetzt ein leeres Passwort und Sie sollten nicht länger zur Eingabe von sudo-Berechtigungen aufgefordert werden. (Zumindest ist mir das passiert.)

Hinweis:

Möglicherweise müssen Sie auch die kennwortlose Anmeldung aktivieren . Ich bin mir aber nicht sicher, ob das notwendig ist.


Ich habe irgendwo gelesen, dass mit "sudo bash" die Arbeit erledigt werden kann. Hast du das versucht?
Neugieriger Lehrling

@CuriousApprentice: Der springende Punkt war zu vermeiden sudo.
user541686

0

Ich rate DRINGEND, sich nicht GID 0 zu geben. SUDO ist nicht da, um die Dinge zu verdichten. Der einzige Grund für die Einrichtung eines anderen Root-Kontos (ob das Home-Verzeichnis / root / oder das benutzerdefinierte Verzeichnis / home / root2 / ist) ist, dass das System zwei Administratoren hat, die nicht ein Root-Passwort teilen möchten.

Verwenden Sie andernfalls sudo. Und wenn Sie kein erfahrener Unix-Benutzer sind, besteht auch die Gefahr, dass Sie vergessen, welche Tools nur für Root-Benutzer und welche für normale Benutzer bestimmt sind.

ABER, wenn Sie das Gefühl haben, dass Sie einen sicheren normalen Benutzer haben (ich persönlich verwende ein STARKES Passwort mit dieser Methode), lasse ich meinen Benutzer (dh tatu.staff / uid = 1xxx, gid 50) SUDO ohne Passwort ausführen. Deshalb vermische ich nie, was nur für root und was für user ist.

Befolgen Sie die obigen Anweisungen, um eine sudoers-Datei (und die entsprechenden Gruppen) zu erstellen, damit ein bestimmter Benutzer SUDO ohne Kennwort ausführt, oder sehen Sie sich die Beispieldatei an, die ich hier einfügen werde:

#
# 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
Defaults        !authenticate

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL
YOURUSER    ALL=(ALL) NOPASSWD:ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL
%wheel  ALL=(ALL) NOPASSWD:ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

IHR BENUTZER ist Ihr Benutzername. Diese Zeile ermöglicht es einem bestimmten Benutzer, SUDO ohne Kennwort auszuführen.

Alle Benutzer in der Gruppe SUDO müssen ein Passwort eingeben.

Alle Benutzer im Gruppenrad können sudo ohne Passwort ausführen. Dies ist nützlich, wenn Sie mehreren Benutzern passwortlosen SUDO-Zugriff gewähren möchten.

AUCH: - Den% charachter vor den GROUP-Namen merken. - Man kann / etc / group direkt bearbeiten, aber es wird NICHT empfohlen. Verwenden Sie ADDGROUP zum Bearbeiten. Weitere Informationen erhalten Sie, indem Sie Folgendes eingeben: man addgroup

Ich muss noch einmal betonen, dass die sudoers-Datei IMMER mit dem Befehl VISUDO bearbeitet wird, NIEMALS direkt mit dem Editor. Das stellt sicher, dass Sie immer eine gültige sudoers-Datei erhalten - Tippfehler oder falsche Aussagen usw. sind in einer so wichtigen Datei eine sehr schlechte Sache, und visudo erspart Ihnen all die Probleme, die Sie möglicherweise nicht selbst beheben können das ist "benutze immer visdo. haben sie dir das nicht gesagt? oh sie haben es getan? Was ist los mit dir?" oder so ähnlich;)

-

Viele Grüße aus Finnland - es ist ein schöner, recht schöner Winter hier, nur -10 Grad Celsius, nicht so schlimme Temperaturen unter -25 Grad.

\\ tatu-o


Auch wenn Sie keine langen Befehle schreiben möchten oder Flaggen vergessen möchten, sind Aliseses für Sie da! Überprüfen Sie ~ / .bashrc, ob die Aliasdatei festgelegt ist, und fügen Sie dann Aliase zu ~ / .bash_aliases
tatu stty
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.