LINUX.ORG.RU

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

 , , , ,


0

3

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



Последнее исправление: B15 (всего исправлений: 1)

Это шутка? Просто не сохраняйте так файл.

А чтобы перезаписать системный файл, нужны права на запись.

fernandos ★★★
()
Последнее исправление: fernandos (всего исправлений: 1)
Ответ на: комментарий от fernandos

Правда, нужны, но не для vim, у него какая-то своя техника сохранения файла. Если через vim сохранять например: /etc/sudoers, то никаких прав он не запросит.

B15
() автор топика
Ответ на: комментарий от B15

Ну нет, конечно. Вот что говорит вим (открыл файл, который записать не могу).

"/etc/portage/package.accept_keywords/bat"
"/etc/portage/package.accept_keywords/bat" E212: Can't open file for writing
Press ENTER or type command to continue
fernandos ★★★
()
Ответ на: комментарий от fernandos

Нажмите ентер, подождите, и дальше можете редактировать всё, а потом сохранить с помощью wq!.

B15
() автор топика

Я знаю, что в vi этого нет.

Плохо знаешь, узнавай заново!

дыра в безопасности

Хоть что-то у нас в безопасности! ☺

mord0d ★★★★★
()

Чтобы действительно нельзя было заменить файл, надо, чтобы атрибута «w» не было у каталога, в котором он лежит.

AVRS ★★
()
Последнее исправление: AVRS (всего исправлений: 1)
Ответ на: комментарий от B15

Он не отредактируется, у меня нет прав на редактирование этого файла.

fernandos ★★★
()

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

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

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

Kroz ★★★★★
()
Ответ на: комментарий от Kroz

Вангую, что ТС очередной калинуксоид. Там и впрямь только root в старых версиях, вот у него и можно любой файл поломать.

Vsevolod-linuxoid ★★★★★
()

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

Есть такая штука, как права 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 ★★★★★
()

С каждым годом всё бредовее и бредовее.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.