
私にはプリンターショップのオーナーであるクライアントがいます。私はクライアントのために、印刷したい大きなファイルをクライアントにドロップできる FTP サーバーを設定しました。
私はFTPユーザーをいくつか作成しました。彼にはプレミアムクライアントと通常のクライアントがいます。通常のクライアントにはFTPユーザーを使用するように指示されています。クライアント所有者には、次の権限を持つ「clients」というフォルダーがあります。
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 ドロップボックスをどのように構成すればよいかご存知ですか?
答え1
vsftpd.confでlocal_umaskを設定してみてください。
ローカル_umask = 0002
また、file_open_mode も検討してください。これは、この値に加えて umask が適用され、アップロードされたファイルが作成される権限を制御します。
答え2
ファイル/ディレクトリXを削除(正確には「リンク解除」)するには、ユーザーはXの所有権やXへの書き込み権限を持っている必要はありませんが、Xへの書き込み権限を持っている必要があります。Xの親ディレクトリ。
あなたの場合、printshopowner はフォルダー A を削除 (rmdir) できますが、フォルダー A が空の場合のみです。ユーザー printshopowner はフォルダー A 内のものを削除できません (書き込み権限がありません)。クライアントの umask を 002 に変更すると、フォルダー A が "drwxrwxr-x" になり、printshopowner はそれを削除できるようになります (printshopowner は printshopowner とクライアントの両方のグループに割り当てられていると想定しています)。FTP サーバーで umask を変更する方法がわかりません。