Действительно ли sudo и gksudo безопасны?

Необходимо объявить escape-последовательности, отправленные обычными терминалами в Вашем ~/.vimrc. В теории escape-последовательности зависят от терминала. На практике, если escape-последовательность соответствует определенному ключу на данном терминале, другие терминалы или отправляют ее за тем же ключом или не отправляют ее вообще, таким образом, можно просто навалить определения и не волноваться о конфликтах.

Для обнаружения, что отправляет escape-последовательность ключ введите режим вставки и нажмите Ctrl+V, сопровождаемый ключом. Это вставляет escape-последовательность буквально.

Поместите директивы как они в Вашем ~/.vimrc (использование escape-последовательностей, которые Вы наблюдали):

function Allmap(mapping)
  execute 'map' a:mapping
  execute 'map!' a:mapping
endfunction
call Allmap('   <ESC>[A         <Up>')
call Allmap('   <ESC>[B         <Down>')
call Allmap('   <ESC>[C         <Right>')
call Allmap('   <ESC>[D         <Left>')
call Allmap('   <ESC>[F         <End>')
call Allmap('   <ESC>[H         <Home>')
call Allmap('   <ESC>[5~        <PageUp>')
call Allmap('   <ESC>[6~        <PageDown>')
call Allmap('   <ESC>[k4~       <C-Left>')
call Allmap('   <ESC>[5D        <C-Left>')
call Allmap('   <ESC>Od         <C-Left>')
call Allmap('   <ESC>[k6~       <C-Right>')
call Allmap('   <ESC>[5C        <C-Right>')
call Allmap('   <ESC>Oc         <C-Right>')
6
27.10.2012, 18:02
3 ответа

Да, взломщик, который выполняет код как Ваш пользователь, может сделать что-либо, что можно сделать сами. Это может даже изменить Ваш процесс оболочки так, чтобы, когда Вы думаете, что выполняете sudo, Вы на самом деле запустили программу взломщика, которая просто тихо записывает Ваш пароль root.

Ptys/ttys не предлагают безопасности, когда они принадлежат тому же пользователю вопреки другому ответу на здесь.

6
27.01.2020, 20:27
  • 1
    Другой ответ не является точно неправильным, просто неполным. sudo действительно предотвращает процессы от другого ttys от использования того же маркера доступа, который походит на то, на что намекал OP, но они формулировали его довольно широко таким образом, что ответ "уверен, существует много страшного материала, злонамеренные процессы могут сделать" –  Michael Mrozek♦ 28.10.2012, 01:37

Нет, это не будет.

sudo поддерживает маркер доступа, он - имя tty (или имущество), так как браузер и Ваш эмулятор терминала работают на различных имуществах, он не будет использовать тот же маркер.

Простой способ узнать это, выполняет sudo в одном терминале и выполняет его снова в другом, Вам предложили бы пароль снова (см./var/db/sudo),

1
27.01.2020, 20:27

"Для взломщика действительно ли возможно сделать sudo или gksudo без подсказки пароля, прежде чем пароль истечет, и примите мою систему?"

Да.

Самое легкое нападение прибывает из интерактивной оболочки и Вас не блокировка Вашего экрана, когда Вы убегаете от своей клавиатуры.

Если Вы волнуетесь, то изменяете строку

Defaults        timestamp_timeout=90

в Вашем /etc/sudoers, это изменяет 5-минутный тайм-аут.

1
27.01.2020, 20:27

Теги

Похожие вопросы