Я все еще копаюсь в деталях, но похоже, что эти файлы играют роль в управлении разрешениями /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.conf
conf.
В результате, когда я удаляю rsyslog, применяются настройки файла tmpfiles.d/var.conf
conf, в данном случае это 0755
.
Мне необходимо дополнительно выяснить, предназначен ли tmpfiles.d
только для сопровождающих пакетов или системным администраторам также необходимо управлять файлами в этой области.
Редактировать:
Оказывается, есть три каталога,первый из них имеет наивысший приоритет (и предназначен для использования администраторами для переопределения настроек двух других):
/etc/tmpfiles.d/*.conf
/run/tmpfiles.d/*.conf
/usr/lib/tmpfiles.d/*.conf
Подробнее:
Вы можете сгруппировать несколько команд в оболочку sub -, используя круглые скобки (
и )
, а затем направить вывод оболочки sub -в mail
.
напр. (с несколькими дополнительными переводами строки после текста «Ниже...»):
( printf '%s\n\n\n' "Below are list of files transfered"
find. -maxdepth 1 -type f -name $(echo ${FILE_ARR[@]}| sed 's/ / -o -name /g')
) | mail -s "$some_subject" "$some_mail_id"
Или, если команда find не нужна (и кажется, что это не так):
( printf '%s\n\n\n' "Below are list of files transfered"
printf '%s\n' "${FILE_ARR[@]}"
) | mail -s "$some_subject" "$some_mail_id"