GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So verwenden Sie den Su-Befehl unter Linux

In diesem Tutorial lernen wir, was der su-Befehl (Benutzer wechseln) in Unix/Linux ist und den Unterschied zwischen su- und su-Befehlen. Linux ist ein Mehrbenutzer-Betriebssystem-Kernel, was bedeutet, dass sich mehrere Benutzer gleichzeitig bei einem Linux-System anmelden können.

Sie können mit dem Befehl su auf der Befehlszeile selbst zwischen verschiedenen Benutzern wechseln. Der Befehl su steht für „Ersatzbenutzer“ oder kann zwischen Benutzern wechseln. Dieser Befehl ändert die Benutzeranmeldeinformationen zu denen eines angegebenen Benutzers oder root (standardmäßig).

Was macht der su-Befehl

Der Befehl su ändert, wie oben erwähnt, die Anmeldeinformationen des Benutzers in die eines anderen Benutzers. Sehen wir uns ein Beispiel an

[raghu@redhat-server ~]$ su jack
Password:
[jack@redhat-server raghu]$ id
uid=501(jack) gid=501(jack) groups=501(jack),504(javaproject) context=root:system_r:unconfined_t:SystemLow-SystemHigh

Der Befehl id gibt die Informationen über den aktuellen Benutzer aus. In der obigen Ausgabe sehen Sie den geänderten Benutzer. Wenn dem su-Befehl keine Argumente übergeben werden, wechselt er standardmäßig zum Root-Benutzer. Ubuntu-Manpages haben dazu weitere Informationen erklärt.

[jack@redhat-server raghu]$ su
Password:
[root@redhat-server raghu]# id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel) context=root:system_r:unconfined_t:SystemLow-SystemHigh

Simulation der Anmeldung mit su -

Mit dem Befehl su --login oder su -l oder einfach dem Befehl 'su -' können Sie den Benutzer wechseln, als wäre es eine Anmeldung von einem Terminal aus.

[raghu@redhat-server ~]$ su - jack
Password:
[jack@redhat-server ~]$ id
uid=501(jack) gid=501(jack) groups=501(jack),504(javaproject) context=root:system_r:unconfined_t:SystemLow-SystemHigh

Unterschied zwischen su vs su-

Der Unterschied zwischen 'su' und 'su -' besteht darin, dass einige Umgebungsvariablen wie die PATH-Variable ihre Werte nicht nur mit su ändern (dh wenn die Option -l oder - weggelassen wird). Einige Befehle werden möglicherweise nicht ausgeführt, wenn PATH nicht richtig eingestellt ist. Stellen Sie sich beispielsweise das folgende Szenario vor:

[jack@redhat-server ~]$ su root
Password:
[root@redhat-server jack]# fdisk -l
bash: fdisk: command not found
[root@redhat-server jack]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/jack/bin

Sie können sehen, dass sbin-Verzeichnisse nicht im PATH des Root-Benutzers enthalten sind. Der fdisk-Befehl wird also nicht ausgeführt. Jetzt versuchen wir uns mit dem su - Befehl anzumelden:

[jack@redhat-server ~]$ su -
Password:
[root@redhat-server ~]# fdisk -l

Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 1044 8281507+ 8e Linux LVM
[root@redhat-server ~]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

Ein weiterer Unterschied zwischen diesen beiden Befehlen sind die Anmeldeskripts. Lassen Sie uns zuerst einige Login-Skripte besprechen:

Wenn sich ein Benutzer bei einem System anmeldet, werden die folgenden 4 Dateien ausgeführt, wenn die Anmeldeinformationen des Benutzers legitim sind:

/etc/profile
/etc/bashrc
~/.bashrc
~/.bash_profile

Wenn Sie sich mit dem Befehl „su -“ anmelden, werden alle diese Skripte ausgeführt. Aber mit su werden nur bashrc-Skripte ausgeführt, d. h. /etc/bashrc- und ~./bashrc-Skripte werden ausgeführt.

In Ubuntu erhalten Sie möglicherweise einen Authentifizierungsfehler, wenn Sie den Befehl su ausführen. Sie erhalten diesen Fehler, weil das Root-Konto in Ubuntu standardmäßig deaktiviert ist.

user@host:~$ su
Password:
su: Authentication failure

Verwenden Sie statt su sudo -i oder sudo gefolgt von Ihrem Befehl.

Schlussfolgerung

In diesem Tutorial haben wir den Unterschied zwischen den Befehlen „su“ und „su -“ in Linux gelernt. Weitere Informationen finden Sie in man su. Ich hoffe, Sie hatten Spaß beim Lesen und hinterlassen Sie bitte unten Ihre Vorschläge.

Lesen Sie auch:

  • 38 grundlegende Linux-Befehle zum Lernen mit Beispielen
  • Wie man einen Benutzer zu Sudoers auf Debian hinzufügt

Linux
  1. So verwenden Sie den Linux-Grep-Befehl

  2. So verwenden Sie den Verlaufsbefehl unter Linux

  3. So verwenden Sie den Linux-Bildschirmbefehl

  4. So verwenden Sie den Befehl ldconfig unter Linux

  5. So verwenden Sie den ipset-Befehl unter Linux

So verwenden Sie den Befehl sysctl unter Linux

So verwenden Sie den Befehl zum Herunterfahren von Linux

So verwenden Sie grep unter Linux

So verwenden Sie den Mkdir-Befehl unter Linux

So verwenden Sie den Jobs-Befehl unter Linux

So verwenden Sie den Bildschirmbefehl unter Linux