с zsh
:
print -rl -- **/*.(rar|zip)(DoL)
Замените на ls -lUd --
, если хотите увидеть ls -l
информацию о них (-U
, являющихся расширением GNU).
Обратите внимание, что он сортируется по размеру, а не по использованию диска.
Модули безопасности Linux предназначены для управления доступом к таким ресурсам, как файлы:
LSM was designed to provide the specific needs of everything needed to successfully implement a mandatory access control module... LSM inserts "hooks" (upcalls to the module) at every point in the kernel where a user-level system call is about to result in access to an important internal kernel object such as inodes and task control blocks.
Чтобы реализовать это, я думаю, вам придется создать драйвер устройства, который будет передавать такие события, как «open()
был вызван. VLC открывает zip-файл с видео в нем» пользователю -space, который разархивирует соответствующий файл и вернет имя разархивированного файла, которое ваш LSM-модуль затем передаст фактическому вызову ядра open
. А затем в соответствующем вызове close()
вы передадите это событие из вашего модуля LSM в процесс пользовательского пространства -, чтобы он мог удалить разархивированный видеофайл.
Это не тривиальное предприятие. Среди прочего, вам нужно быть очень осторожным, чтобы не создать огромные дыры в безопасности :"Эй, эту штуку можно использовать для перезаписи /etc/shadow
!"
Я не уверен, позволяют ли функции Solaris по умолчанию отслеживать вызовы open()
, но можно контролировать доступ для записи.
Проверьте справочные страницы, например. port_create()
и загляните в /usr/include/port.h
.
Также может быть интересно проверить usr/src/cmd/tail на Illumos для tail -f
реализации, управляемой событиями.