Sono in esecuzione questo piccolo script python sia su Linux e Solaris come utente non privilegiato:bit setuid su script python: Linux vs Solaris
#!/usr/bin/python
import os
print 'uid,euid =',os.getuid(),os.geteuid()
Prima di eseguire, il bit setuid è impostato sulla sceneggiatura (non su interprete Python):
chown root:myusergrp getuid.py
chmod 4750 getuid.py
in Solaris, l'UID effettivo è impostato a causa del bit setuid:
uid,euid = 10002 0
Ma non su Linux:
uid,euid = 10002 10002
Nota la versione 2.6 di Python è sia per Solaris e Linux
E 'possibe avere Python Linux a lavorare come Python Solaris?
Solaris è basato su SVR4, che come note di collegamento alle FAQ, utilizza metodi più sicuri rispetto ai precedenti Unix per gestire l'avvio di script setuid. – alanc
Punto eccellente. Ho modificato la risposta per riflettere questo. –
E se il tuo script python ha bisogno di essere avviato come utente non-root, e quindi suid durante l'esecuzione ad un certo punto? –