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


11

ローカルユーザーがvsftp経由でサーバーにファイルをアップロードしたときに、ファイル権限に問題がありました。

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

local_umask=011
file_open_mode=0777

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

回答:


13

vsftpdのの daemeonは、ファイルのパーミッションを作成します0777。それから、local_umask0011)が差し引かれます。umaskは基本的に、ユーザーに付与したくない権限を削除します。これにより、ユーザーのファイル権限が0766に設定されます

詳細については、ファイルのアクセス許可に関するこの記事を参照してください。


2
はい、わかりました。トリックを知っています。しかし、これはどのように機能しますか?なぜ766だけに設定できないのですか?
OrangeTux

1

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


-1

次の理由により、この権限を取得しています。

1)local_umask = 011を設定すると、vsftpに設定するように指示します:

0:読み取り、書き込み、実行1:読み取り、書き込み1:読み取り、書き込み

これはchmod 766と同じです。

2)file_open_mode = 0777の値は解析されません。

ここでは、umaskとは何か、およびその使用方法についての非常に良い説明を見つけることができます。https//www.cyberciti.biz/tips/understanding-linux-unix-umask-value-usage.html


これは質問に対する答えではありません。(1)OPは666ではなく766でファイルを保護する必要があるため、間違ったシナリオに対処しています。(2)OPには、機能する構成があります。問題は、なぜそれが機能するのかということです。あなたはそれに対処していません。
スコット

では、@ Scottが回答を編集しました。
フェルナンドコシュ2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.