На этот вопрос уже есть ответ:
Как заблокировать переименование определенной папки пользователями Ubuntu?
Вы должны установить владение и разрешения родительского каталога (в частности, флаг write
) только для пользователя / группы, которые смогут его изменить.
Переименование в конце означает запись в папку, которая содержит файл / папку.
sudo chown <USERNAME>:<GROUPNAME> </path/to/parent_folder>
Это делает файл или папку принадлежащим пользователю <USER>
(для блокировки всех обычных пользователей от изменений это может быть, например, root
).
:<GROUPNAME>
является необязательным и устанавливает группу для этого файла или папки.
Если вам не нужна специальная группа, я бы порекомендовал использовать группу. Если вы хотите, чтобы многопользовательские пользователи могли изменять, добавьте их всех в новую группу пользователей и установите владельца, например, to
sudo chown root:<GROUPNAME> </path/to/parent_folder>
Чтобы проверить, что он настроен, он должен запустить
ls -la </path/to/parent_folder>
.
сама папка с информацией о владельце и разрешениях. Вывод может выглядеть как
drwxrwxr-x 1 root root 0 Dec 4 16:59 .
, за которым следует
sudo chmod u+w </path/to/parent_folder>
sudo chmod g+w </path/to/parent_folder>
sudo chmod o+w </path/to/parent_folder>
Это делает
u+r
владельцу (пользователю) разрешено писать g+r
группе разрешено писать (это необязательно, а в некоторых случаях нежелательно -> затем изменить его на g-r
) o-r
другим пользователям не разрешено писать В некоторых случаях вам также может потребоваться опция -R
для всех команд, чтобы рекурсивно устанавливать владельца и разрешения также на содержимое папки.
Примечание :
В любом случае, невозможно предотвратить root
что-либо в вашей системе. Таким образом, другие пользователи все еще могут измениться, используя sudo
.