什么是使用glibc创建一个包含setgid的目录的最佳方式

什么是使用glibc创建一个包含setgid的目录的最佳方式

问题描述:

需要创建一个包含setgid位的目录。 通常以下工作:什么是使用glibc创建一个包含setgid的目录的最佳方式

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

但是有一个机会,设置setgid位先于其他进程可以写的东西到目录中。

有没有办法创建一个setgid位已经设置的目录,或者什么是实现这一目标的最佳方式?

如果您想阻止每个人在调用chmod之前使用该目录,您可以创建(mkdir)具有权限000的目录,并仅将它们与setgid位一起设置。

+2

我相信一个根拥有的进程仍然可以写入一个没有权限的目录。 –

+0

好点。但是,如果有问题的其他进程拥有root权限,那么是否需要setgid值得怀疑。 – mrks