使用 FTP 删除文件夹

使用 FTP 删除文件夹

我有一个客户,他是一家印刷店的老板。我为他配置了一个 FTP 服务器,客户可以将他们想要打印的大文件发送到这个服务器。

我创建了几个 FTP 用户。他有一些高级客户和一些普通客户。普通客户被告知使用 FTP 用户客户。所有者有一个名为客户端的文件夹,具有以下权限。

printshopowner# ls -la
drwx-----x 9 printshopowner printshopowner   4096 Aug 17 08:07 .
drwx-wx-wx 9 printshopowner clients          4096 Jan 19 10:24 clients
drwxrwx--- 2 premiumuser    printshopowner 4096 Jan 19 08:13 premiumuser

一切正常。客户端可以上传文件,而看不到其他客户端的文件。问题是当客户端上传文件夹时。FTP 用户印刷店老板 无法删除这些文件夹。

[printshopowner/clients]# ls -la
drwx-wx-wx 9 printshopowner clientes         4096 Jan 19 10:24 .
drwx-----x 9 printshopowner printshopowner   4096 Aug 17 08:07 ..
drwxr-xr-x 3 clients        clients          4096 Dec  3 11:57 folderA

您知道我应该如何配置 FTP dropbox 来实现所需的功能吗?

答案1

您可以尝试在 vsftpd.conf 中设置 local_umask

local_umask = 0002

还可以考虑查看 file_open_mode。它控制上传文件的创建权限,umask 将应用在此值之上。

答案2

要删除(或者正确地说是“取消链接”)文件/目录 X,用户不需要拥有 X 的所有权,也不需要对 X 有写权限,但他们必须对X 的父母目录。

在您的例子中,printshopowner 可以删除 (rmdir) 文件夹 A,但前提是文件夹 A 为空。用户 printshopowner 无法删除文件夹 A 中的任何内容(他没有写入权限)。如果您将客户端的 umask 更改为 002,他将使文件夹 A 成为“drwxrwxr-x”,printshopowner 将能够删除它(我假设 printshopowner 被分配到 printshopowner 和客户端两个组)。不知道如何在 FTP 服务器中更改 umask。

相关内容