Heim >Betrieb und Instandhaltung >Betrieb und Wartung von Linux >So verwenden Sie su und sudo im Linux-System
Im Allgemeinen empfehlen wir, das Root-Konto nicht für die direkte Anmeldung am Server zu verwenden. Es wird empfohlen, für die Anmeldung ein normales Konto zu verwenden und die Identität nur zu wechseln, wenn der Root-Benutzer für den Betrieb verwendet werden muss. Lassen Sie uns als Nächstes über die beiden Befehle zum Identitätswechsel su und sudo sprechen. Der Befehl
su
su wird verwendet, um vom aktuellen Benutzer zu einem neuen Benutzer zu wechseln. Beim Wechsel zu einer neuen Benutzeridentität müssen Sie das Passwort des wechselnden Benutzers eingeben.
一般用法:su - 用户名
-oder-l: Beim Ändern der Identität werden gleichzeitig auch das Arbeitsverzeichnis sowie HOME, SHELL, USER und Logname geändert. Darüber hinaus wird auch die PATH-Variable geändert.
Das Folgende zeigt die Verwendung dieses Befehls:
$ id # 当前用户是admin uid=1005(admin) gid=1006(admin) groups=1006(admin) $ su - # 不输入用户名则表示切换到root用户 Password: <===输入root用户的密码
sudo
Die Verwendung von su zum Wechseln des Benutzers erfordert die Eingabe des Passworts des neuen Benutzers Root-Passwort nach Belieben an andere weitergeben. Sie können Sudo verwenden, um dieses Problem zu lösen. Im Folgenden stellen wir Sudo vor.
Im Vergleich zu su, bei dem Sie das neu geänderte Benutzerkennwort (häufig das Root-Benutzerkennwort) kennen müssen, müssen Sie zum Ausführen von sudo nur Ihr eigenes Kennwort eingeben. Sie können es sogar so einrichten, dass Sie kein Passwort benötigen. Wenn Sie sudo gut nutzen möchten, müssen Sie die Konfigurationsdatei /etc/sudoers beherrschen. Diese Datei kann jedoch nicht mit vim oder vim geändert werden. Sie muss mit dem angegebenen Befehl visudo geändert werden.
Das Folgende zeigt die Verwendung von sudo:
sudo [Option]-Befehl
-b: Nachfolgende Befehle trotzdem im Hintergrund ausführen
-u: Geben Sie den Benutzer an, um nachfolgende Befehle auszuführen
sh -c, um mehrere Befehle auszuführen
[root@bajiecxg tmp]# sudo -u gwx touch a.txt [root@bajiecxg tmp]# ll a.txt -rw-r--r-- 1 gwx gwx 0 10月 29 17:49 a.txt # 使用sh -c执行多条命令 [root@bajiecxg tmp]# sudo -u gwx sh -c "mkdir gwx;cd gwx;\ touch 1.txt" [root@bajiecxg tmp]# ll gwx/ 总用量 0 -rw-r--r-- 1 gwx gwx 0 10月 29 17:53 1.txt
Werfen wir einen Blick auf die Datei /etc/sudoers? Das grundlegende Konfigurationsformat ist wie folgt
root ALL=(ALL) ALL
Benutzerkonto-Anmeldequellhost = umschaltbare Benutzeridentität Ausführbarer Befehl
Das oben genannte Bedeutung ist tot. Der Root-Benutzer kann sich von jedem Host aus anmelden, jede Identität wechseln und jeden Befehl ausführen
Jetzt möchten wir einen Benutzeradministrator hinzufügen, damit er auch jeden Befehl ausführen kann um eine neue Zeile hinzuzufügen, wie folgt:
admin ALL=(ALL) ALL
Wenn wir dann mehrere Betriebs- und Wartungsmanager haben und alle in der Lage sein müssen, sudo zum Ausführen eines beliebigen Befehls zu verwenden, müssen mehrere Konfigurationen hinzugefügt werden. Gibt es einen einfachen Weg? Ja, solange wir den Benutzer zur Radgruppe hinzufügen. Warum ist es also in Ordnung, dieser Gruppe einfach beizutreten? Werfen Sie einen Blick auf /etc/sudoers, etwa Zeile 99:
%wheel ALL=(ALL) ALL
Wir können Benutzern auch erlauben, Befehle auszuführen, ohne ein Passwort zu verwenden, wenn sie sudo verwenden
%wheel ALL=(ALL) NOPASSWD: ALL # 属于wheel这个组的用户执行sudo命令时,不需要输入密码
Wir können Benutzern auch eingeschränkte Befehlsberechtigungen erteilen, sodass Benutzer nur ausführen können Mehrere Befehle
admin ALL=(ALL) /usr/bin/ls,/usr/bin/cd
Darüber hinaus hat sudo viele andere Verwendungsmöglichkeiten, wie z. B. Benutzeraliase, Befehlsaliase usw. Interessierte Kinder können die relevanten Informationen selbst überprüfen.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie su und sudo im Linux-System. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!