Welcher Mechanismus verhindert, dass ein Benutzer über Root auf die Dateien anderer Benutzer zugreift?

Welcher Mechanismus verhindert, dass ein Benutzer über Root auf die Dateien anderer Benutzer zugreift?

Was schützt auf einem Mehrbenutzersystem davor, dass ein Benutzer über Root auf die Dateien anderer Benutzer zugreift? Als Kontext basiert die Frage nach meinem Verständnis wie folgt:

Es gibt zwei Befehle im Zusammenhang mit Root-Rechten, sudound su. Mit sudowerden Sie nicht zu einem anderen Benutzer (auch nicht zu root). sudoverfügt über eine vordefinierte Liste genehmigter Befehle, die es in Ihrem Namen ausführt. Da Sie weder root noch ein anderer Benutzer werden, authentifizieren Sie sich einfach mit Ihrem eigenen Passwort.

Mit suwerden Sie tatsächlich Root oder ein anderer Benutzer. Wenn Sie Benutzer Bob werden möchten, benötigen Sie Bobs Passwort. Um Root zu werden, benötigen Sie das Root-Passwort (das auf einem Mehrbenutzersystem definiert würde).

Referenzen:wietogeek.com:

suwechselt Sie zum Root-Benutzerkonto und erfordert die Eingabe des Passworts des Root-Kontos. sudoFührt einen einzelnen Befehl mit Root-Berechtigungen aus – es wechselt nicht zum Root-Benutzer.

Und

Wenn Sie den Befehl su bob ausführen, werden Sie aufgefordert, Bobs Passwort einzugeben, und die Shell wechselt zu Bobs Benutzerkonto. Ähnliche Beschreibung untercomputerhope.com

tecmint.com:

„sudo“ ist eine binäre Root-Setuid, die Root-Befehle im Namen autorisierter Benutzer ausführt.

Wenn Sie Root sind, haben Sie Zugriff auf alles. Jeder, der nicht zum Zugriff auf das Konto eines anderen Benutzers berechtigt ist, erhält das Root-Passwort nicht und hat auch keine sudoDefinitionen, die es zulassen.

Das alles macht Sinn, bis man sich etwas ansieht wiedieser Link, ein Tutorial zur Verwendung sudo -Vund sudo su -zum anschließenden Erlangen des Root-Rechts nur mit Ihrem eigenen Passwort.

Wenn jeder Benutzer ohne Root-Passwort Root werden kann, welcher Mechanismus schützt die Benutzerdateien vor unbefugtem Zugriff?

Antwort1

DerwesentlichDer Unterschied zwischen sudound suist der Mechanismus, der zur Authentifizierung verwendet wird. Bei sumuss der Benutzer das Passwort kennen root(das streng geheim sein sollte), während sudonormalerweise so konfiguriert ist, dass nach dem Passwort des Benutzers gefragt wird. Um zu verhindern, dass alle Benutzer Chaos anrichten, können die durch den Befehl freigegebenen Berechtigungen sudoglücklicherweise mithilfe der /etc/sudoersDatei konfiguriert werden.

Beide Befehle führen recht häufig einen Befehl als ein anderer Benutzer aus root.

sudo su -funktioniert in dem von Ihnen angegebenen Beispiel, weil der Benutzer (oder eine Gruppe, in der der Benutzer Mitglied ist) in der /etc/sudoersDatei konfiguriert ist. Das heißt, sie sinderlaubtzu verwenden sudo. Damit ausgerüstet verwenden sie , sudoum vorübergehend rootPrivilegien zu erlangen (was standardmäßig der Fall ist, wenn kein Benutzername angegeben ist) und rooteine weitere Shell zu starten ( su -). Sie haben nun rootZugriff, ohne rootdas Passwort von zu kennen.

Umgekehrt gilt: Wenn Sie dem Benutzer die Verwendung nicht gestatten, sudokann er nicht sudo su -.

Distributionen haben im Allgemeinen eine Gruppe (oft genannt wheel), deren Mitglieder alle Befehle ausführen dürfen sudo. Wenn sie aus dieser Gruppe entfernt werden, bedeutet dies, dass sie sudostandardmäßig überhaupt nicht mehr verwenden können.

Die Zeile, /etc/sudoersdie dies bewirkt, ist:

## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL

Durch das Entfernen von Benutzern aus dieser Gruppe wird Ihr System zwar sicherer, es hätte jedoch auch zur Folge, dass Sie (oder andere Systemadministratoren) im Namen Ihrer Benutzer mehr Verwaltungsaufgaben am System ausführen müssten.

Ein sinnvollerer Kompromiss wäre die Konfiguration, sudodie Ihnen eine feinere Kontrolle darüber gibt, wer sudowelche Befehle verwenden darf und wer nicht (anstelle der Standardeinstellung vonalleBefehle). Beispiel:

## Allows members of the users group to mount and unmount the
## cdrom as root
%users  ALL=/sbin/mount /mnt/cdrom, /sbin/umount /mnt/cdrom

(nur sinnvoll, wenn die vorherige %wheel-Zeile auskommentiert ist oder sich keine Benutzer in der wheelGruppe befinden).

Vermutlich sind Distributionen nicht standardmäßig mit dieser feineren Konfiguration ausgestattet, da sich die Anforderungen des Administrators an seine Benutzer und sein System nicht vorhersagen lassen.

Fazit: Informieren Sie sich über die Einzelheiten sudound Sie können aufhören, sudo su -andere Befehle zuzulassen, die dem Benutzer keinen rootShell-Zugriff oder Zugriff auf Befehle gewähren, die die Dateien anderer Benutzer ändern können. Sie sollten sich gut überlegen, wem Sie die Verwendung erlauben sudound in welchem ​​Umfang.

WARNUNG:visudoVerwenden Sie den Befehl immer zum Bearbeiten der sudoersDatei, da er Ihre Änderungen für Sie überprüft und Sie vor der peinlichen Situation bewahrt, dass eine falsch konfigurierte Datei (aufgrund eines Syntaxfehlers) Sie daran hindert, sudoFehler zu bearbeiten. Dies gilt insbesondere für Debian/Ubuntu und Varianten, bei denen das rootKonto standardmäßig deaktiviert ist.

Antwort2

Es gibt zwei Befehle im Zusammenhang mit Root-Rechten, sudound su. Mit sudowerden Sie nicht zu einem anderen Benutzer (auch nicht zu root). sudohat eine vordefinierte Liste genehmigter Befehle, die es in Ihrem Namen ausführt (das beantwortet meine Frage im Kommentar, wie Sie ausgewählten Benutzern selektive Rechte erteilen). Da Sie weder root noch ein anderer Benutzer werden, authentifizieren Sie sich einfach mit Ihrem eigenen Passwort.

Das ist falsch. Der offensichtlichste Unterschied zwischen suund sudobesteht darin, dass letzteres normalerweise so konfiguriert ist, dass es nach Ihrem eigenen Passwort statt nach dem Passwort des Zielbenutzers fragt, und das sudoist flexibler. Der Sinn beider besteht darin, Sie zu einem anderen Benutzer zu machen. sukann einen bestimmten Befehl ausführen und sudoeine interaktive Shell starten, sie haben nur unterschiedliche Standardmodi.

Am häufigsten haben Sie eine Gruppe, konventionell benanntwheelsudo, das jeden Befehl als beliebiger Benutzer ausführen darf. Manchmal möchten Sie jedoch einen Benutzer darauf beschränken, einen bestimmten Befehl nur als bestimmter Benutzer auszuführen. Dies ist im Vergleich zu flexibler su.

Mit suwerden Sie tatsächlich Root oder ein anderer Benutzer. Wenn Sie Benutzer Bob werden möchten, benötigen Sie Bobs Passwort. Um Root zu werden, benötigen Sie das Root-Passwort (das auf einem Mehrbenutzersystem definiert würde).

Sie können sich auch mit jedem anderen Benutzer sudomit Ihrem eigenen Kennwort anmelden, vorausgesetzt, die Regeln in /etc/sudoerssind so eingerichtet, dass Sie dies zulassen. sudoSie können damit jedoch die Befehle einschränken, die ein Benutzer ausführen kann, und Sie müssen die Kennwörter bestimmter Benutzer nicht preisgeben oder müssen für bestimmte Benutzer überhaupt kein Kennwort angeben, wodurch reguläre Anmeldungen verhindert werden.

Wenn Sie Root sind, haben Sie Zugriff auf alles. Jeder, der nicht zum Zugriff auf das Konto eines anderen Benutzers berechtigt ist, erhält das Root-Passwort nicht und hat auch keine sudoDefinitionen, die es zulassen.

Das alles macht Sinn, bis Sie sich etwas wie [diesen Link][1] ansehen. Dabei handelt es sich um ein Tutorial zur Verwendung sudo -Vund zum anschließenden sudo su -Erlangen des Root-Rechts nur unter Verwendung Ihres eigenen Passworts.

Wenn jeder Benutzer ohne Root-Passwort Root werden kann, welcher Mechanismus schützt die Benutzerdateien vor unberechtigtem Zugriff? [1]:http://home.ubalt.edu/abento/linux/terminal/sudo.html

Druckt zunächst sudo -Vdie Version Ihrer sudoBinärdatei und sudo -vvalidiert die zwischengespeicherten Anmeldeinformationen. Diese sind für den späteren Teil irrelevant.

Zweitens sudo suist dies ziemlich dumm, da bereits eine sudoOption zum Starten einer interaktiven Shell als angegebener Benutzer ( sudo -i) vorhanden ist und es wirklich dumm ist, ein Tool mit Berechtigungsautorisierung ( sudo) auszuführen, um ein anderes Tool mit Berechtigungsautorisierung ( su) auszuführen.

Drittens sollte „jeder Benutzer“ unbedingtNICHTin der Lage sein, Root zu werden. Wenn dies möglich ist, ist Ihr gesamtes System völlig ungesichert. Der Root-Benutzer ist allmächtig und kann alles tun, und das Ausführen eines Befehls als Root ist nur eine der Verwendungsmöglichkeiten von . sudoEs handelt sich um ein allgemeines Autorisierungstool, mit dem ein bestimmter Benutzer einen bestimmten Befehl als bestimmter Benutzer ausführen kann.

Antwort3

Die kurze Antwort lautet: Das können Sie nicht.

Wenn Sie jemandem (z. B. simth) Zugang zur Sudoer-Gruppe gewähren, kann er ein Konto einrichten und sudo su -dann Root werden, dann ein anderer Benutzer (z. B. wesson). Dies ist eine alternative Möglichkeit, simth das Root-Passwort zu geben. Er (smith) kann jedoch das Root-Passwort ändern.

Stellt außerdem fest, dass

1) Sie müssen in /etc/sudoerseiner Zeile wie folgt angeben:

%sudo   ALL=(ALL:ALL) ALL

2) Smith (im obigen Beispiel) muss in der Sudo-Gruppe sein.

dies ist keine Standardeinstellung.

Sie müssen jemandem (Smith) vollkommen vertrauen, um sudo su -Zugriff zu gewähren.

Antwort4

Keine dieser Antworten geht in irgendeiner Weise auf die Frage ein. Die richtige Antwort lautet: Dateiberechtigungen verhindern, dass ein Benutzer, einschließlich root, auf die Datei eines anderen Benutzers zugreift. Ja, es gibt Möglichkeiten, root daran zu hindern, Ihre Dateien (oder Verzeichnisse, bei denen es sich um Dateien handelt) zu lesen und in sie zu schreiben.

Ein Verzeichnis kann beispielsweise folgende Einträge enthalten:

drwxrwxr-x 13 root root 8192 17. Jan. 15:38 bash-5.2.15 drwxr-xr-x 15 root root 4096 20. Jan. 08:13 bitcoin drwxr-xr-x 8 root root 4096 6. Dez. 16:37 boost_1_84_0 -rwx------ 1 root root 13210 19. Jan. 17:44 doit_configure -rwx------ 1 root root 7491 17. Okt. 11:44 doit_configure_bash

Verzeichnisse beginnen mit einem „d“. Normale Dateien beginnen mit einem „-“. Dann gibt es die Berechtigungen für die Datei/das Verzeichnis, z. B. rwxrwxrwx, unterteilt in drei Abschnitte: Besitzer, Gruppe und Sonstiges. r=Lese-, w=Schreib- und x=Ausführungsberechtigung.

Die Befehlsdienstprogramme „su“ und „sudo“ helfen beim Zugriff, sind jedoch nicht die eigentliche Antwort auf die ursprüngliche Frage.

verwandte Informationen