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
見つけることができます。予想通りあなたの姿が見えますか?Umask
systemd
Docker
systemd
umask
あなたのsystemd
構文は正しいように見えるので、これはディレクティブの機能に関する誤解かもしれませんUmask=
。