配置:Debian Lenny Apache2
我已将 SSH 配置为“ PermitRootLogin no ”,并创建了另一个用户登录并执行“ su ”。
现在我想通过 SFTP 与例如 Filezilla 连接。我可以通过创建一个只能访问“ /var/www ”的用户来做到这一点(我所有的网站都位于那里,例如“ /var/www/domain.com ”)
但这不是有点挫败使用“ su ”的想法吗?当然,在这种情况下, “ su ”会保护其他所有内容,但“ /var/www ”不会获得额外的保护。我首先创建“ su ”设置的原因是为了更好地保护我的网站。
顺便说一句,我是唯一一个将东西上传到服务器的人。
我错过了什么?
您缺少的是了解通过 ssh 登录时 su 的含义以及以加密方式传输文件的含义。你在这里混淆了几个想法。
通过 ssh 拒绝 root 登录,您已经做了正确的事情。这将限制暴力攻击并防止您(因为您需要通过使用 sudo 或 su 来提升您的权限)犯下不必要的错误。
通过 sftp 访问并不会为您提供与 su 通过 ssh 相同的权限。它保证您的密码不会被明文发送,并且您的文件传输是安全的。
我将在这里四处走动,并建议您搜索 linux 文件权限(针对用户和组)。了解这些将帮助您保护您的网络服务器,并将帮助您理解为什么拥有可以 su 的用户并不意味着您的服务器本质上是不安全的。
这是我在客户端和服务器中的最佳配置的纲要:
http://wiki.gilug.org/index.php/How_to_mount_SFTP_accesses
(特别注意用户和权限)
您可以使用扩展 ACL仅允许您的用户对目录进行写访问(使用
setfacl
)。这还具有易于向其添加未来用户的好处。或者,您可以使目录归您的 UID 的组所有,然后使其组可写,但我认为这不像上面那样干净,如果您的网站需要编写,您可能会遇到问题作为(大概)Apache用户的任何东西。