Um ein bisschen zu verdeutlichen: Es gibt keine "sudo-Befehle", es gibt nur Befehle, die root-Rechte benötigen, um korrekt zu funktionieren, und sudo
der Befehl, um sie für einen Befehl abzurufen: sudo
Führt einfach den angegebenen Befehl als root aus (lies "sudo" als Imperativ) satz "superuser, mach was!"). Die Regeln, welche Benutzer dies tun dürfen, sind in niedergeschrieben /etc/sudoers
. Bei einer Standard-Raspbian-Installation hat der Standardbenutzer "pi" die folgenden Berechtigungen:
pi ALL=(ALL) NOPASSWD: ALL
Es bedeutet: "Der Benutzer 'pi' auf ALLEN Hosts darf zu ALLEN Benutzern wechseln und muss sein PASSWD nicht eingeben, wenn ALL (read: any) -Befehle verwendet werden." (Ich habe hier verrückte Grammatik verwendet, um die Reihenfolge der Zeilen beizubehalten. Ein Hinweis, warum es eine Möglichkeit gibt, Hosts zu unterscheiden: Auf diese Weise kann dieselbe sudoers-Datei auf mehrere Computer in einem Netzwerk verteilt werden, sodass der Netzwerkadministrator weniger Arbeit hat.) .
Es kann sein, dass Sie in der Lage sind, Befehle mit sudo auszuführen, ohne ein Administratorkennwort zu vergeben. Aus diesem Grund halten Sie es für gefährlich, sudo über SSH zu verwenden (ich habe noch kein allgemeines Problem damit gehört ... könnten Sie es auch Erklären Sie, welche Gefahr genau Sie meinen.
Sicher, Sie könnten mehrere Benutzer mit unterschiedlichen Berechtigungen haben. Ich befürchte jedoch, dass die Verwendung von sudo immer noch die beste Möglichkeit ist, diese Berechtigungen zu verwalten.
Also, ich hoffe, dieses kleine Rezept hier ist das, was Sie brauchen:
$ sudo adduser admin
Dadurch wird ein Benutzer "admin" erstellt, nach einem Kennwort gefragt, sein Ausgangsverzeichnis erstellt usw.
$ sudo adduser admin sudo
$ sudo adduser admin adm
Dadurch wird der Benutzer "admin" in die Benutzergruppen "sudo" und "adm" eingeteilt. Da Berechtigungen in Linux verwaltet werden, indem Benutzer zu Benutzergruppen hinzugefügt werden, erhält der Benutzer "admin" alle Berechtigungen, die er benötigt. In einer Zeile /etc/sudoers
kann jeder Benutzer in der Benutzergruppe "sudo" einen beliebigen Befehl als root ausführen. und dieses Privileg ist es, was wir für einen Admin-Benutzer benötigen (wenn er zu "adm" hinzugefügt wird, kann er einige Protokolldateien einlesen, /var/log
ohne sudo
einige andere Dinge zu verwenden). Sie müssen noch verwenden, sudo
wenn Sie als Administrator angemeldet sind. Jetzt fragt sudo immer wieder nach dem Administratorkennwort, wenn Sie sudo etwa fünf Minuten lang nicht verwendet haben.
Melden Sie sich nun als Benutzer "admin" ab und wieder an. Prüfe ob
$ sudo apt-get update
$ sudo apt-get upgrade
funktioniert. In diesem Fall können Sie einige Berechtigungen des "pi" -Benutzers widerrufen, da Sie jetzt sicher sind, dass Ihr Administrator über die richtigen Berechtigungen verfügt:
$ sudo deluser pi sudo
$ sudo deluser pi adm
Dies wirft den Benutzer "pi" aus der Benutzergruppe "sudo".
$ sudo visudo
Dies startet einen Editor, mit dem Sie bearbeiten können /etc/sudoers
. Setzen Sie ein Hash-Tag ( #
) vor die Zeile, die mit "pi" beginnt, und kommentieren Sie es aus (oder entfernen Sie es einfach). Speichern Sie dann den Editor und beenden Sie ihn. Visudo lädt die Berechtigungsregeln dann sofort neu. Jetzt darf der Benutzer "pi" sudo nicht mehr benutzen.
Danach können Sie sich erneut als Benutzer "pi" anmelden. Wenn Sie jemals für einige Befehle zum Administrator wechseln möchten, verwenden Sie su
("switch user"):
$ su - admin
Wenn Sie weitere Benutzer hinzufügen möchten: Verwenden Sie sudo adduser <name>
wie oben beschrieben, und überprüfen Sie die Liste der Benutzergruppen, die der Benutzer "pi" hat:
$ groups pi
pi : pi dialout cdrom audio video plugdev games users netdev input
Verwenden sudo adduser <username> <groupname>
Sie diese Option, um Ihren neuen Benutzer mehreren dieser Benutzergruppen hinzuzufügen, sodass er Audio, beschleunigtes Video, steckbare Geräte usw. verwenden kann. Wenn Sie sich nicht sicher sind, fügen Sie ihn allen diesen Benutzergruppen hinzu (aber nicht "sudo"!).