1. Warum hast du kein root Passwort?
Sie können zwar ein Kennwort für das Superuser-Konto erstellen, mit dem Sie sich als root anmelden können su
, es ist jedoch erwähnenswert, dass dies nicht die übliche Vorgehensweise mit Ubuntu (oder zunehmend auch mit anderen Distributionen) ist. Ubuntu wählt nicht eine root - Login und Passwort standardmäßig für einen Grund zu geben. Stattdessen werden bei einer Ubuntu-Standardinstallation sudo
Superuser-Berechtigungen vergeben. In einer Ubuntu-Standardinstallation erhält die Person, die das Betriebssystem installiert hat, standardmäßig die Berechtigung "sudo".
Jeder mit vollständiger "sudo" -Erlaubnis kann etwas "als Superuser" ausführen, indem er sich sudo
an seinen Befehl anhängt . Um beispielsweise apt-get dist-upgrade
als Superuser zu arbeiten, können Sie Folgendes verwenden:
sudo apt-get dist-upgrade
Sie werden diese Verwendung von sudo so ziemlich überall sehen, wo Sie ein Tutorial über Ubuntu im Web lesen. Es ist eine Alternative dazu.
su
apt-get dist-upgrade
exit
Mit sudo legen Sie im Voraus fest, welche Benutzer sudo-Zugriff haben. Sie müssen sich kein Root-Passwort merken, da sie ein eigenes Passwort verwenden. Wenn Sie mehrere Benutzer haben, können Sie den Superuser-Zugriff widerrufen, indem Sie einfach die sudo-Berechtigung entfernen, ohne das Root-Kennwort ändern und alle Benutzer über ein neues Kennwort benachrichtigen zu müssen. Sie können sogar auswählen, welche Befehle ein Benutzer mit sudo ausführen darf und welche Befehle für diesen Benutzer verboten sind. Und schließlich kann bei einer Sicherheitsverletzung in einigen Fällen ein besserer Prüfpfad hinterlassen werden, der angibt, welches Benutzerkonto gefährdet wurde.
Mit Sudo ist es einfacher, einen einzelnen Befehl mit Superuser-Rechten auszuführen. Mitsu
Sie dauerhaft zu einer Superuser-Shell, die mit exit
oder beendet werden muss logout
. Dies kann dazu führen, dass Benutzer länger als nötig in der Superuser-Shell bleiben, nur weil dies praktischer ist als ein späteres Aus- und erneutes Anmelden.
Mit sudo haben Sie weiterhin die Möglichkeit, eine permanente (interaktive) Superuser-Shell mit dem folgenden Befehl zu öffnen:
sudo su
... und das geht immer noch ohne root Passwort, weil sudo
der su
Befehl Superuser-Rechte hat .
Und in ähnlicher Weise können Sie anstelle su -
einer Login-Shell auch sudo su -
deren Verknüpfung verwenden sudo -i
.
Dabei müssen Sie jedoch lediglich berücksichtigen, dass Sie für jeden Befehl als Superuser fungieren. Es ist ein gutes Sicherheitsprinzip, nicht länger als nötig als Superuser zu bleiben, nur um die Möglichkeit zu verringern, versehentlich Schäden am System zu verursachen (ohne diese können Sie nur Dateien beschädigen, die Ihrem Benutzer gehören).
Um dies zu verdeutlichen, können Sie dem Root-Benutzer ein Passwort geben, mit dem Sie sich wie in @ Olis Antwort beschrieben als Root anmelden können, wenn Sie die Dinge stattdessen auf diese Weise ausführen möchten. Ich wollte Sie nur über die Ubuntu-Konvention des Bevorzugens sudo
informieren und Ihnen mitteilen, dass es eine Alternative gibt.
2. Die Probleme mit Ihrem Befehl chmod 777 -R
Ihre Frage hat auch einen zweiten Teil: Ihre Probleme mit dem Befehl sudo chmod 777 -R foobs
.
Erstens weist die folgende Warnung auf ein potenziell schwerwiegendes Sicherheitsproblem auf Ihrem Computer hin:
sudo: /var/lib/sudo writable by non-owner (040777), should be mode 0700
Dies bedeutet, dass Sie irgendwann festgelegt haben, dass Sie /var/lib/sudo
von der Welt aus beschreibbar sind. Ich stelle mir vor, Sie haben das irgendwann mit einem Befehl wie getan sudo chmod 777 -R /
. Leider haben Sie auf diese Weise wahrscheinlich alle Dateiberechtigungen in Ihrem gesamten System verletzt. Es ist unwahrscheinlich, dass dies die einzige wichtige Systemdatei ist, deren Berechtigungen dahingehend geändert wurden, dass sie weltweit beschreibbar sind. Grundsätzlich haben Sie jetzt ein leicht hackbares System, und die einzige einfache Möglichkeit, es wieder herzustellen, ist die Neuinstallation.
Zweitens der Befehl, den Sie verwendet haben:
sudo chmod 777 -R foobs
Wenn Sie Dateien in Ihrem Home-Verzeichnis bearbeiten ~/Desktop
, sollten Sie in diesem Fall nicht verwenden müssensudo
. Alle Dateien, die Sie in Ihrem Home-Verzeichnis erstellen, sollten sowieso von Ihnen geändert werden können (und wenn nicht, passiert etwas Lustiges).
Außerdem müssen Sie sich der Konsequenzen bewusst sein, die sich aus einer massenhaften Änderung von Dateiberechtigungen ergeben, z. In diesem Fall ändern Sie sorgfältig die Dateiberechtigungen so, dass sie von der Welt beschreibbar sind. Jeder andere Benutzer oder eine fehlerhafte Serversoftware auf dem Computer hat möglicherweise einfachen Zugriff auf das Überschreiben all dieser Dateien und Verzeichnisse.
Es ist fast sicher, dass chmod 777 -R [dir]
es nicht ist geeignete Lösung für jedes Problem ist, das Sie zu lösen versuchten (und wie oben erwähnt, gibt es Hinweise darauf, dass Sie dies auch für Systemdateien in / var / lib getan haben, und ich gehe davon aus, dass es sich um viele andere handelt setzt).
Ein paar grundlegende Faustregeln:
Wenn Sie nur mit Ihren eigenen Dateien in Ihrem Home-Verzeichnis, Desktop usw. herumspielen, sollten Sie niemals sudo
Benutzer- oder Superuser-Rechte benötigen . Wenn Sie dies tun, ist dies ein Warnsignal dafür, dass Sie etwas falsch machen.
Sie sollten Systemdateien, die sich im Besitz von Paketen befinden, niemals manuell ändern. Ausnahme: Es sei denn, Sie tun dies auf eine Weise, die von diesen Paketen dokumentiert wird, beispielsweise durch Ändern ihrer Konfiguration in /etc
. Dies gilt auch für das Ändern von Dateiberechtigungen. Wenn ein Tutorial oder der Versuch, das Problem zu beheben, sudo
Superuser-Rechte erfordert und es sich nicht einfach um eine Änderung an einer Konfiguration in / etc / handelt, ist dies ein Warnsignal dafür, dass Sie etwas falsch gemacht haben.
chmod -R 777 whatever
, es sei denn, Sie möchten ein großes Sicherheitsrisiko verursachen.