Вы можете создать функции cd
, pushd
и popd
, которые вызывают встроенные функции, а затем просматривают CWD и используют их, чтобы определить, какие псевдонимы добавить или remove:
function cd() {
command cd "$@"
blah blah blah...
}
Вы можете сделать так, чтобы каталоги и файлы не находились в одних и тех же каталогах. Затем вы можете удалить разрешение на запись родительских каталогов.
В Unix нельзя добавить, удалить или переименовать файл, если он находится в каталоге, в котором у пользователя нет прав на запись. Поэтому, чтобы предотвратить перемещение файла/каталога, поместите его в каталог, в котором нет прав на запись. Обратите внимание, что владелец каталога может изменить разрешения.
Для этого вам может потребоваться изменить -структуру каталогов.
Вы не можете удалить каталог с файлами (или что-либо еще )из каталога с установленным липким битом -, если только вы не являетесь его владельцем. Это также остановит пользователей, удаляющих/переименовывающих файлы, если они не принадлежат им.