LINUX.ORG.RU

Заведомая дыра в безопасности VIM

 , , , ,


0

3

Добрый день, я, будучи начинающим пользователем линукс, решил использовать vim, после некоторого времени я понял, что он создает дыру в безопасности моей системы. А именно: При сохранение файла с атрибутом ‘readonly’(сhmod - [filename]), vim предлагает функцию ‘overwrite’(сохранение с помощью ‘wq!’). Это мне с точки зрения безопасности не нравится, ведь можно так сломать какой-нибудь системный файл. Вопрос такой: «Как я могу отключить функцию ‘overwrite’?» P.s: Я знаю, что в vi этого нет. Не надо предлагать альтернативы vim, мне нужен именно єтот редактор.


Это не дыра в безопасности. vim не делает ничего такого, чего не мог бы сделать пользователь в командной строке.

А вот если ты настроишь права так, что файл нельзя будет никак перезаписать из коммандной строки, то и vim этого не сможет сделать. Ради интереса, попробуй из-под пользователя (не из-под рута) отредактировать что-то в /etc.

Поверь, в Линукс безопасноть слишком глубоко зашита, чтобы какая-то программа могла так просто обойти защиту на запись.

Kroz ★★★★★ ()

Ты написал полный бред. Не может. Совсем.

Есть такая штука, как права Unix. И если у твоего пользователя нет прав, то ты ничего не сможешь сделать с файлами. Вообще. Вот пример:

vsevolod@hp15:~$ id
uid=1000(vsevolod) gid=1000(vsevolod) группы=1000(vsevolod),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),106(kvm),109(netdev),111(bluetooth),118(vboxusers)
vsevolod@hp15:~$ ls -l /etc/passwd
-rw-r--r-- 1 root root 1827 мая 11 15:40 /etc/passwd
vsevolod@hp15:~$ rm /etc/passwd
rm: удалить защищенный от записи обычный файл '/etc/passwd'? y
rm: невозможно удалить '/etc/passwd': Отказано в доступе

 — у моего пользователя есть права только читать файл, так что я не могу поломать этот важный системный файл.

Если же я попробую отредактировать его vim через

vim /etc/passwd
и wq! — то получаю ожидаемое
"/etc/passwd"
"/etc/passwd" E212: Невозможно открыть файл для записи
Нажмите ENTER или введите команду для продолжения

Не работай под root и не вводи чего попало с sudo (это как отдавать команду под root) — и никакой «уязвимости» не будет.

Vsevolod-linuxoid ★★★★★ ()
Ответ на: комментарий от B15

Как я писал выше, без root доступа у него ничего не выйдет с системными. А если у него будет root... то тут даже отсутствие такой функции в vim не спасет. Простейший способ — перевести файл в rw, потом снова в ro после редактирования. Да и вообще root не имеет никаких ограничений, если не включен SELinux или AppArmor.

Vsevolod-linuxoid ★★★★★ ()