起動時に/var/logの権限をリセットする

起動時に/var/logの権限をリセットする

/var/log再起動時に、以下にリストされている各リリース/バージョンの権限がデフォルト値にリセットされることをテストして確認しました。問題はなぜですか?

  • オペレーティングシステム7
  • Ubuntu> = 15.04
  • Debian 8/9

私が知る限り、CentOS 7とDebian 8/9の基本的な権限は755、ですroot:root。 Ubuntu 15.04+の基本権限は775、ですroot:syslog。 PPAからアップストリームrsyslogをインストールすると、デフォルトの権限が変更されます755(Ubuntu 16.04で確認されており、おそらく15.04から16.04のUbuntuバージョンでも確認されています)。

/var/logデフォルトの権限を変更しようとすると、リセットが発生します(おそらく次回の起動時に)。関連する投稿でrsyslog設定が機能している可能性があるという誰かが提案を読んでいましたが、期待に合わせて設定を切り替えて動作しないもの(例:700)を使用しましたが、まだ同じ結果が出ました。リセット デフォルト値に戻ります。

その後、rsyslog(在庫rsyslogがインストールされているVMとアップストリームrsyslogがインストールされているVM)を削除しましたが、権限がまだリセットされているため、rsyslogでリセットが行われていないようです。

これはsystemdに固有のものですか?これは実際に上書きして再起動の間に「持続」できる設定ですか?

助けてくれてありがとう。

ポリスチレン

私のテストはLVMを使用してディストリビューションを簡単にインストールすることでしたが、ボリュームを使用してlvのインストールオプションに関する問題を排除しようとしました。

答え1

まだ詳細を調べていますが、/var/log起動時に次のファイルが権限管理に役割を果たしているようです。

  • /usr/lib/tmpfiles.d/var.conf
  • /usr/lib/tmpfiles.d/00rsyslog.conf

grep -ri '/var/log' /var/log皮肉なことに、Ubuntu 16.04システムで実行しているときにそれを見つけて、次のメッセージを見ました。

./syslog.1:Jul 9 21:18:15 ubuntu-virtual-machine systemd-tmpfiles[616]: [/usr/lib/tmpfiles.d/var.conf:14] 冗長パス "/var/log" 確認「、無視してください。

ファイルを探してみるとこんな内容がありましたね。

#このファイルはsystemdの一部です。
#
#systemdはフリーソフトウェアなので、再配布または変更できます。
# GNU Lesser General Public Licenseの条件に基づいて
#フリーソフトウェア財団ライセンスバージョン2.1、または
# (望むように)より高い版。

#詳細についてはtmpfiles.d(5)を参照してください。

q /var 0755 - - -

L /var/run - - - - ../run

d /var/log 0755 - - -
f /var/log/wtmp 0664 root utmp -
f /var/log/btmp 0600 ルート utmp -

d /var/cache 0755 - - -

d /var/lib 0755 - - -

d /var/spool 0755 - - -

その行の値を調整し始めましたが、目立つd /var/log 0755 - - -変更はありませんでした。ディレクトリを詳しく調べてファイルを見つけました/usr/lib/tmpfiles.d/00rsyslog.conf

このファイルから:

# /var/log を書き込み可能にするために、systemd のデフォルトの tmpfiles.d/var.conf をオーバーライドします。
# rsyslog をユーザーとして実行できるようにする syslog グループ。
#詳細についてはtmpfiles.d(5)を参照してください。

#パスパターンUID GID年齢パラメータの入力
d /var/log 0775 ルートシステムログ -

root@ubuntu-virtual-machine:/usr/lib/tmpfiles.d# dpkg -S /usr/lib/tmpfiles.d/00rsyslog.conf

rsyslog:/usr/lib/tmpfiles.d/00rsyslog.conf

したがって、rsyslogパッケージは、confファイルに設定されている値をオーバーライドしようとするconfインクルードファイルを提供しますtmpfiles.d/var.conf

tmpfiles.d/var.confrsyslogを削除すると、confファイル設定が適用されることがわかりました。この場合0755

tmpfiles.dこれがパッケージマネージャにのみ適用されるのか、システム管理者もこの領域内でファイルを管理する必要があるかどうかを詳しく調べる必要があります。

編集する:

3つのディレクトリがあり、最初のディレクトリは最高の優先順位を持ちます(管理者は他の2つのディレクトリの設定を上書きするために使用します)。

  1. /etc/tmpfiles.d/*.conf
  2. /run/tmpfiles.d/*.conf
  3. /usr/lib/tmpfiles.d/*.conf

追加情報:

関連情報