web-dev-qa-db-ja.com

local_umaskとfile_open_modeはどのように機能しますか?

ローカルユーザーがvsftpを介してサーバーにファイルをアップロードすると、ファイル権限に問題が発生しました。

ファイルにすべての766のアクセス許可を付与する必要がありました。何度も試行錯誤した結果、次のように設定する必要があることがわかりました。

local_umask=011
file_open_mode=0777

しかし、なぜこれが766のアクセス許可になるのかはわかりません。誰かがこれを説明できますか?

11
OrangeTux

vsftpddaemeonは、ファイル権限を777として作成します。それから、local_umask11)が減算されます。 umaskは基本的に、ユーザーに付与したくない権限を削除します。これにより、ユーザーのファイル権限が766に設定されます。

詳細については、この記事の ファイル権限 を参照してください。

Umask値は、オープンモード設定から差し引かれます。カスタムumask値を指定しない場合、デフォルトの値(077)が使用され、望ましくない結果になります。

1
Timo Reimann