
Если у меня есть два пользователя, называемых john
и sally
. Оба являются частью users
группы. john
создает каталог с разрешениями 775
. sally
затем помещает туда файл с 644
разрешениями.
Даже если файл, очевидно, не имеет групповых привилегий записи. Может ли john
он изменить/удалить этот файл в каталоге, которым он владеет, но файл, которым он не владеет?
решение1
Он может удалить файл, поскольку отсоединение зависит от разрешений каталога, а не от файлов. Таким образом, он может изменить его, поскольку он может удалить и заменить его в каталоге.
решение2
Да, удаление файла на самом деле не изменяет файл, оно изменяет каталог, и у Джона есть разрешение на это.
Способ предотвратить такое поведение — установить sticky bit
на каталоге. Таким образом, /tmp позволяет всем писать в него, но только владельцам (или root) удалять из него что-либо.
chmod +t directory
Это включит липкий элемент.