4

В недавно установленной системе fedora 25 (uname -aLinux [host] 4.10.6-200.fc25.x86_64 #1 SMP Mon Mar 27 14:06:23 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux ; с использованием GNU Emacs 25.1.1 (x86_64-redhat-linux-gnu, GTK+ Version 3.22.4) of 2016-12-15 соответствии с собственной начальной страницей emacs), я не могу перезаписать в emacs защиту от записи моих собственных файлов.

Вот как это происходит:

(a) Я открываю свой защищенный от записи файл (ls -l-r--------. 1 me me 92996 Apr 10 20:44 myfile),

(б) я отключаю защиту от записи, чтобы я мог редактировать (Cx Cq)

(с) я редактирую файл

(d) Я хочу сохранить (Cx Cs)

(e) Мне предлагается «Файл myfile защищен от записи; все равно попытаться сохранить? (да или нет) "

(е) я отвечаю "да", введите

(g) Появляется сообщение: «Открытие выходного файла: разрешение запрещено, [полный путь]/myfile»

Каталог не защищен от записи.

Я был в состоянии редактировать и сохранять мои защищенные от записи файлы навсегда в других системах (открытое использование в последние годы).

Отключение режима selinux в системе не помогает. Пожалуйста, смотрите больше информации в комментариях.

Я не могу понять, что может быть не так.

2 ответа2

1

C-x C-q отключает только чтение для буфера, а не для его файла.

Цель C-x C-q - предотвратить случайное изменение содержимого буфера (независимо от того, является ли он файловым буфером).

Чтобы изменить права доступа к файлу, используйте одно из следующего:

  • Команда chmod
  • Dired, с M (команда dired-do-chmod)

Используйте C-h f чтобы увидеть документ каждой команды:


chmod - это псевдоним для set-file-modes mode в subr.el

(chmod FILENAME MODE)

Установите биты режима файла с именем FILENAME в MODE (целое число). Используются только 12 младших бит MODE .

В интерактивном режиме биты режима читаются с помощью read-file-modes , которые принимают символьные обозначения, такие как команда chmod из GNU Coreutils.


dired-do-chmod - интерактивная скомпилированная функция Lisp с автозагрузкой в dired-aux.el .

Он связан с M, <menu-bar> <operate> <chmod> .

(dired-do-chmod &optional ARG)

Измените режим помеченных (или следующих ARG) файлов. Допускаются символические режимы, такие как g+w . Введите M-n чтобы вытянуть атрибуты файла в точке в минибуфер.

0

Спасибо всем за внимание.
Вчера вопрос стал молчаливым, потому что, отказавшись от проблемы, я закончил тем, что установил другой дистрибутив linux, где emacs (там, emacs v24) ведет себя как обычно.

Хотя моя первоначальная проблема не была решена, я остаюсь развлекать следующих подозреваемых по ее причине:

Подозреваемый 1: версия emacs 25, с которой у меня возникла проблема, может вести себя не так, как его предшественник. Подсказка к другому поведению в целом заключается в том, что, например, он не принимает файл конфигурации версии 24 .emacs

Подозреваемый 2: некоторые настройки файловой системы или дистрибутива.

Ни одно из двух подозрений не было подтверждено, подтверждено или опровергнуто.

Ответ на предыдущий ответ (на chmod и т.д.): Спасибо за ваш вклад, но, боюсь, вы неправильно поняли мой вопрос (возможно, я не был достаточно ясен для начала). Моя проблема была не в том, как emacs может изменить права доступа к файлу, а в том, почему в моем случае он отказался перезаписать защищенный файл, даже когда пользователь запросил такое действие? (Действительно, Cx Cq изменяет только редактируемость буфера, редактируемость, которая устанавливается по умолчанию после разрешений и / или вида открытого файла - я ошибся, использовав неправильный термин для эффектов этой комбинации нажатий клавиш.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .