私は走っていますvsftpd
が、具体的な質問があります:
オプションを使用file_open_mode
すると、local_umask
新しく作成されたファイル/フォルダーにどのような権限を与えるかを設定できます。
問題:
新しいファイルには 0660 が必要ですが、新しいフォルダーには 0770 が必要です (すべてのファイルとフォルダーは、所有者とグループによって読み取りおよび書き込みexecutable
可能である必要があります。フォルダーを開くには、このビットが必要です)
どうすれば設定できますか?
(このフォーラム、Google、vsftpd.man ページ、チュートリアル、マニュアルなどを検索しました。)
答え1
要約:
およびのデフォルトfile_open_mode
により、 のファイル権限と のディレクトリ権限が与えられます。0666
local_umask
0007
0660
0770
ファイルの権限
すでに指摘したように、ファイルは で設定された権限で作成されますfile_open_mode
( によって変更されますlocal_umask
)。したがって、 で作成されたファイルを取得するには、0660
デフォルトをそのままにして、のfile_open_mode
で変更し、結果として を取得します。local_umask
0007
0660
ディレクトリ権限
0777
ディレクトリはによって変更されたモードで作成されますlocal_umask
。これに関する唯一のサポートドキュメントは、ソースコード自体にあります。公式のブラウザで読み取り可能なソースコードは入手できないため、非公式のソースコードミラーにリンクすることしかできません。https://github.com/dagwieers/vsftpd/blob/3.0.2/postlogin.c#L1179ここで、コメント内の「調整可能な umask」はlocal_umask
構成を指します。
/* NOTE! Actual permissions will be governed by the tunable umask */
retval = str_mkdir(&p_sess->ftp_arg_str, 0777);