systemdを使用してDockerサービスのumaskを設定する方法

systemdを使用してDockerサービスのumaskを設定する方法

Dockerサービスを開始したいシステムumaskは0002です(デフォルトは0022の代わりに)。だから、/etc/systemd/system/docker.service.d/override.conf下にオーバーレイファイルを作成しました。

[Service]
UMask=0002

そしてデーモンを再ロードしsystemctl daemon-reloadてDockerサービスを再起動してください。ところで、いざ見たら/proc/<PID>/statusまだ0022がumaskと見えますが、私が何が間違っているのかご存知ですか?

ベストアンサー1

それを分析しましょう。

Umask=に文書化されていますman systemd.exec。を調べて、どのマニュアルページに文書化されているかを確認できますman systemd.directives。次のように文書化されています。

「制御ファイルモード生成マスク」

に表示される出力は/proc/<pid>/statusに文書化されていますman proc。次のように文書化されています。

「マスクプロセス」。

したがって、まず、あなたの確認がsystemdあなたが設定したディレクティブの正しいテストであるかどうかはわかりません。より良いテストは、Dockerが生成するファイルを調べることです。何のために作られましたかumask

第二に、systemd指示が実際に適用されていることを確認してください。次の出力を確認してください。

 systemd-analyze dump

出力を検索すると、そのサービスの設定をDocker見つけることができます。予想通りあなたの姿が見えますか?UmasksystemdDockersystemdumask

あなたのsystemd構文は正しいように見えるので、これはディレクティブの機能に関する誤解かもしれませんUmask=

おすすめ記事