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

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

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

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

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

    Недопущение пользователей к запуску с правами root является одной из причин, по которой Ubuntu использует sudo вместо su. По умолчанию пароль пользователя 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 также позволяет ограниченным учетным записям пользователей вносить некоторые изменения в системное администрирование без получения полного корневого доступа, что упрощает работу в качестве ограниченной учетной записи пользователя с меньшими хлопотами..


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