我试图在CentOS 5系统上设置SVN,以便有几个人可以使用一个存储库。
我已经在/var/svnrepository创建了存储库。
我添加了一个subversion用户和组,使存储库的所有者递归化。
我递归地将权限设置为775。
我确保所有系统用户都在subversion组中。
我遇到的问题是,当我执行提交时,SVN显然会创建一个名为db/current的文件,它有我的用户名和组。所以说我的用户名是jimbo..。
-rwxrwxr-x 1 jimbo jimbo 11 Dec 2 01:09 current
在那之后,没有其他人可以检查
我有两个Linux系统,都在运行Debian压缩程序。(我认为)所涉及的内容的版本如下:
kernel: 2.6.32-5-xen-amd64
ii nfs-kernel-server 1:1.2.2-4squeeze2 support for NFS kernel server
ii libnfsidmap2 0.23-2 An nfs idmapping library
ii nfs-common
我在C中创建了一个setuid程序,可执行文件如下所示:
-r-s-r-s--- 1 root users 13073 Jun 15 21:56 server
我以userA/users的形式执行程序,并尝试将uid/gid设置为userB/otherUsers。setgid()在不允许操作的情况下失败。userA不是otherUsers的一部分,我如何才能改变有效的gid?
这里的编辑是我所做工作的一个小总结。我的C程序作为userA执行,将uid和gid设置为userB并创建一个文件。不像预期的那样,该文件属于组根,因为setgid()失败。
[userA@node uid]$ id
u
为了允许对特定组的写访问,共享文件/文件夹可以默认为该组中的每个人写,并且拥有组可以通过设置此目录上的setgid位自动固定到拥有父目录的组:chmod g+s our_shared_directory,否则将使用文件创建者的默认组(通常与用户名相同)。
以上报价来自Arch Linux Wiki。我不清楚如何创建共享的文件和文件夹。假设用户A和B都属于一个公共组G,那么现在我如何创建our_shared_directory,这样在默认情况下G中的每个人都有写权限?
第二,为什么我需要setgid on our_shared_directory?为什么我需要将拥有的组固定到our_shared