Red Hat System Administration II 8.2
В этом упражнении вы настроите systemd-tmpfiles
, чтобы изменить скорость удаления временных файлов из каталога /tmp
, а также периодически удалять файлы из другого каталога.
Результаты
Вы сможете:
настроить
systemd-tmpfiles
на удаление неиспользуемых временных файлов из каталога/tmp
;настроить
systemd-tmpfiles
на периодическое удаление файлов из другого каталога.
Войдите на workstation
как пользователь student
с паролем student
.
На workstation
выполните команду lab scheduling-tempfiles start
, чтобы начать упражнение. Этот сценарий создает необходимые файлы и обеспечивает правильную настройку среды.
[student@workstation ~]$
lab scheduling-tempfiles start
На
workstation
установите SSH-подключение кservera
как пользовательstudent
.[student@workstation ~]$
ssh student@servera
...output omitted...[student@servera ~]$
Настройте утилиту
systemd-tmpfiles
на очистку каталога/tmp
, чтобы в нем не было файлов, которые не использовались в течение последних пяти дней. Убедитесь, что конфигурация не перезаписывается при обновлении пакетов.Выполните команду
sudo -i
, чтобы переключиться на пользователяroot
.[student@servera ~]$
sudo -i
[sudo] password for student:
student
[root@servera ~]#
Скопируйте
/usr/lib/tmpfiles.d/tmp.conf
в/etc/tmpfiles.d/tmp.conf
.[root@servera ~]#
cp /usr/lib/tmpfiles.d/tmp.conf \
/etc/tmpfiles.d/tmp.conf
Найдите в файле
/etc/tmpfiles.d/tmp.conf
строку конфигурации, которая применяется к каталогу/tmp
. Замените существующий возраст временных файлов в этой строке конфигурации на5
дней. Удалите из файла все остальные строки, включая закомментированные. Используйте командуvim /etc/tmpfiles.d/tmp.conf
для редактирования файла конфигурации. Содержание файла/etc/tmpfiles.d/tmp.conf
должно быть следующим:q /tmp 1777 root root 5d
В приведенной выше конфигурации тип
q
идентиченd
. Он указывает утилитеsystemd-tmpfiles
создать каталог/tmp
, если он не существует. Для каталога должны быть заданы восьмеричные разрешения1777
. Пользователь и группа, владеющие каталогом/tmp
, ―root
. В каталоге/tmp
не должно быть временных файлов, которые не использовались в течение последних пяти дней.Выполните команду
systemd-tmpfiles --clean
, чтобы убедиться в наличии правильной конфигурации в файле/etc/tmpfiles.d/tmp.conf
.[root@servera ~]#
systemd-tmpfiles --clean /etc/tmpfiles.d/tmp.conf
Поскольку вышеуказанная команда не вернула никаких ошибок, это подтверждает, что параметры конфигурации правильные.
Добавьте новую конфигурацию, которая гарантирует наличие каталога
run/momentary
с пользователем-владельцем и группой-владельцемroot
. У каталога должны быть восьмеричные разрешения0700
. Конфигурация должна удалить из этого каталога файлы, которые не использовались в течение последних 30 секунд.Создайте файл с именем
etc/tmpfiles.d/momentary.conf
и следующим содержимым. Используйте командуvim /etc/tmpfiles.d/momentary.conf
для создания файла конфигурации.d /run/momentary 0700 root root 30s
Вышеуказанная конфигурация указывает утилите
systemd-tmpfiles
проверить наличие каталога/run/momentary
с восьмеричными разрешениями0700
. Пользователь и группа, владеющие каталогом/run/momentary
, ―root
. Все файлы, которые не использовались в течение последних 30 секунд, должны быть удалены из этого каталога.Выполните команду
systemd-tmpfiles --create
, чтобы убедиться в наличии правильной конфигурации в файле/etc/tmpfiles.d/momentary.conf
. Команда создает каталог/run/momentary
, если он не существует.[root@servera ~]#
systemd-tmpfiles --create \
/etc/tmpfiles.d/momentary.conf
Поскольку вышеуказанная команда не вернула никаких ошибок, это подтверждает, что параметры конфигурации правильные.
Выполните команду
ls
, чтобы убедиться, что каталог/run/momentary
создан с соответствующими разрешениями, пользователем-владельцем и группой-владельцем.[root@servera ~]#
ls -ld /run/momentary
drwx------.
2root root
40 Mar 21 16:39 /run/momentaryОбратите внимание, что восьмеричный набор разрешений для
/run/momentary
―0700
, а пользователь-владелец и группа-владелец ―root
.
Убедитесь, что из каталога
/run/momentary
удалены все файлы, не использовавшиеся в течение последних 30 секунд, согласно конфигурацииsystemd-tmpfiles
для каталога.С помощью команды
touch
создайте файл с именем/run/momentary/testfile
.[root@servera ~]#
touch /run/momentary/testfile
Выполните команду
sleep
, чтобы приглашение командной оболочки не появлялось в течение 30 секунд.[root@servera ~]#
sleep 30
Когда появится приглашение оболочки, выполните команду
systemd-tmpfiles --clean
для удаления устаревших файлов из каталога/run/momentary
на основе правила, указанного в файле/etc/tmpfiles.d/momentary.conf
.[root@servera ~]#
systemd-tmpfiles --clean \
/etc/tmpfiles.d/momentary.conf
Вышеуказанная команда удаляет файл
/etc/tmpfiles.d/momentary.conf
, поскольку он не использовался в течение 30 секунд и должен был быть удален на основе правила, указанного в файле/etc/tmpfiles.d/momentary.conf
.Выполните команду
ls -l
, чтобы убедиться, что файл/run/momentary/testfile
не существует.[root@servera ~]#
ls -l /run/momentary/testfile
ls: cannot access '/run/momentary/testfile': No such file or directoryВыйдите из командной оболочки пользователя
root
и из системыservera
.[root@servera ~]#
exit
logout[student@servera ~]$
exit
logout Connection to servera closed.[student@workstation ~]$