Ограничения на изменение файлов для Sudo / Linux как в UAC / Windows

276
xendi

В Windows UAC, если пользователь пытается запустить исполняемый файл, ОС запросит у пользователя, намерены ли они запустить его. Аналогично, если приложению требуются права администратора, пользователю предлагается разрешить это. В обоих случаях предпочтение можно запомнить, по существу добавляя к двум белым спискам. Если файл изменен, он удаляется из указанных белых списков, и пользователю будет предложено снова.

В Linux у нас есть файл Sudoers, в котором мы можем указать файлы, которые могут быть запущены от имени пользователя root (или любого другого пользователя) без необходимости каждый раз вводить пароль. Это отлично подходит для приложений, которым требуется автозапуск с разрешениями sudo, особенно в случае автозапуска приложений с графическим интерфейсом (с помощью gksudo), но в этом и заключается проблема безопасности. Если файл изменен, sudo без возможности пароля не удаляется. Есть ли способ вызвать это поведение?

Я полагаю, что UAC использует хэши файлов для отслеживания изменений. Я думаю, что в Linux должен быть способ справиться с этим, но пока не могу найти его.

1
Команда `sudo` используется для запуска чего-либо в качестве пользователя root (в общем) без использования пароля пользователя root. кэширование пароля на некоторое время является лишь дополнением. насколько я понимаю, вы хотели бы, чтобы `sudo` удалял пароль из кеша, когда он был кеширован для конкретной программы и его содержимое изменилось? и помните навсегда для программ, которые не меняются? rsm 7 лет назад 0
и что делать при изменении библиотек? или конфигурационные файлы? или настройки среды (изменение поведения программы)? для меня это выглядит как еще один слой, сложный и не очень необходимый, поскольку пароль sudo кешируется только на короткий промежуток времени, поэтому вся эта дополнительная логика будет постоянно очищаться. rsm 7 лет назад 0
также, пожалуйста, проверьте http://superuser.com/questions/242903/windows-uac-vs-linux-sudo?rq=1 вопрос, есть хорошее сравнение OAC и `sudo`. rsm 7 лет назад 0

1 ответ на вопрос

0
Dmitry Grigoryev

Вся модель безопасности Linux построена на правах доступа к файлам. Таким образом, правильный способ защиты исполняемого файла, указанного в списке, sudoersзаключается в том, чтобы пользователи не могли его изменить . Это не совсем то же самое, что UAC, но это похоже на безопасность:

  • В Windows вы можете свободно изменять файл, но вам нужно указывать пароль администратора каждый раз, когда вы хотите запустить измененную версию.
  • В Linux вы всегда можете запустить файл, указанный в sudoers, но вам нужно указывать пароль root каждый раз, когда вам нужно его изменить.

Смотрите также: Windows UAC против Linux sudo

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