Поиск по сайту:

Почему вы не должны входить в свою систему Linux как root


В Linux пользователь root эквивалентен пользователю администратора в Windows. Однако, хотя в Windows уже давно существует культура входа обычных пользователей в качестве администратора, в Linux вам не следует входить в систему как пользователь root.

Microsoft пыталась улучшить методы безопасности Windows с помощью UAC — вы не должны входить в систему как root в Linux по той же причине, по которой вы не должны отключать UAC в Windows.

Почему Ubuntu использует Sudo

Одна из причин, по которой Ubuntu использует sudo вместо su, заключается в том, чтобы запретить пользователям работать с правами root. По умолчанию пароль root заблокирован в Ubuntu, поэтому обычные пользователи не могут войти в систему как root, не пытаясь повторно активировать учетную запись root.

В других дистрибутивах Linux исторически можно было войти в систему с правами root с графического экрана входа и получить рабочий стол root, хотя многие приложения могут жаловаться (и даже отказываться работать от имени root, как это делает VLC). Пользователи Windows иногда решают войти в систему как root, так же как они использовали учетную запись администратора в Windows XP.

С помощью sudo вы запускаете определенную команду (с префиксом sudo), которая получает привилегии root. С su вы должны использовать команду su для получения корневой оболочки, где вы запускаете команду, которую хотите использовать, до (надеюсь) выхода из корневой оболочки. Sudo помогает применять лучшие практики, запуская только те команды, которые необходимо запускать от имени пользователя root (например, команды установки программного обеспечения), не оставляя вас в корневой оболочке, где вы можете оставаться в системе или запускать другие приложения от имени пользователя root.

Ограничение урона

Когда вы входите в систему под своей учетной записью, программы, которые вы запускаете, не могут писать в остальную часть системы — они могут писать только в вашу домашнюю папку. Вы не можете изменять системные файлы без получения root-прав. Это помогает обеспечить безопасность вашего компьютера. Например, если в браузере Firefox есть дыра в безопасности и вы запускаете его от имени пользователя root, вредоносная веб-страница сможет записывать все файлы в вашей системе, читать файлы в домашних папках других учетных записей пользователей и заменять системные команды скомпрометированными. те. Напротив, если вы вошли в систему как ограниченная учетная запись пользователя, вредоносная веб-страница не сможет сделать ничего из этого — она сможет нанести ущерб только вашей домашней папке. Хотя это все еще может вызвать проблемы, это намного лучше, чем скомпрометировать всю вашу систему.

Это также помогает защитить вас от вредоносных или просто глючных приложений. Например, если вы запустите приложение, которое решит удалить все файлы, к которым у него есть доступ (возможно, оно содержит неприятную ошибку), приложение сотрет вашу домашнюю папку. Это плохо, но если у вас есть резервные копии (а вы должны!), восстановить файлы в вашей домашней папке довольно просто. Однако, если у приложения был root-доступ, оно могло удалить каждый файл на вашем жестком диске, что потребовало бы полной переустановки.

Подробные разрешения

В то время как старые дистрибутивы Linux запускали целые программы системного администрирования от имени пользователя root, современные рабочие столы Linux используют PolicyKit для еще более детального контроля над разрешениями, которые получает приложение.

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

У программы не будет полного корневого доступа ко всей вашей системе, что может защитить вас, если в приложении будет обнаружена дыра в безопасности. PolicyKit также позволяет ограниченным учетным записям пользователей вносить некоторые изменения в системное администрирование без получения полного root-доступа, что упрощает работу с ограниченной учетной записью пользователя с меньшими проблемами.

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