Попробуйте эту команду:
ln -sfn /dev/null /var/log/lastlog
Мой файл / var / log / lastlog огромен. Я знаю, что на самом деле это всего несколько килобайт, но tar не достаточно умен, чтобы это понимать, поэтому, когда я создаю образ виртуальной машины, мое восстановление завершается неудачно, потому что мне кажется, что я пытаюсь загрузить больше данных, чем у меня есть емкость на диске.
Я хочу удалить / var / log / lastlog и прекратить любую запись в файл. Я знаю о последствиях для безопасности. Эта регистрация должна прекратиться, чтобы сохранить мою стратегию резервного копирования.
Я внес изменение в /etc/pam.d/login, который, как мне сказали, отключит ведение журнала в / var / log / lastlog, но он не работает, поскольку / var / log / lastlog продолжает расти.
# Prints the last login info upon succesful login # (Replaces the `LASTLOG_ENAB' option from login.defs) #session optional pam_lastlog.so
Есть идеи?
РЕДАКТИРОВАТЬ
Для всех, кто интересуется, я использую Centrify Express для аутентификации своих пользователей через LDAP. Centrify Express является «бесплатным», но одним из недостатков является то, что я не могу управлять пользовательскими UID через LDAP, поэтому им присваивается динамический UID при входе на сервер. Centrify выбирает некоторые сумасшедшие высокие значения UID (поэтому они не конфликтуют с локальными пользователями на сервере, предположительно). / var / log / lastlog индексируется по UID и увеличивается, чтобы вместить самый большой UID в системе. Это означает, что когда пользователь Centrify входит в систему, он получает UID в верхнем конце диапазона UID, что заставляет lastlog выделять непристойный объем пространства в соответствии с файловой системой.
~$ ll /var/log/lastlog -rw-rw-r-- 1 root root 291487675780 Apr 10 16:37 /var/log/lastlog ~$ du -h /var/log/lastlog 20K /var/log/lastlog
Больше в ---> Разреженные файлы
Попробуйте эту команду:
ln -sfn /dev/null /var/log/lastlog
На мой взгляд, лучшее решение здесь - использовать опцию tar -S / --sparse для правильной обработки разреженных файлов.
if the 3rd party is using your system tar, rename tar to say, tar.real; then make a script called tar which will use -S only when called by the third-party software.
better, call the third-party via wrapper script which adds a special bin dir to the front of PATH, where you have the wrapper for tar, only works so long as third-party is not using absolute paths.