Разрешения для / var / log сбрасываются при загрузке

Использование awk

awk -vOFS="\t" '{$4=a[$4]++?$4"_"a[$4]-1:$4}1' file

chr1    66999638        66999638        SGIP1   1       +
chr1    66999251        66999251        SGIP1_1 1       +
chr1    33545778        33549778        AZIN2   1       +
chr1    8376144 8380144 SLC45A1 1       +
chr1    16765166        16769166        NECAP2  1       +
chr1    33544713        33548713        AZIN2_1 1       +
chr1    25069759        25073759        CLIC4   1       +
chr1    33544729        33548729        AZIN2_2 1       +
chr1    50487626        50491626        AGBL4   1       -
chr1    92349836        92353836        TGFBR3  1       -

Устанавливает $ 4 равным самому себе, если было обнаружено только одно событие, или добавляет _ , тогда количество обнаруженных вхождений минус 1.

6
10.07.2017, 03:21
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] Duplicate line for path "/var/log", ignoring.

Я просмотрел этот файл и нашел это:

#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.

# See tmpfiles.d(5) for details

q /var 0755 - - -

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

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

d /var/cache 0755 - - -

d /var/lib 0755 - - -

d /var/spool 0755 - - -

Я начал настраивать значения для строки d /var/log 0755 - - -, но без каких-либо заметных изменений от моих усилий я поискал дальше в этом каталоге и нашел файл /usr/lib/tmpfiles.d/00rsyslog.conf.

В этом файле:

# Override systemd's default tmpfiles.d/var.conf to make /var/log writable by
# the syslog group, so that rsyslog can run as user.
# See tmpfiles.d(5) for details.

# Type Path    Mode UID  GID  Age Argument
d /var/log 0775 root syslog -

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, который пытается переопределить значения, установленные в файле tmpfiles.d/var.confconf.

В результате, когда я удаляю rsyslog, применяются настройки файла tmpfiles.d/var.confconf, в данном случае это 0755.

Мне необходимо дополнительно выяснить, предназначен ли tmpfiles.dтолько для сопровождающих пакетов или системным администраторам также необходимо управлять файлами в этой области.

Редактировать:

Оказывается, есть три каталога,первый из них имеет наивысший приоритет (и предназначен для использования администраторами для переопределения настроек двух других):

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

Подробнее:

10
27.01.2020, 20:27

Теги

Похожие вопросы