J'ai remarqué que dans Ubuntu, mktemp permet à un utilisateur de créer des fichiers temporaires dans un répertoire, même si les autorisations d'écriture ne sont pas autorisées pour cet utilisateur. Je m'attendais donc à ce que les autorisations sur mktemp lisent quelque chose comme ceci, donnant à l'utilisateur des privilèges root temporaires pendant son exécution:
-rwsr-xr-x 1 root root 35392 Nov 19 2012 mktemp
mais au lieu de cela, ils lisent quelque chose comme ceci:
-rwxr-xr-x 1 root root 35392 Nov 19 2012 mktemp
Là où je pensais qu'il y avait un 's', il y a un 'x', ce qui signifie que mktemp ne fonctionne pas avec les privilèges root. Comment mktemp peut-il créer des fichiers temporaires dans un répertoire sans en avoir l’autorisation?
/tmp
a généralement le peu collant (t
) ensemble:drwxrwxrwt root root 0 May 24 23:52 /tmp
. C'est à dire. tout le monde peut y créer des fichiers / répertoires, mais ne peut pas supprimer / renommer des fichiers appartenant à quelqu'un d'autre - même si c'est le cas. officiellement monde en écriture comme indiqué parls
. Pour plus d'informations, voir par exemple en.wikipedia.org/wiki/Sticky_bit