GNU/Linux >> Linux Esercitazione >  >> Linux

Domande per interviste su Linux – Permessi speciali (SUID, SGID e sticky bit)

Esistono due autorizzazioni speciali che possono essere impostate sui file eseguibili:Imposta ID utente (setuid) e Imposta ID gruppo (sgid). Queste autorizzazioni consentono di eseguire il file in esecuzione con i privilegi del proprietario o del gruppo. Allo stesso modo, ci sono due permessi speciali per le directory:il bit sticky e il bit setgid. Di seguito sono riportate alcune delle domande più frequenti per le interviste su Linux sui permessi speciali come SUID, SGID e sticky bit.

Cos'è Imposta ID utente (setuid)?

SUID è un'autorizzazione speciale assegnata a un file. Queste autorizzazioni consentono di eseguire il file in esecuzione con i privilegi del proprietario. Ad esempio, se un file era di proprietà dell'utente root e ha il bit setuid impostato, indipendentemente da chi ha eseguito il file, verrà sempre eseguito con i privilegi dell'utente root.

Come impostare il bit SUID su un file?

Devi essere il proprietario del file o l'utente root per impostare il bit setuid. Eseguire il comando seguente per impostare il bit setuid:

# chmod u+s file1

Visualizza i permessi usando il comando ls -l:

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

Nota la S maiuscola . Ciò significa che non ci sono autorizzazioni di esecuzione. Esegui il comando seguente per aggiungere le autorizzazioni di esecuzione al file file1, annotando le s minuscole .

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

Si noti la s minuscola. Ciò significa che ci sono autorizzazioni di esecuzione.

In alternativa, puoi impostare il bit setuid usando il metodo numerico anteponendo un 4 alla modalità. Ad esempio, per impostare il bit setuid, leggere, scrivere ed eseguire i permessi per il proprietario del file file1, eseguire il comando seguente:

# chmod 4700 file1

Che cos'è Imposta ID gruppo (setgid) per i file?

Quando il bit Imposta ID gruppo è impostato, l'eseguibile viene eseguito con l'autorizzazione del gruppo. Ad esempio, se un file era di proprietà del gruppo di utenti, indipendentemente da chi l'ha eseguito, verrà sempre eseguito con l'autorizzazione del gruppo di utenti.

Come impostare il bit SGID per i file?

Eseguire il comando seguente per impostare il bit setgid sul file file1:

# chmod g+s
Nota :Sia i bit setuid che setgid vengono impostati utilizzando il simbolo s. Il setgid è rappresentato allo stesso modo del bit setuid, tranne che nella sezione del gruppo dei permessi.

Eseguire il comando seguente come root per impostare il bit setgid e leggere, scrivere ed eseguire i permessi per il proprietario del file file1:

# chmod 2700 file1

Il setgid è rappresentato allo stesso modo del bit setuid, tranne che nella sezione dei permessi di gruppo:

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

Usa il comando chmod u+s per impostare il bit setuid. Usa il comando chmod g+s per impostare il bit setgid.

Che cos'è Imposta i permessi dell'ID gruppo per le directory

Quando il bit setgid è impostato su una directory, tutti i file creati all'interno di tale directory ereditano la proprietà del gruppo di quella directory. Ad esempio, la cartella folder1 è di proprietà dell'utente user1 e del gruppo group1:

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

I file creati nella cartella folder1 erediteranno l'appartenenza al gruppo group1:

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

Come impostare il bit SGID per le directory?

Per impostare il bit setgid su una directory, usa il comando chmod g+s:

# chmod g+s folder1

Visualizza le autorizzazioni utilizzando il comando ls -ld, annotando le s nelle autorizzazioni di gruppo:

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

In alternativa, anteponi un 2 alla modalità directory:

# chmod 2770 folder1

Cos'è un bit appiccicoso in una directory

Quando lo sticky bit è impostato su una directory, solo l'utente root, il proprietario della directory e il proprietario di un file possono rimuovere i file all'interno di tale directory.

Come impostare il bit appiccicoso

Un esempio di sticky bit è la directory /tmp. Utilizzare il comando ls -ld /tmp per visualizzare le autorizzazioni:

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

La t alla fine simboleggia che il bit appiccicoso è impostato. Un file creato nella directory /tmp può essere rimosso solo dal suo proprietario o dall'utente root. Ad esempio, esegui il comando seguente per impostare il bit permanente nella cartella folder1:

# chmod a+t folder1

In alternativa, anteponi un 1 alla modalità di una directory per impostare il bit permanente:

# chmod 1777 folder1

Le autorizzazioni devono essere lette, scritte ed eseguite per il proprietario, il gruppo e tutti gli altri, su directory in cui è impostato il bit permanente. Ciò consente a chiunque di accedere alla directory e creare file.

come trovare file con SUID/SGID ma impostati

1. Per trovare tutti i file con SUID ma impostati, utilizzare il comando seguente:

# find / -perm +4000

2. Per trovare tutti i file con il bit SGID impostato, utilizzare il comando seguente:

# find / -perm +2000

Puoi anche combinare entrambi i comandi per trovare sia SGID che SUID ma impostare file.

# find / -type f \\( -perm -4000 -o -perm -2000 \\) -exec ls -l {} \\;
Che cos'è SUID, SGID e Sticky bit?
Linux/UNIX:come trovare file con SUID/SGID impostati
Linux/UNIX:esempi di comando find per trovare file con set di autorizzazioni specificiL'intervista definitiva su Linux domande:scambia


Linux
  1. Cheat sheet per utenti e autorizzazioni Linux

  2. Le 30 migliori domande e risposte per le interviste OpenStack

  3. Le 25 migliori domande e risposte per le interviste su Linux

  4. 20 Domande e risposte sull'intervista Postfix

  5. Linux / UNIX:come trovare i file con SUID/SGID impostato

25 Domande e risposte sull'intervista sugli script della shell di Linux

Come impostare data e ora su Linux

Permessi speciali per i file in Linux:SUID, GUID e Sticky Bit

UNIX / Linux:come utilizzare Sticky Bit su directory e file

Che cos'è SUID, SGID e Sticky bit?

Domande per l'intervista:Linux Package Manager (RPM)