我应该如何在我运行FTP + Nginx的专用服务器上以最安全的方式设置权限? 我希望FTP能够读/写文件,我希望Nginx能够读/写相同的文件。 我应该在ProFTPd中设置用户掩码来将文件写入nginx用户吗?
我应该将目录权限设置为700,文件权限设置为600(假设它们属于nginx用户和组)?
任何信息表示赞赏
如果您的Web服务器可以写入所有文件,那么该网站不一定安全; 对nginx,PHP(或者Rails或者其他任何堆栈)或者你正在使用的web应用程序的任何(已知或者未知的)攻击都意味着攻击者可以写入所有的东西。
最安全的方法是让所有的文件都由用户以外的其他用户拥有,而这些用户并不是web服务器(和PHP等)运行的用户,而只是为了使应用程序能够正常工作而使其可写,如用户上传目录。
例如,在我的web服务器上,nginx以用户nginx身份运行,php-fpm也以用户nginx身份运行,所有文件都由我自己的用户帐户拥有,除了由nginx拥有的上载目录以便我的web应用程序file uploadfunction的工作。
每当我使用SFTP,我用我自己的用户帐户login,我su到根来更改这样的上传目录(如WordPress /wp-content/uploads目录)的所有权。 大多数Web应用程序在安装过程中会在文件或目录需要写入时发出警告。