我在 ubuntu、Linux 中使用 Apache Web 服务器。我正在使用 CGI 编写 Web 应用程序。这是我的作品的路径。
WWW Dir -> /var/myproj/www/
Data Dir -> /var/myproj/data/
App Dir -> /usr/lib/cgi-bin/
Proj Dir -> /home/$USER/myproj/www/
有时我会通过我的 CGI 应用程序将文件从数据目录复制到 WWW 目录。我将从我的 CGI 应用程序读取、写入和更新位于数据目录中的数据。我的疑问是,我应该只通过 CGI 应用程序读取和写入位于 WWW 目录和数据目录中的文件。即使是任何本地用户也不应该读取和写入位于数据和 WWW 目录中的文件。
但是我使用 grunt 应用程序从我的 Proj 目录更新我的 WWW 目录。只有我的 CGI 应用程序和 Grunt 应用程序可以更新 WWW 和数据目录。
为此,我应该赋予什么所有权和访问模式?
答案1
使用专用的用户和组。
您可以让“数据”归“CGI 应用程序用户”所有,并将目录的权限设置为“700”,文件的权限设置为“600”。除了管理员和该用户之外,其他人都无法进入目录。他们也无法读取文件。
对于 grunt:您可以将该用户添加到与“CGI 应用程序用户”相同的组中。
为了写入“www”目录,请将这 2 个用户添加到拥有“www”的组。