Как удалить каталог автоматически, когда исполняемый файл уничтожается

Путем выполнения mkdir как корень, пользователь может заблокировать другие процессы/пользователей от создания новых файлов и каталогов путем создания каталогов с идентичными именами (и/или неправильные права) прежде.

Это могло быть безопасностью, релевантной особенно с журналом - и файлы блокировки.

Как jordanm отмеченный, может быть также израсходовано максимальное количество inodes, который может заблокировать целую систему.

Путем добавления пользователя к определенным группам (или использования ACLs), необходимо смочь решить проблемы, не предоставляя прав через sudo.

9
28.05.2015, 18:29
2 ответа

Ваш последний пример наиболее безопасен.

Он будет выполняться до тех пор, пока сама оболочка остается работоспособной. В основном SIGKILL - единственная вещь, с которой он не справится, так как оболочка принудительно завершается.

  1. (возможно, SIGSEGV тоже не пытался, но его можно поймать)
  2. Если вы не оставите очищать оболочку после себя, единственная возможная альтернатива - это заставить ядро сделать это. Обычно это не является функцией ядра, но есть один трюк, который вы можете сделать, но у него есть свои проблемы:
  3. В основном вы создаёте монтировку tmpfs, а затем лениво её размонтируете. После выполнения скрипта он будет удален. Недостатком, кроме того, что он слишком сложный, является то, что если скрипт умирает по какой-либо причине до размонтирования, то у вас нет крепления, лежащего вокруг. При этом также используются tmpfs, которые потребляют память. Но вы можете сделать процесс более сложным и использовать файловую систему цикла, а также удалить резервную копию файла после его монтирования.
В конечном итоге trap

лучше всего подходит в плане простоты и безопасности, и если только ваш скрипт регулярно не получает SIGKILLED, я бы придерживался его.

.
3
27.01.2020, 20:07

Теги

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