我最近在博客上看到,默认情况下,Linux 上的 wget 是 750,因此只有 root 才能执行它。我想允许用户使用 wget 并将其更改为 755,但我在网上看到,这是一个很大的安全风险。
答案1
将权限设置为 755 不会带来安全风险。安全风险在于,如果您安装的软件存在错误(例如博客软件或其他动态网站),恶意人员可能会使用 wget 将恶意软件下载到您的服务器。
我建议您使用类似 grsecurity/rsbac、selinux 等的东西,或者为了简单起见,只需使用正确的权限。
创建一个组“wget”。执行 chgrp wget /usr/bin/wget。将 chmod 设置为 750。并将每个允许执行 wget 的用户放入 wget 组。
但不要将服务/守护进程用户放入该组(如 apache、mysql 等)。
答案2
在 CentOS 5,6 和 Ubuntu(各种)系统上,我必须手动 wget 具有 755 个权限,因此 750 不是所有 Linux 发行版的默认值。
至于安全风险,wget 将允许用户下载任意文件,但很多其他标准实用程序也将如此。
答案3
当有人想进行代码注入时,可以使用 wget 下载文件。wget 本身没有问题,但网站存在漏洞,允许它运行。
这是通过模糊性实现的安全性,并且 Web 应用程序应该使用 SELinux、AppArmor 和 IPTables 进行保护,这样就不可能下载文件,因为人们可以使用 PHP 函数或其他可以上传到服务器的软件来启动下载。