У меня есть хостинг на сервере 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