ローカルユーザーがvsftpを介してサーバーにファイルをアップロードすると、ファイル権限に問題が発生しました。
ファイルにすべての766のアクセス許可を付与する必要がありました。何度も試行錯誤した結果、次のように設定する必要があることがわかりました。
local_umask=011
file_open_mode=0777
しかし、なぜこれが766のアクセス許可になるのかはわかりません。誰かがこれを説明できますか?
vsftpddaemeonは、ファイル権限を777として作成します。それから、local_umask
(11)が減算されます。 umaskは基本的に、ユーザーに付与したくない権限を削除します。これにより、ユーザーのファイル権限が766に設定されます。
詳細については、この記事の ファイル権限 を参照してください。
Umask値は、オープンモード設定から差し引かれます。カスタムumask値を指定しない場合、デフォルトの値(077)が使用され、望ましくない結果になります。