У меня есть определенные файлы и папки, чьи права на чтение, запись и выполнение я хочу сохранить заблокированными для определенных пользователей. Я могу использовать chmod XXX <filepath>
для блокировки прав доступа к файлу, но пользователь, безусловно, может удалить этот файл, хотя он не может получить к нему доступ. Есть ли способ помешать ему это сделать? Плюс это будет работать и на папки?
Это можно сделать, изменив владельца на root
:
chown root:root /path/to/file
Затем вы можете управлять отдельными разрешениями с помощью chmod
:
chmod a+r,og-w /path/to/file
Буква перед +
/ -
- это пользователь (-ы), на который это повлияет:
пользователь, которому он принадлежит (
u
),
другие пользователи в группа файла (g
),
другие пользователи, не входящие в группу файла (o
),
или все пользователи (a
).Если ничего из этого не дано, эффект такой, как если бы было дано
a
,
Буква после +
/ -
- это разрешение, которое будет дано / Удалено:
r Read
w Write
x Execute (for files); or list folder contents (for dirs)
Разрешения пользователя на удаление файла определяются папкой , в которой файл находится в , а не права на запись для самого файла.
Вам нужно chown
получить root-права и chmod o-w
для папки файла, чтобы предотвратить удаление.
Чтобы предотвратить удаление папок, родительский папка должен предотвращать записи (o-w
). Кроме того, папка может иметь бит закрепления (+t
).
Я не знаю почему, но так или иначе
chmod 700
не мешает другим удалить каталог
1. Наилучший вариант состоит в том, чтобы исказить
rm
и rmdir
с
sudo rm
и sudo rmdir
так, чтобы каждый раз Вы использовали rm
человечность попросит пароль администратора.
Для создания этого постоянным включают эту запись псевдонима ~/.bash_aliases
2. Еще одна опция
Создайте два учетных записей пользователей
один как администратор
другой как обычный пользователь
Не добавляйте этого обычного пользователя в sudoers группе, таким образом, он не сможет удалить что-либо кроме своего корневого каталога.
Позвольте другому использованию этот обычный пользователь, и Вы используете пользователя администратора