web-dev-qa-db-ja.com

RHEL / Centos 6で/var/log/boot.logを644パーマに具体的に設定するプログラムはどれですか?

すべての/var/logファイルをロックダウンして、rootユーザー以外は読み取れないようにするように割り当てられています。 /var/log/boot.logファイルに困惑しました。以前のパーミッション状態が644パーミッションに設定されていても、ファイルを起動するたびにファイルが表示されるようです。

いくつかの重要な/etc/init.dファイルと関数のumaskを役に立たないように変更する演習を行いました。

誰かがこれを行う特定のプログラムについて、そしておそらく/var/log/boot.logの権限を600にする方法について何か考えを持っていますか?

5
mdpc

_fgrep -r boot.log /usr_を介して、責任は plymouth です。 plymouthのマニュアルページはCentos6に少し欠けていますが、ソースコードをざっと見てみると、_no_boot_log_オプションがあることがわかります。これは、_no-boot-log_をどこかに渡すことで設定できるようです。 (プリマスからのログがなくても大丈夫だと仮定します)。ああ!さらに掘り下げると、open(2)呼び出しに使用されるmodeをいじる_world_readable_フラグがあります。ただし、これは3番目の引数としてのみ設定されます。

_        log_is_opened = ply_logger_open_file (session->logger, filename, true);
_

悲しいトロンボーン。とにかく、おそらくこれをカスタマイズするためにinitrdイメージをいじるか、RedHatでバグレポートを提出して、a)ソースコードのスペルカンキングが少なくて済むようにいくつかの気の利いたドキュメントを作成し、b)おそらくそのモードを構成するオプションを提供しますカーネル引数か何かを介して。

3
thrig

ここで回答を得るためにRHELサポートに連絡すると...

RHELは、プリマスが原因であることを確認します。

彼らは、ソースコードに開くフラグがあるが、それを検証するソリューションドキュメント( https://access.redhat.com/site/solutions/66805 -RHELサブスクライバーに限定)を指しています。 /より制限的なモードでログを作成します。誰でも読み取れるようにハードコードされているため、外部からそのフラグを設定する方法はありません(つまりオプションはありません)。

RHELサポートドキュメントはさらに、chmodを/etc/rc.d/rc.localスクリプトに配置することが、私が望む権限変更を行う方法になることを示しています。

バマー!

2
mdpc