#linux #ubuntu #права
Утилита logrotate ругается на то, что у /var/log небезопасные права (permissions):
root@home:~# logrotate /etc/logrotate.d/foo
error: skipping "/var/log/foo.log" because parent directory has insecure permissions
(It's world writable or writable by group which is not "root") Set "su" directive in
config file to tell logrotate which user/group should be used for rotation.
root@home:/var/log# ls -hal foo.log
-rw-r----- 1 root adm 161K Jan 25 17:16 foo.log
root@home:/var/log# ls -ld
drwxrwxr-x 9 root syslog 4.0K Jan 25 16:26 .
Похоже, права действительно слишком свободные. Вопрос: насколько нужно их ограничить?
Какие права должны быть у этой директории? Нужно ли ограничивать права всех вложенных
директорий?
Было бы здорово получить объяснение, а не только три числа для chmod. :)
По поводу предлагаемого в сообщении решения.
В файле /etc/logrotate.conf уже есть такие строки:
# use the syslog group by default, since this is the owning group
# of /var/log/syslog.
su root syslog
В /etc/logrotate.d/foo директива su не переопределяется.
Ответы
Ответ 1
добавьте в конфигурационный файл /etc/logrotate.conf требующуюся директиву: su root syslog а менять права/принадлежность файлов и каталогов в /var/log обычно не сто́ит. дополнительная информация: https://bugs.launchpad.net/ubuntu/+source/logrotate/+bug/1278193 обновление в связи со всплывшей информацией по поводу команды: $ sudo logrotate /etc/logrotate.d/foo для тестирования изменений, вносимых в конфигурацию, сто́ит запускать программу logrotate с опцией -d (debug, отладка, реальных изменений произведено не будет). в качестве параметра сто́ит указывать конфигурационный файл программы (/etc/logrotate.conf), а не «кусочек» конфигурации из файла, находящегося в каталоге /etc/logrotate.d/. эти «кусочки» и так будут подключены в то место конфигурационного файла, где написана директива include /etc/logrotate.d. ошибка про «неправильные» права при выполении этой команды связана с тем, что по умолчанию программа logrotate использует не ту связку пользователь-группа, которая задана в конфигурационном файле (в дистрибутивах ubuntu последних версий — это root:syslog; директива: su root syslog), а, скорее всего, связку root:root, которая, естественно, не соответствует актуальной принадлежности каталога /var/log. но конфигурационный файл /etc/logrotate.conf не интерпретируется при запуске (указан совсем другой файл — /etc/logrotate.d/foo), вот программа и сообщает об ошибке.Ответ 2
Необходимо просто снять излишнии права с папки и ругаться перестанет ls -ld drwxr-xr-x 2 root root 4096 Jun 23 08:12 .
Комментариев нет:
Отправить комментарий