2017-08-10 5 views
1

Un répertoire avec un bit setgid doit être créé. Normalement, les travaux suivants:Quelle est la meilleure façon de créer un répertoire avec setgid en utilisant la glibc

mkdir("/dummy", 755); 
chmod("/dummy", 2755); 

Mais il y a une chance que d'autres processus peut écrire quelque chose dans le répertoire avant que le bit setgid a été mis.

Existe-t-il un moyen de créer un répertoire avec le bit setgid déjà défini ou quel est le meilleur moyen d'y parvenir?

Répondre

2

Si vous voulez empêcher tout le monde d'utiliser le répertoire avant d'appeler chmod, vous pouvez créer (mkdir) le répertoire avec les droits 000 et ne les définir qu'avec le bit setgid.

+2

Je crois qu'un processus appartenant à la racine peut toujours écrire dans un répertoire sans autorisations. –

+0

Bon point. Cependant, si l'autre processus en question a des droits root, il est douteux que setgid soit nécessaire. – mrks