この質問を何度も受けましたが、解決策が見つからないことを知っています。
だから私はクライアントとしてvsftpd
and を使います。FileZilla
存在する/var/www/
drwxrwsr-x+ 8 myuser ftpusers 4.0K Sep 2 10:37 html
存在する/var/www/html/
drwxrwxrwx 3 myuser ftpusers 4.0K Sep 2 10:38 directory
ディレクトリを所有していますが、削除できません。
FileZillaのログによると
rmdir /www/html/directory: failure
私は成功せずにHTMLフォルダで777を試しました。コマンドラインでのみ実行されますが。
Pythonスクリプトをからに変更した後に問題がなくなったようですos.mkdir
。os.system("mkdir")
しかし、誰かが私に手がかりを与えることができるかどうか疑問に思います。
/var/www$ getfacl html
# file: html
# owner: myuser
# group: ftpusers
user::rwx
group::rwx
group:admin:rwx
group:synchronizer:rwx
mask::rwx
other::--x
答え1
あなたのディレクトリのリストに
drwxrwsr-x+ 8 myuser ftpusers 4.0K Sep 2 10:37 html
「+」は存在することを意味します。拡張権限html
ディレクトリに。ランタイム呼び出し(たとえば、os.mkdir
シェルコマンドの代わりに)を使用している場合は、どちらos.system
もまず次のように確認できます。access
このディレクトリを削除できるかどうかは、OSによって決まります。
Debian Wiki特権この可能性は次のように述べられている。
最後の列は
+
シンボル。今はディレクトリを一覧表示するときにそれを見る可能性はありませんが(空白のように見えます)、これは拡張アクセスルールが適用されるという意味です。ファイルの実際の権限は、ファイルアクセスモードで指定されたものではありません。- このガイドの下でACLについて読むことができます。
問題は、(たとえば)ACLが特定のグループIDで実行されているエントリ(ftpプロセスが独自のグループで実行されている場合)の削除を防ぐこと、またはftpデーモンが別のグループで実行されているかどうかをアクセスチェックで確認できることです。実際のユーザー。
追加資料: