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

Linux-Interviewfragen – Sonderberechtigungen (SUID, SGID und Sticky Bit)

Es gibt zwei spezielle Berechtigungen, die für ausführbare Dateien festgelegt werden können:Benutzer-ID festlegen (setuid) und Gruppen-ID festlegen (sgid). Diese Berechtigungen ermöglichen, dass die ausgeführte Datei mit den Rechten des Besitzers oder der Gruppe ausgeführt wird. Ebenso gibt es zwei spezielle Berechtigungen für Verzeichnisse:das Sticky-Bit und das Setgid-Bit. Nachfolgend finden Sie einige der am häufigsten gestellten Fragen in Linux-Interviews zu speziellen Berechtigungen wie SUID, SGID und Sticky Bit.

Was ist Benutzer-ID setzen (setuid)?

SUID ist eine spezielle Berechtigung, die einer Datei zugewiesen wird. Diese Berechtigungen ermöglichen, dass die ausgeführte Datei mit den Rechten des Besitzers ausgeführt wird. Wenn zum Beispiel eine Datei dem Root-Benutzer gehört und das setuid-Bit gesetzt ist, wird sie unabhängig davon, wer die Datei ausgeführt hat, immer mit Root-Benutzerrechten ausgeführt.

Wie setze ich das SUID-Bit für eine Datei?

Sie müssen der Eigentümer der Datei oder der Root-Benutzer sein, um das setuid-Bit zu setzen. Führen Sie den folgenden Befehl aus, um das setuid-Bit zu setzen:

# chmod u+s file1

Zeigen Sie die Berechtigungen mit dem Befehl ls -l an:

# ls -l file1
-rwSrw-r-- 1 user1 user1 0 2017-10-29 21:41 file1

Beachten Sie das große S . Dies bedeutet, dass keine Ausführungsberechtigungen vorhanden sind. Führen Sie den folgenden Befehl aus, um der Datei file1 Ausführungsberechtigungen hinzuzufügen, und achten Sie dabei auf das kleingeschriebene s .

# chmod u+x file1
# ls -l file1
-rwsrw-r-- 1 user1 user1 0 2017-10-29 21:41 file1

Beachten Sie den Kleinbuchstaben s. Das bedeutet, dass Ausführungsberechtigungen vorhanden sind.

Alternativ können Sie das setuid-Bit mit der numerischen Methode setzen, indem Sie dem Modus eine 4 voranstellen. Um beispielsweise das setuid-Bit sowie Lese-, Schreib- und Ausführungsberechtigungen für den Eigentümer der Datei file1 festzulegen, führen Sie den folgenden Befehl aus:

# chmod 4700 file1

Was ist Set Group ID (setgid) für Dateien?

Wenn das Set-Group-ID-Bit gesetzt ist, wird die ausführbare Datei mit der Autorität der Gruppe ausgeführt. Wenn beispielsweise eine Datei der Benutzergruppe gehört, wird sie immer mit der Berechtigung der Benutzergruppe ausgeführt, unabhängig davon, wer diese Datei ausgeführt hat.

Wie setze ich das SGID-Bit für Dateien?

Führen Sie den folgenden Befehl aus, um das setgid-Bit für die Datei file1 zu setzen:

# chmod g+s
Hinweis :Sowohl das Setuid- als auch das Setgid-Bit werden mit dem Symbol s gesetzt. Die setgid wird genauso dargestellt wie das setuid-Bit, außer im Gruppenabschnitt der Berechtigungen.

Führen Sie den folgenden Befehl als Root aus, um das setgid-Bit zu setzen und Berechtigungen für den Eigentümer der Datei file1 zu lesen, zu schreiben und auszuführen:

# chmod 2700 file1

Die setgid wird genauso dargestellt wie das setuid-Bit, außer im Gruppenabschnitt der Berechtigungen:

ls -l file1
-rwx--S--- 1 user1 user1 0 2017-10-30 21:40 file1

Verwenden Sie den Befehl chmod u+s, um das setuid-Bit zu setzen. Verwenden Sie den Befehl chmod g+s, um das setgid-Bit zu setzen.

Was ist das Festlegen von Gruppen-ID-Berechtigungen für Verzeichnisse

Wenn das setgid-Bit für ein Verzeichnis gesetzt ist, erben alle in diesem Verzeichnis erstellten Dateien den Gruppenbesitz dieses Verzeichnisses. Beispielsweise gehört der Ordner folder1 dem Benutzer user1 und der Gruppe group1:

# ls -ld folder1
drwxrwxr-x 2 user1 group1 4096 2017-10-30 22:25 folder1

Im Ordner folder1 erstellte Dateien erben die Gruppenmitgliedschaft group1:

# touch folder1/file1
# ls -l folder1/file1
-rw-rw-r-- 1 user1 group1 0 2017-10-30 22:29 folder1/file1

Wie setze ich das SGID-Bit für Verzeichnisse?

Um das setgid-Bit für ein Verzeichnis zu setzen, verwenden Sie den Befehl chmod g+s:

# chmod g+s folder1

Zeigen Sie die Berechtigungen mit dem Befehl ls -ld an und notieren Sie sich das s in den Gruppenberechtigungen:

# ls -ld folder1
drwxrwsr-x 2 user1 group1 4096 2017-10-30 22:32 folder1

Alternativ können Sie dem Verzeichnismodus eine 2 voranstellen:

# chmod 2770 folder1

Was ist Sticky Bit in einem Verzeichnis

Wenn das Sticky-Bit für ein Verzeichnis gesetzt ist, können nur der Root-Benutzer, der Eigentümer des Verzeichnisses und der Eigentümer einer Datei Dateien in diesem Verzeichnis entfernen.

So setzen Sie das Sticky-Bit

Ein Beispiel für das Sticky-Bit ist das /tmp-Verzeichnis. Verwenden Sie den Befehl ls -ld /tmp, um die Berechtigungen anzuzeigen:

# ls -ld /tmp
drwxrwxrwt  24 root root  4096 2017-10-30 22:00 tmp

Das t am Ende symbolisiert, dass das Sticky-Bit gesetzt ist. Eine im /tmp-Verzeichnis erstellte Datei kann nur von ihrem Eigentümer oder dem Root-Benutzer entfernt werden. Führen Sie beispielsweise den folgenden Befehl aus, um das Sticky-Bit für den Ordner folder1 festzulegen:

# chmod a+t folder1

Alternativ können Sie dem Modus eines Verzeichnisses eine 1 voranstellen, um das Sticky-Bit zu setzen:

# chmod 1777 folder1

Die Berechtigungen sollten für den Eigentümer, die Gruppe und alle anderen in Verzeichnissen mit gesetztem Sticky-Bit gelesen, geschrieben und ausgeführt werden. Dadurch kann jeder in das Verzeichnis cd und Dateien erstellen.

Wie finde ich Dateien mit SUID/SGID, aber gesetzt

1. Um alle Dateien mit SUID aber gesetzt zu finden, verwenden Sie den folgenden Befehl:

# find / -perm +4000

2. Verwenden Sie den folgenden Befehl, um alle Dateien mit gesetztem SGID-Bit zu finden:

# find / -perm +2000

Sie können auch beide Befehle kombinieren, um sowohl SGID- als auch SUID-, aber Set-Dateien zu finden.

# find / -type f \\( -perm -4000 -o -perm -2000 \\) -exec ls -l {} \\;
Was ist SUID, SGID und Sticky Bit?
Linux / UNIX :So finden Sie Dateien, für die SUID/SGID festgelegt ist
Linux / UNIX :Beispiele für den Suchbefehl, um Dateien mit bestimmten Berechtigungen zu findenDas ultimative Linux-Interview Fragen:tauschen


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

  2. Top 30 Fragen und Antworten zu OpenStack-Interviews

  3. Was ist SUID, SGID und Sticky Bit?

  4. Linux-Interviewfragen – Sonderberechtigungen (SUID, SGID und Sticky Bit)

  5. Fragen im Vorstellungsgespräch:Linux Package Manager (RPM)

25 Fragen und Antworten zum Linux-Shell-Scripting-Interview

So stellen Sie Datum und Uhrzeit unter Linux ein

Spezielle Dateiberechtigungen unter Linux:SUID, GUID und Sticky Bit

Linux / UNIX :So finden Sie Dateien, für die SUID/SGID festgelegt ist

Linux-Interviewfragen – Grundlegende Datei- und Verzeichnisberechtigungen

Linux-Interviewfragen – Linux Printing (CUPS)