В последнее время я слышал, как системные администраторы и менеджеры спрашивают о решениях, позволяющих уберечь людей от случайного удаления своих данных. Это очень умные и целеустремленные люди, которые ищут решение, чтобы данные не были потеряны случайно или намеренно. Я слышал дикая идея решения проблемы - избавиться от доступа пользователей к команде rm. Это действительно безумная идея?
Администраторы, у которых есть пользователи, которые случайно или иногда рассеянно удаляют данные. Проблема, с которой они сталкиваются, заключается в том, что пользователь удаляет данные, скорее всего, с помощью rm, а затем понимает, что данные им действительно нужны.
Подскажите пожалуйста, как лучше разобраться с этой проблемой ... ???
Регулярное резервное копирование, которое также регулярно тестируется как восстановление, и четко понятная политика хранения.
Я также обнаружил, что неформальная политика мягкого издевательства над людьми, которые просят о восстановлении, помогает снизить количество восстановлений; отсюда и мое различие (когда дело доходит до политик резервного копирования) между тем, что я называю аварийным восстановлением и восстановлением для дебилов. Все, что заставляет пользователей немного подумать, прежде чем нажимать <CR> или «да», в конечном итоге является лучшим лекарством от случайного удаления.
Если допустимы небольшие потери, думаю, хороший резервное копирование стратегия была бы лучше.
Запрещение пользователям удалять что-либо разозлит их, и они всегда найдут способы удалить что-либо (например, с помощью mv или файловых менеджеров).
Другая стратегия может заключаться в использовании системы, в которой каждое изменение фактически ничего не удаляет, а просто добавляет данные и метаданные.
В такой системе команда удаления фактически не уничтожает какие-либо данные, она просто помечает их как удаленные, и данные все еще можно восстановить.
Например, таким образом можно настроить ECM Alfresco с открытым исходным кодом.
Я слышал о людях, делающих это. Я чувствую, что будет слишком много крайних случаев, и вы увеличите накладные расходы на поддержку, так как вы будете использовать накопление файлов. Достаточно сложно заставить пользователей не накапливать кучу бесполезных файлов, не прося вас удалить их.
Вы можете, например, переименовать rm
и оберните его в сценарий, который отображает список файлов, которые должны быть удалены, и заставляет людей вводить случайное 5-буквенное слово из /usr/dict/words
чтобы подтвердить, но имейте в виду, что какие бы лежачие полицейские вы ни создавали, люди могут быть удивительно изобретательными, когда дело доходит до их обхода. Будьте готовы к непредвиденным последствиям :)
В дополнение к регулярному (по крайней мере, ежедневному резервному копированию) я просто предлагаю принудительное использование rm -i
. Вставить /etc/bash.bashrc
:
alias rm='rm -i'
Из руководства rm
:
-i prompt before every removal
или, что еще лучше:
-I prompt once before removing more than three files, or when removing
recursively. Less intrusive than -i, while still giving protection
against most mistakes
Интересно, почему никто не упомянул trash-cli и псевдоним rm = trash-cli (a la Sebastian). И вам также придется настроить cronjob для регулярного удаления папок корзины. Функционально не сильно отличается от бэкапа, но все же.
Запрет пользователям удалять что-либо разозлит их
Это верно. Особенно, если им принадлежат файлы, которые они хотят удалить, в системе (которая также принадлежит им). Конечно, я использую слово своя в традиционном смысле - ясно, что Owner Creator довольно четко перечисляет SID нового, старшего администратора домена.
В этом предположении, это будет принадлежать хакеру, который не может больше согласиться с системными администраторами, что конечные пользователи являются головной болью в ...
но, конечно, я вижу обе точки зрения.
Удаление rm, которое очень поможет ... http://perldoc.perl.org/functions/unlink.html кашель нет, нет, просто верьте резервную копию религиозно.
В дополнение к регулярному (по крайней мере, ежедневному) резервному копированию я просто предлагаю принудительное использование rm -i. Поместите в /etc/bash.bashrc:
Хотя это достойное решение для простых удалений, оно ничего не меняет, если кто-то использует другие переключатели с командой. Например, ужасная команда rm -rf не будет запрашивать пользователя, потому что был введен альтернативный переключатель.