我正在尝试启动并运行一些内容管理系统。但我对它们的安全性感到担忧
1)请参阅以下链接 http://www.dokeos.com/doc/installation_guide.html第 2 部分说以下目录需要对每个人都可读、可写和可执行:
- dokeos/main/inc/conf/
- dokeos/main/上传/用户/
- dokeos/main/默认课程文档/
- dokeos/存档/
- dokeos/课程/
- dokeos/主页/
我对目录对每个人都可读、可写、可执行的想法不太满意。
2)http://doc.claroline.net/en/index.php/Install_general_information
文件夹权限部分指出
“如果您不想对整个文件夹设置写权限(出于安全原因建议这样做),请授予 Web 服务器用户对这些文件夹的写权限:”
这是一个推荐的做法吗?
3)另外,另一个 LMS(学习管理系统)在安装时要求为每个人提供一些可写和可执行的文件夹,这里有一个链接 http://atutor.ca/atutor/docs/installation.php 安装时我收到一条消息
“The directory you specify must be created if it does not already exist
并可由 Web 服务器写入。在 Unix 计算机上发出命令 chmod a+rwx content,此外路径不能包含任何符号链接。chmod a+rwx /var/www/atutor/content”
4) 另一个 LMS docebolms 请求授予写入权限
files/doceboCore/photo
files/common/users
files/doceboLms/course
files/doceboLms/forum
files/doceboLms/item
files/doceboLms/message
files/doceboLms/project
files/doceboLms/scorm
files/doceboLms/test
我检查了它的文档 http://www.docebo.org/doceboCms/index.php?mn=docs&op=docsπ=5_4&folder=7 但没有什么帮助。
我完全不认同这些学习管理系统所说的授予读取、写入和执行权限的想法。请告诉我你们有什么看法?在这种情况下,最佳做法是什么?
答案1
您的担心是正确的,太多的应用程序供应商会告诉您需要向每个用户授予完全权限以避免出现问题。他们这样做是为了最大限度地减少支持呼叫,而不是最大限度地提高安全性。
Web 服务器帐户需要对某些目录具有写入权限以存储上传或生成的文件,这确实有道理。而且,Unix 要求对目录具有执行权限,以便用户枚举目录内容,因此这也是必要的。
最终,您想要的是运行 Web 服务器进程的用户帐户(www-data
如果您在 Ubuntu 上使用打包的 Web 服务器,则最有可能)拥有相关文件夹,然后标准权限 755(rwxr-xr-x)就足够了,或者如果您与其他不受信任的用户共享系统,您需要 700(rwx------)。
因此,在您的第一个示例中,假设这些目录已经存在,您需要执行以下操作:
$ sudo chown -R www-data:www-data dokeos/main/inc/conf/ dokeos/main/upload/users/ dokeos/main/default_course_document/ dokeos/archive/ dokeos/courses/ dokeos/home/
$ sudo chmod 755 dokeos/main/inc/conf/ dokeos/main/upload/users/ dokeos/main/default_course_document/ dokeos/archive/ dokeos/courses/ dokeos/home/
同样,如果您使用的是共享系统,您可能希望将第二行中的“755”替换为“700”。如果您知道这www-data
不是运行 Web 服务器的用户,请用正确的值替换该项目。您也可以在第二个系统的目录上运行相同的两个命令。在这两种情况下,写访问权限可能是必要的,但仅限于运行 Web 服务器的单个用户,并不适合所有人。
祝你好运。