VSFTPD の新規ファイルと新規ディレクトリのデフォルト権限

VSFTPD の新規ファイルと新規ディレクトリのデフォルト権限

私は走っていますvsftpdが、具体的な質問があります:

オプションを使用file_open_modeすると、local_umask新しく作成されたファイル/フォルダーにどのような権限を与えるかを設定できます。

問題: 新しいファイルには 0660 が必要ですが、新しいフォルダーには 0770 が必要です (すべてのファイルとフォルダーは、所有者とグループによって読み取りおよび書き込みexecutable可能である必要があります。フォルダーを開くには、このビットが必要です)

どうすれば設定できますか?

(このフォーラム、Google、vsftpd.man ページ、チュートリアル、マニュアルなどを検索しました。)

答え1

要約:

およびのデフォルトfile_open_modeにより、 のファイル権限と のディレクトリ権限が与えられます。0666local_umask000706600770

ファイルの権限

すでに指摘したように、ファイルは で設定された権限で作成されますfile_open_mode( によって変更されますlocal_umask)。したがって、 で作成されたファイルを取得するには、0660デフォルトをそのままにして、のfile_open_modeで変更し、結果として を取得します。local_umask00070660

ディレクトリ権限

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);

関連情報