Oracle Linux 6.5 中带有共享文件夹的 VSFTPD 配置

Oracle Linux 6.5 中带有共享文件夹的 VSFTPD 配置

我正在尝试配置 VSFTPD,让每个用户都有一个 PublicFTP 目录,因为所有用户都已 chroot,但他们仍然需要一个中央 FTP 目录。我已在每个本地系统用户中创建了此目录,并创建了具有“Developers”组所有权的共享目录/var/www/public_ftp,并 chmodded 为 775。下一步是在/etc/fstab.我什至重新启动了服务器和 vsftpd 服务。

当我从 Developers 组登录到用户并在其 PublicFTP 目录中创建文件时,该文件将被创建并显示在/var/www/public_ftp;就像在任何其他用户的 PublicFTP 目录中一样。现在,如果我通过 FTP 登录并尝试将文件上传到 PublicFTP 文件夹,我会收到权限被拒绝的消息。

drwxrwxr-x.  2 root    Developers 4096 Mar 28 10:49 PublicFTP    /home/<user>/PublicFTP
drwxrwxr-x.  2 root    Developers 4096 Mar 28 10:49 public_ftp   /var/www/public_ftp

groupmems -g Developers --list > 列表包含 .

/etc/vsftpd/vsftpd.conf:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
xferlog_std_format=YES
connect_from_port_20=YES
ascii_upload_enable=YES
ascii_download_enable=YES
ls_recurse_enable=YES
listen=YES
pam_service_name=vsftpd
userlist_anble=YES
tcp_wrappers=YES
use_localtime=YES
chroot_local_user=YES
/etc/fstab:
/var/www/public_ftp    /home/<user>/PublicFTP    none    bind    0 0

示例场景

  1. 登录服务器并触摸文件。

    $ cd /home/<user>/PublicFTP
    $ touch Hi.txt
    $ ls -la
    -rw-r--r--.  1 <user> users 0 Mar 28 11:05 Hi.txt
    
  2. 在服务器端确认。

    $ cd /var/www/public_ftp
    $ ls -la
    -rw-r--r--.  1 <user> users 0 Mar 28 11:05 Hi.txt
    
  3. 从客户端计算机打开一些 FTP 应用程序并连接到 FTP 服务器并登录。

  4. 导航到 PublicFTP 目录为空。有点有趣,因为在服务器上它清晰可见。

  5. 尝试复制文件。将文件复制到 FTP 服务器时发生错误。确保您有权将文件放到服务器上。

    Details:
    200 Switching to binary mode.
    227 Entering Passive mode (10,232,118,108,90,133).
    553 Could not create file.
    
  6. 日志文件的内容:

    Mon Mar 31 09:52:07 2014 [pid 17629] [<user>] OK LOGIN: Client "xxx.xxx.xxx.xxx"
    Mon Mar 31 09:52:07 2014 [pid 17634] [<user>] FAIL DELETE: Client "xxx.xxx.xxx.xxx", "/PublicFTP/proxy.txt"
    

相关内容