Делает/var/log каталог только для чтения на debian Linux безопасный?

У меня есть несколько предложений. Давайте просто не волноваться о, почему это происходит, но, как выполнить PS без появления проблемы.

Вот несколько предложений, которые было бы легко попробовать, учитывая Ваш уровень опыта с linux/unix:

  1. Попытайтесь работать ps auxwwf > myprocesses && cat myprocesses. Это даст Вам список всех рабочих процессов с подробной информацией и если первая команда будет успешна, то Вы сможете считать содержание myprocesses.

  2. Не использовать ps отдельно. Существует много различных изменений, но мой любимый auxwwf. Другой хороший ps lax.

  3. Попытайтесь отправить процесс в фон путем выполнения: ps auxwwf & Затем можно ввести jobs и посмотрите PID процесса PS. Можно затем поднять его путем ввода fg. Для отправки команды PS в фон снова, можно нажать Ctrlz. Таким образом, Вы управляете ps. Если это зависает, можно открыть другой терминальный сеанс и уничтожить PID, связанный с ним.

Сообщите мне, работают ли они на Вас. Они - всего несколько вещей, которые можно попробовать как работа вокруг. Я уверен, что у кого-то будут другие пути.

4
23.04.2014, 02:36
4 ответа
[1120731] Согласно [1121122]Debian FHS (Filesystem Hierarchy Standard), [1121123] /var/log должен быть доступен для записи. После загрузки сама система должна быть способна записывать в журнал в этом каталоге. Вы можете сделать /usr доступным только для чтения, но /var должен быть смонтирован с возможностью записи.[12142]Чтобы ответить на вопрос, заданный при записи, да, система зависает при запуске. Ядро попытается записать в dmesg, и повиснет, когда не сможет.[1120734].
5
27.01.2020, 20:45
[1120727] Если вы планируете сделать его только для чтения, то он ничего не стоит. Вы должны контролировать, как и что вы регистрируете.[12141]Если у вас мало места, вы можете захотеть иметь отдельный раздел /var разумного размера и выбрать файловую систему, которая может работать с большим количеством маленьких файлов, таких как ReiserFS или что-то в этом роде.[1120730].
4
27.01.2020, 20:45

Как написано в моем комментарии, записываемая /var/log вроде как важна, но есть вещи, которые можно сделать, чтобы как можно меньше сохранялось. Например, вы можете настроить logrotate на вращение лог-файлов в зависимости от их размера, сжимая старые. Вы также можете настроить syslog на запись только CRIT и выше в лог-файлы (остальные отбрасываются)

logrotate пример:

   compress

   /var/log/messages {
       rotate 5
       size 100k
       postrotate
           /usr/bin/killall -HUP syslogd
       endscript
   }

(Вам нужно настроить logrotate /etc/logrotate.conf, чтобы он также выполнялся в cronjob). Пример

rsyslog.conf:

$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imklog   # provides kernel logging support (previously done by rklogd)

$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

$IncludeConfig /etc/rsyslog.d/*.conf

*.crit                                                  /var/log/messages
*.emerg                                                 *

Это, наверное, лучшее промежуточное звено, так как почти ничего не заносится в журнал, но вы все равно получаете уведомления о критических событиях. Вы также можете подумать о настройке удаленного syslog на сервер с большим объемом памяти, если хранение логов важно.

1
27.01.2020, 20:45

Вместо того, чтобы делать его только для чтения, я бы создал /var/log как tempfs. и регулярно подрезал. Конечно, это работает, только если у вас достаточно свободной оперативной памяти.

Вы можете сделать то же самое для других возможных несущественных каталогов, например /var/tmp

Записи в моем /etc/fstab (сейчас закомментированы):

tmpfs   /var/tmp   tmpfs   defaults,noatime,mode=1777,size=128M   0  0
tmpfs   /var/log   tmpfs   defaults,noatime,mode=0755,size=128M   0  0
8
27.01.2020, 20:45

Теги

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