Описание тега salar-de-uyuni
Разрешения файл проверяется при открытии файла. Изменение разрешения не влияет на то, что процессы, которые уже держат этот файл открытым, можете делать с ним. Это иногда используется с процессы, которые начинаются с дополнительными привилегиями, открыть файл, а затем удалить эти дополнительные привилегии: они могут все еще получить доступ к файлу, но не может быть в состоянии открыть его.
Однако редакторы, как правило, не держать открытым файл. Когда редактор открывает документ, что происходит под капотом, что редактор загружает содержимое файла в память и закрывает файл. Когда вы сохраните документ, редактор открывает файл и записывает в него новое содержание.
Редакция может следовать одной из двух стратегий при сохранении файла. Они могут создать новый файл, затем переместить его в нужное место. Кроме того, можно открыть существующий файл и перезаписать старое содержание. Перезаписи имеет то преимущество, что разрешение и владельца файла не изменится, и что он работает даже в режиме только для чтения каталога. Главный недостаток перезаписи заключается в том, что если экономить не на полпути (Editor аварии, сбоя системы, диск полный, ...), вы остались с усеченным документ. Разные Редакторы выбирают разные стратегии; хороший сами пишете-для-новых-то-двигаться, если это возможно, и переписать только в папке (предварительно сделав резервную копию где-то еще).
Если редактор следит за новыми-то-стратегии продвижения, права на файл не имеет значения: редактор создаст новый файл, и его нужно только разрешение на запись в каталог, для этого. Есть два исключения: если каталог имеет липкий бит, изменение владельца файла (но не разрешения) может сделать невозможным процесс, чтобы переместить новый файл на место. Еще одним исключением является на системах, которые поддерживают разрешение удалить с помощью списков управления доступом (такие как OSX): отменить разрешение на удаление файла может сделать движение невозможным.
Если редактор следует переписать стратегию, отзыва разрешения на запись будет сделать сохранение невозможно. (Впрочем, некоторые редакторы, которые перезаписывают по умолчанию может упасть обратно в Нью-потом-двигаться.)
В Vim, вы можете заставить переписать стратегию, выключив backupcopy
вариант; см. также почему инода значение изменяется, когда мы редактируем в "Ви" редактор?. В Emacs, вы можете заставить переписать стратегию путем установки резервного копирования на копирование
переменной в Т
.