我想加强 Web 服务器的安全性,并为文件夹维护 750 个,为文件维护 640 个 - 即使在任何情况下、任何时候都进行复制时也是如此。
到目前为止,我的工作进展顺利。这就是我所做的:
sudo chown -R kilomike ./html
(将所有者设置为我的用户,唯一用户)
sudo chgrp -R apache ./html
(将组设置为apache,这样它就可以工作)
sudo chmod g+s ./html
(设置组 ID,以便新文件/文件夹继承该组)
sudo setfacl -d -m g::rx ./html
(只允许组读取和执行[应该是安全的,因为使用触摸和其他方法创建文件不会设置执行位])
sudo setfacl -d -m o::- ./html
(不允许其他组看)
这在大多数情况下都非常有效。但是,我只知道当我将文件夹或文件复制到 /var/www/html/* 时,我会忘记更新其权限。
我想要的是文件夹 750,文件 640,这是我尝试使用 setfacl 实现的。尽管从技术上讲我将其设置为 750(组为 rx,其他为 ---),但我认为当我创建 FILE 时,它不会(希望)为所有者或组应用执行位。这似乎有效,正如ls -l
或getfacl
。
我的问题是,当我复制由其他用户创建的或从网络下载的文件夹时,它将保留所有者、组和其他权限。我不希望这样,因为我希望 /var/www/html 文件夹对其中的每个文件和文件夹具有相同的权限。
有谁知道该怎么做?是完成incron
工作的最佳方法(例如更改 /var/www/html 或其中的任何文件/文件夹,然后“刷新”所有内容的权限),还是有更好的方法?