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

Was ist Sticky Bit, SUID und SGID unter Linux?

Im Linux-Dateisystem haben alle Dateien 3 spezielle Berechtigungen, die für verschiedene Zwecke verwendet werden. In diesem Tutorial werden wir über Sticky Bit sprechen , SUID, und SGID Dateiberechtigungen in den Linux-Dateisystemen.

Was ist Sticky Bit?

Das Sticky-Bit wird verwendet, um spezielle Berechtigungen für Dateien und Verzeichnisse anzuzeigen. Wenn ein Verzeichnis mit aktiviertem Sticky Bit das Löschen der darin enthaltenen Datei einschränkt.

Jede Datei, bei der das Sticky-Bit gesetzt ist, kann von ihrem Besitzer, dem Root, oder jemandem, der Schreibrechte darauf hat, entfernt werden. Dies ist nützlich für freigegebene oder öffentlich zugängliche Verzeichnisse wie /tmp .

So setzen Sie das Sticky-Bit auf eine Datei im Linux-Dateisystem.

Methode 1:

chmod +t file1.txt 

##View the file permissions 
ls -l file1.txt 
-rw-r--r-T 1 root root 0 Mar  8 02:06 file1.txt

Methode 2:

chmod 1777 file1.txt

##View the file permissions 
ls -l file1.txt 
-rwxrwxrwt 1 root root 0 Mar  8 02:06 file1.txt

Die obige Ausgabe zeigt, dass das Sticky-Bit mit dem Zeichen t gesetzt ist oder T in den eingereichten Berechtigungen. Der Kleinbuchstabe t stellt dar, dass die Ausführungsberechtigung auch aktiviert ist und ein T in Großbuchstaben stellen dar, dass die Ausführungsberechtigung nicht festgelegt ist.

Was ist SUID (setuid)?

Wenn das SUID-Bit für eine Datei gesetzt ist und ein Benutzer sie ausgeführt hat. Der Prozess hat die gleichen Rechte wie der Eigentümer der ausgeführten Datei.

Beispiel:passwd Befehl haben das SUID-Bit aktiviert. Wenn ein normaler Benutzer sein Passwort ändert, aktualisiert dieses Skript einige Systemdateien wie /etc/passwd und /etc/shadow die nicht von einem Nicht-Root-Konto aktualisiert werden kann. Also das passwd Befehlsprozess wird immer mit Root-Benutzerrechten ausgeführt.

Hier ist die Implementierung von SUID in den Dateien unter dem Linux-System.

Methode 1:

chmod u+s file2.txt 

##View the file permissions 
ls -l file2.txt 
-rwsr-xr-x 1 root root 0 Mar  8 02:06 file2.txt

Methode 2:

chmod 4655 tecadmin.txt 

##View the file permissions  
ls -l tecadmin.txt 
-rwSr-xr-x 1 root root 0 Mar  8 02:06 tecadmin.txt

Was ist SGID (setgid)?

Wie SUID, der Prozess hat die gleichen Gruppenrechte wie die Datei, die ausgeführt wird. Wenn das SGID-Bit für ein beliebiges Verzeichnis gesetzt ist, erhalten alle darin erstellten Unterverzeichnisse und Dateien denselben Gruppenbesitz wie das Hauptverzeichnis, es spielt keine Rolle, wer es erstellt.

So legen Sie die SGID für ein Verzeichnis im Linux-System fest.

chmod g+s /test 

##View the file permissions 
ls -ld /test 
drwxrwsrwx 2 root root 4096 Mar  8 03:12 /test

Wechseln Sie nun zu einem anderen Benutzer und erstellen Sie eine Datei im /test Verzeichnis.

su - tecadmin 
cd /test/ 
touch file3.txt 

Next check the group ownership of the newly created file. It must be same as the /test directory group owner. 

ls -l file3.txt 

-rw-rw-r-- 1 tecadmin root 0 Mar  8 03:13 file3.txt

Ja, es ist dasselbe. Die file3.txt wird mit Root-Gruppenbesitz erstellt.

Danke, dass Sie diesen Artikel gelesen haben. Ich hoffe, er hilft Ihnen, das Sticky Bit, SUID und SGID in Linux zu verstehen.


Linux
  1. Benennen Sie eine Datei im Linux-Terminal um

  2. So finden Sie Dateien mit SUID- und SGID-Berechtigungen in Linux

  3. Was ist die Inode-Nummer unter Linux?

  4. Wie lautet der Befehl zum Kopieren, Lesen und Entfernen von Dateien unter Linux

  5. Was ist das Sticky Bit in UNIX-Dateisystemen? Wann wird es verwendet?

Linux-Dateibefehl:Was macht er und wie wird er verwendet?

Was ist umask unter Linux?

Linux-Berechtigungen:SUID, SGID und Sticky Bit

Wie man mit Hardlinks und Softlinks unter Linux arbeitet

Spezielle Dateiberechtigungen unter Linux:SUID, GUID und Sticky Bit

Was ist eine .bashrc-Datei unter Linux?