最近有人请我帮助一位朋友解决他们遇到的一些服务器和网站问题,其实不是什么大问题。
然而我发现自从他们获得 VPS 那天起,所有事情,包括上传文件、安装 wordpress、所有 FTP,都是通过 root 完成的。
所以我想知道修复所有问题并使其更安全的最佳方法是什么?
我之所以问这个问题,是因为我认为它不仅仅是让一个新的非 root 用户用于日常事务?因为一切都已经设置好了,而且每个文件的所有权都已经确定了。
答案1
这真是一团糟。
- 我认为您应该创建三个用户:一个用于日常使用(我们称之为
user
,一个用于 Web 服务器(通常在安装 Apache 时创建一个,通常称为www-data
),一个用于 FTP 服务器(称之为ftp
),所有用户都具有相同名称的附带组。 - 将要拥有的 Web 目录添加
user
到www-data
和ftp
组中。并将其设为和( )。对 FTP 上传目录执行相同操作,但使用。chown
user:www-data
setgid
setuid
chmod ug+s
user:ftp
- 如果 FTP 上传和 Wordpress 媒体目录相同,请创建第三个组,其中包含所有三个用户(将其命名为
upload
,并 chown 该目录)user:upload
。 - Web 服务器通常以 的身份运行
www-data
,除非他们故意更改它。您必须将 FTP 服务器(通常vsftpd
)配置为以ftp
用户身份运行。 - 确保所有相关目录都
setgid
继承了组权限。您也可以这样做setuid
。(请注意,仅限目录!) - 限制日常事务
user
。确保www-data
没有不该有的写入权限。
除此之外,我真的没有资格提供安全建议。