组和符号链接,安全吗?

组和符号链接,安全吗?

我试图在两个网站上提供类似的内容,但不想每个文件都有两个,尤其是当它们不断增长时。

基础知识,我正在运行 CentOS,带有 cPanel。

执行以下操作是否安全,我有文件夹 downloads1

/home/user1/www/downloads1/

我有用户2,

我可以创建一个组 -groupadd sharedfiles 将两个用户都添加到该组中:

useradd -g sharedfiles user1
useradd -g sharedfiles user2 

然后chown -r -v user1:sharedfiles downloads1/

我想要的用户 2

/主页/用户2/www/下载1

但我希望它是一个符号链接,例如

ln "downloads1" "/home/user1/www/downloads1/"

lrwxrwxrwx 1 user2 sharedfiles   11 May  9 14:20 downloads1 -> /home/user1/www/downloads1/

这是一种安全的做法吗?或者,如果我希望它们都能够共享文件以通过 apache 进行分发,是否有更好的方法。这样做有什么缺点吗?在此先感谢您对此的任何启发。我不能 100% 确定这应该放在这里还是放在 serverfault 上。

答案1

downloads1最安全的方法是在主目录之外创建并创建指向外部位置的符号链接:

mv /home/user1/www/downloads1/ /shared/downloads1
chown -r -v :sharedfiles /shared/downloads1/
ln -s /shared/downloads1 /home/user1/www/downloads1
ln -s /shared/downloads1 /home/user2/www/downloads1

你可能还想确保权限位已适当设置。如果该sharedfiles组应具有与所有其他组不同的访问权限,您可能需要设置设置gid位同样,新创建的文件仍保留sharedfiles组成员身份:

chmod 2776 /shared/downloads1 # For shared writing

如果一个用户有写入权限而另一个用户没有,您可以这样做:

chown user1 /shared/downloads1
chmod 766 /shared/downloads1 # For owner writing only

相关内容