Когда я устанавливаю программное обеспечение в Ubuntu software center, мне нужно ввести свой пароль для установки. Но в магазине приложений Deepin этого делать не нужно. Почему? И в чем преимущества и недостатки?
решение1
Это разные варианты в Deepin и Ubuntu относительно безопасности vs удобства использования vs стабильности. Установка программного обеспечения требует административных привилегий. Ubuntu запрашивает ваш пароль для всего, что требует административных привилегий, Deepin этого не делает. В обоих случаях ваша учетная запись должна быть зарегистрирована как авторизованная, чтобы получить административные привилегии таким образом.
Принцип работы этого метода заключается в том, что программы получают административные привилегии, поскольку они запускаютсясудо. Sudo проверяет, что запущенная учетная запись sudo
авторизована для этого, и может потребоваться дополнительная проверка. Sudo запрашивает пароль пользователя, который его вызывает, если только не было настроено иное ( NOPASSWD
директива в файле конфигурации) или если пользователь уже недавно ввел свой пароль.
Причина, по которой sudo запрашивает пароль пользователя, заключается в том, чтобы проверить, что он находится за клавиатурой. Если вы оставили свой компьютер без присмотра без блокировки экрана, кто-то может подойти и вмешаться в вашу учетную запись, но он не сможет вмешаться в конфигурацию системы без перезагрузки компьютера. (Это ценно даже для однопользовательского компьютера, поскольку административный доступ позволяет полностью скрыть свои следы, тогда как вмешательство в конфигурацию одного пользователя оставляет следы.) Мошенническая программа, запущенная на вашем аккаунте, также не может напрямую получить административные привилегии.
Однако эта защита безопасности имеет ограниченное воздействие. Злонамеренный прохожий или программа могут спрятать что-то в вашей учетной записи и воспользоваться этим в следующий раз, когда вы получите административные привилегии, чтобы что-то сделать.
Ubuntu сохраняет запрос пароля для небольшого уровня безопасности, который он обеспечивает, и, возможно, чтобы сигнализировать пользователю, что он собирается сделать что-то потенциально опасное (нарушить конфигурацию системы). Я не знаю, какова была точная причина в случае Deepin, но, вероятно, они хотели убрать это препятствие, чтобы сделать интерфейс более простым (проще делать что-то, но и проще испортить).