我有一台 CentOS 服务器,并按照本文安装了 vsftpd 服务器: http://www.cyberciti.biz/tips/centos-redhat-vsftpd-ftp-with-virtual-users.html
我已经创建了一个虚拟用户,但在 vsftpd.conf 中我执行以下操作:
local_root=/var/www/html
在更改 Web 根目录之后,chown -R ftp:ftp /var/www/html
权限如下:
drwxrwsr-x 4 ftp ftp 4096 Feb 22 17:28 .
drwxr-xr-x 10 root root 4096 Oct 21 00:05 ..
drwxr-sr-x 2 root ftp 4096 Feb 22 17:28 fromconsole
-rwxrwsr-x 1 ftp ftp 30 Feb 19 20:02 index.html
drwxrwsr-x 3 ftp ftp 4096 Feb 22 17:19 fromftpclient
如您所见,fromconsole
是使用 创建的文件夹mkdir
,fromftpclient
是使用 FileZilla 创建的文件夹
当我从 FTP 客户端(FileZilla)上传时,文件夹具有 ftp 所有权,但如果我从控制台创建文件夹/文件,则无法通过 FTP 客户端访问它们。
我的问题是 - 使用 FTP 帐户和 apache web 根目录执行此操作的最佳做法是什么?
答案1
对 apache 来说,最重要的是它能够读取文件。
只要“其他”组对文件具有读取权限,对目录具有读取+执行权限,apache 就能够提供内容。
至于通过 FTP 访问文件和以 root 身份创建文件之间的区别 - 是的,显然是有区别的,因为你创建了它以 root 身份。
那么,不要这么做。