Назад | Перейти на главную страницу

CHMOD для предотвращения удаления каталога файлов

У меня есть хостинг на сервере Linux, и у меня есть несколько папок, которые я никогда не хочу удалять. В них есть подпапки, которые я хочу удалить.

Как установить разрешения CHMOD для папок, которые я не хочу удалять?

Конечно, когда я говорю «Я никогда не хочу удалять» - я имею в виду, что конечный покупатель не должен удалять их случайно, через FTP или в PHP-скрипте и т. Д.

В качестве примера структуры каталогов ...

MainFolder/SubFolder
MainFolder/Another

Я не хочу, чтобы "MainFolder" был случайно удален, но я рад, что "SubFolder" и "Another" были удалены!

Удаление файла / каталога изменяет содержимое родительского каталога, поэтому, если вы не хотите MainFolder для удаления, вы хотите убедиться, что предполагаемый пользователь не имеет права записи в родительский каталог MainFolder.

Предполагая эту структуру: /some/dir/ParentDir/MainFolder/SubFolder

Вы захотите запустить что-то вроде этого, чтобы предотвратить удаление (для всех пользователей):

chmod a-w /some/dir/ParentDir

Конечно, это не идеальная ситуация, поскольку сделать его недоступным для записи означает, что пользователи не могут добавлять дополнительные файлы / каталоги в /some/dir/ParentDir

Подойдет ли вам липучка лучше? установка бита закрепления в родительском каталоге разрешит удаление только владельцу каталога.

chmod +t /some/dir/ParentDir

Посмотрите раздел использования на http://en.wikipedia.org/wiki/Sticky_bit для получения дополнительной информации о липких битах.

Как говорит Оли, ты можешь chown -R new_owner Mainfolder чтобы у всех подкаталогов был другой владелец, нежели тот, который будет к нему обращаться. Это должно остановить его удаление другими пользователями.

Чтобы другие пользователи могли получить к нему доступ, вы также можете создать группу и изменить группу файлов с помощью chgrp. Таким образом, любой член вашей группы «клиенты» сможет получить доступ к папкам. Альтернативой является установка другого бита на чтение, если вы хотите, чтобы у всех был доступ.

Обратите внимание, что chmod -R / chown -R / chgrp -R / chcon -R установить разрешения рекурсивно.

Вы можете изменить владельца MainFolder с участием chown