Buonasera a tutti,
Vorrei chiedere alla comunità qual'è il principio di funzionamento specifico del permesso setuid.
Da quello che ho capito, funziona in questo modo: In un file io posso specificare proprietario, gruppo e permessi per chiunque possa in qualche modo vedere ogni singolo file del sistema.
Se il permesso setuid è impostato, questo vuol dire che un utente può trattare quel particolare file come se lui fosse il proprietario di quel file e quindi comportarsi, nei confronti di quel file, come se fosse il proprietario.
La domanda è: quali criteri deve rispettare un generico utente per poter acceder a questo file con setuid impostato? Ovvero, un qualunque utente con un account nel sistema potrà sempre accedere a quel file con il setuid impostato, oppure deve rispettare dei criteri specifici?
Io avevo pensato che un utente, per poter trattare un file con i permessi che gli garantirebbe il setuid, deve comunque essere parte quanto meno del gruppo specificato nel gruppo del file stesso, ma non ho trovato riscontri da nessuna parte.
Qualcuno di voi mi sa chiarire il dubbio?
Grazie mille !!
Principio di funzionamento di setuid?
- DoctorStrange
- Imperturbabile Insigne

- Messaggi: 2933
- Iscrizione: mercoledì 14 ottobre 2015, 9:33
- Desktop: Gnome3
- Distribuzione: Ubuntu 22.04 LTS Jammy Jellyfish
- Sesso: Maschile
- Località: Roma, Italia
- Filoteo
- Entusiasta Emergente

- Messaggi: 1343
- Iscrizione: venerdì 28 agosto 2015, 9:38
- Desktop: Gnome
- Distribuzione: Arch Linux
Re: Principio di funzionamento di setuid?
No, semplicemente il bit setuid fa in modo che un eseguibile parta con i permessi del proprietario del file piuttosto che con i permessi del utente che lo esegue.Se il permesso setuid è impostato, questo vuol dire che un utente può trattare quel particolare file come se lui fosse il proprietario di quel file e quindi comportarsi, nei confronti di quel file, come se fosse il proprietario.
Per esempio, per cambiare la password del tuo utente, usi il programma passwd che salva le passwowd (sotto forma di hash) nel file /etc/shadow. Quest’ultimo è leggibile e scrivibile solo da root perché gli utenti non devono poter vedere gli hash degli altri utenti (né tanto meno quello dell’utente root). Di conseguenza per poter comunque cambiare la password il programma passwd, oltre a proprietario e gruppo root, ha il bit setuid. In questo modo quando l’utente invoca passwd il programma viene eseguito come root potendo apportare la modifica.
Come corollario, il bit setuid va maneggiato con cautela: una vulnerabilità in passwd potrebbe permetterti di ottenere i privilegi di root. Per lo stesso motivo, non puoi impostare il bit setuid sugli script.
- DoctorStrange
- Imperturbabile Insigne

- Messaggi: 2933
- Iscrizione: mercoledì 14 ottobre 2015, 9:33
- Desktop: Gnome3
- Distribuzione: Ubuntu 22.04 LTS Jammy Jellyfish
- Sesso: Maschile
- Località: Roma, Italia
Re: Principio di funzionamento di setuid?
Ti ringrazio. Tutto chiaro, ma ti chiedo conferma di questo che hai scritto:
Però forse tui fai riferimento ad un particolare tipo di script?
Ho provato ad impostare il setuid su un mio script personale, realizzato con il mio utente regolare (non root) e mi sembra che abbia impostato correttamente il setuid. Viene contrassegnato con "-rwsr-xr-x".Filoteo ha scritto: non puoi impostare il bit setuid sugli script.
Però forse tui fai riferimento ad un particolare tipo di script?
- DoctorStrange
- Imperturbabile Insigne

- Messaggi: 2933
- Iscrizione: mercoledì 14 ottobre 2015, 9:33
- Desktop: Gnome3
- Distribuzione: Ubuntu 22.04 LTS Jammy Jellyfish
- Sesso: Maschile
- Località: Roma, Italia
Re: Principio di funzionamento di setuid?
Come non detto. Mi sono informato ed avevi ragione. Niente suid sugli script.
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 12 ospiti