2016-11-17 15 views
0

nano editor имеет ограниченный режим «-R», чтобы открыть файл, в котором никакие другие файлы не могут быть открыты из редактора, и пользователь может изменить только этот конкретный файл. Есть ли какой-либо вариант, похожий на вариант в редакторе vim, где пользователь не сможет использовать опцию «: редактировать» и открыть другой файл и изменить его.Есть ли опция в vim, подобная «nano -R»

Опция «vim -Z», ограниченная vim, ограничивает редактор использованием команд оболочки. Но мне нужен вариант, чтобы запретить открывать любой другой файл, кроме указанного.

+0

Есть несколько способов взломать этот материал с помощью Vimscript, но не в безопасном режиме; пользователь все равно сможет перезаписать его (так что это будет полезно только для предотвращения «стрельбы по ногам»). – Carpetsmoker

ответ

3

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

Если вам это нужно, я бы рекомендовал полагаться на средства базовой операционной системы для защиты, и сделать что-то вроде sudoedit:

Написать сценарий оболочки, который временно копирует файл во временную папку, а затем вызвать Vim с ограниченным пользователем, который в идеале может получить доступ только к одному файлу. После выхода Vim скопируйте файл в исходное местоположение.