Как зайти под суперпользователем linux

Ubuntu Documentation

Содержание

В Linux (да и в Unix вообще) суперпользователь (root user) имеет доступ ко всему. Это аналог пользователя Администратор в Windows. Как бы вы ни настроили свою учетную запись, вы все равно не сможете заблокировать доступ суперпользователя к каким-либо ресурсам компьютера. Кроме того, суперпользователь имеет доступ ко всем командам операционной системы и всем ее устройствам. Многие начинающие пользователи активно используют учетную запись root, поскольку это очень удобно. Тем не менее существуют причины, по которым учетную запись суперпользователя не следует применять для повседневной работы.

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

Думаете, с вами такого не случится? Даже опытные администраторы Linux рассказывают жуткие истории о том дне, когда они сделали роковую опечатку или не задумывались над тем, что они делают, работая под именем суперпользователя.

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

Когда sudo спрашивает пароль, вы должны ввести пароль ВАШЕГО пользователя ! То есть пароль root’a вам не нужен !

Заметки

  • Пароль сохраняется по умолчанию на 15 минут. По истечении этого времени, вам нужно будет ввести пароль снова.
  • Несмотря на то, что при вводе пароль не отображается на экране (даже в виде звездочек), он все-равно вводится!

Для выполнения графических конфигурационных утилит с sudo, просто запустите приложение через меню.

Для запуска программ через sudo, которые обычно запускаются под обычным пользователем (например gedit), нажмите Alt+F2 и введите gksudo gedit. В Kubuntu используйте вместо gksudo программу kdesu.

Использование sudo в командной строке:

Пример #1 — смена пользователя и группы для файлов в домашней папке пользователя

Пример #2 — перезапуск сетевых служб

Для запуска графических программ используйте gksudo или kdesu, иначе попытка входа может провалиться. Если это происходит и при входе вылазит ошибка: «Unable to read ICE authority file», войдите в безопасный терминал и выполните следующую команду, подставив своё имя пользователя:

Для запуска режима суперпользователя в терминале (root shell, т.е. командная строка, где вы можете выполнять команды под пользователем root), запустите терминал и выполните команду:

  • Для запуска режима суперпользователя, оставив текущие переменные окружения, введите:
  • Вход под другим пользователем (для графического входа, используйте что-то типа gdmflexiserver):

Разрешение другим пользователям использовать sudo

Чтобы разрешить пользователю использовать sudo, откройте Система → Администрирование → Пользователи и группы. Затем выберите пользователя и нажмите на кнопке Свойства. В появившемся окне зайдите на вкладку Привилегии пользователя и поставьте галочку Администрировать систему.

Аналог этой же процедуры в терминале: sudo adduser $user admin, где $user — имя пользователя.

Преимущества использования sudo

Причины, по которым пользователь root отключен по умолчанию, заключаются в следующем:

  • Программа установки задаёт меньше вопросов.
  • Пользователям не нужно запоминать дополнительный пароль, который они могут забыть.
  • Перед тем как произойдёт выполнение команды, вас попросят ввести пароль. Это даст время подумать о возможных последствиях.

sudo добавляет в лог выполненные команды (/var/log/auth.log).

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

  • sudo позволяет легко предоставлять права администратора на долгий или короткий период другим пользователям, просто добавляя и удаляя их из группы, при этом не трогая корневую учетную запись.
  • sudo можно настроить с более fine-grained политикой безопасности.
  • Аутентификация автоматически истекает по окончании определенного промежутка времени.
  • Минусы использования sudo

    Хотя выгода для использования sudo на персональных компьютерах велика, есть некоторые моменты, которые надо отметить:

    Redirecting the output of commands run with sudo can catch new users out. For instance consider sudo ls > /root/somefile will not work since it is the shell that tries to write to that file. You can use ls | sudo tee -a /root/somefile to append, or ls | sudo tee /root/somefile to overwrite contents. You could also pass the whole command to a shell process run under sudo to have the file written to with root permissions, such as sudo bash -c «ls > /root/somefile».

  • Во многих офисных системах только один локальный пользователь в системе root. Все остальные пользователи импортируются через NSS технологии, такие как nss-ldap. Для настройки рабочей станции в случае повреждения сети, при поломке nss-ldap, необходим root. This tends to leave the system unusable unless cracked. An extra local user, or an enabled root password is needed here.
  • Заблуждения

    Разве sudo не менее безопасно, чет su?

    Основая модель безопасности одинакова в обоих случаях, поэтому и уязвимость будет одинаковой. Любой пользователь, использующий su или sudo рассматривается как привилегированный пользователь. If that user’s account is compromised attby an attacker, the attacker can also gain root privileges the next time the user does so. The user account is the weak link in this chain, and so must be protected with the same care as root.

    On a more esoteric level, sudo provides some features which encourage different work habits, which can positively impact the security of the system. sudo is commonly used to execute only a single command, while su is generally used to open a shell and execute multiple commands. The sudo approach reduces the likelihood of a root shell being left open indefinitely, and encourages the user to minimize their use of root privileges.

    Я не буду иметь возможность загрузиться в однопользовательском режиме! Программа sulogin в Ubuntu изменена для того чтобы можно было войти в однопользовательский режим, даже если пользователь root отключен.

    Я могу получить права администратора из консоли без ввода пароля!

      Вам потребуется ввести пароль для этого.

    Console users have access to the boot loader, and can gain administrative privileges in various ways during the boot process. For example, by specifying an alternate init(8) program. Linux systems are not typically configured to be secure at the console, and additional steps (for example, setting a root password, a boot loader password and a BIOS password) are necessary in order to make them so. Note that console users usually have physical access to the machine and so can manipulate it in other ways as well.

    Возврат к традиционной учетной записи root

    » height=»16″ src=»/moin_static198/light/img/icon_cool.png» title=»Info » width=»16″/> Не рекомендуется это делать!

    Consider using the below command instead:

    Использование этой команды временно откроет консоль с правами root. Активация аккаунта root в Ubuntu не поддерживается из-за ненадобности. Всё, что вам требуется сделать с правами администратора в Ubuntu можно сделать через sudo или gksudo.

    Если root включен, и вы хотите отключить его, откройте терминал и введите следующую команду:

    Drag & Drop Sudo

    Этот трюк взят из форумов.

    Создайте кнопку запуска со следующей командой:

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

    RootSudoRu (последним исправлял пользователь andreyshel 2010-06-01 09:56:33)

    The material on this wiki is available under a free license, see Copyright / License for details
    You can contribute to this wiki, see Wiki Guide for details

    Источник

    Права суперпользователя Linux

    Как вы знаете, Linux очень серьезно относится к управлению пользователями и предоставлению им прав на работу с системой. Обычный пользователь может записывать файлы только в свой каталог и каталог /tmp/. Также есть возможность читать некоторые файлы в корневой файловой системе. Но вы не можете устанавливать программы, ведь для этого нужно право на запись, не можете изменять атрибуты файлов, не можете запускать сервисы, не можете читать некоторые файлы логов и еще много чего не можете.

    В Linux управлять корневой файловой системой и создавать там файлы имеет право только пользователь root.

    В этой статье мы рассмотрим какие программы нужны для того, чтобы получить права root пользователя linux, как они работают, как выполнять программу с правами root от обычного пользователя и как запускать графические программы с правами root. А также выясним что такое sudo в чем разница su или sudo.

    Права суперпользователя в Linux

    Очень долго перечислять чего не может обычный пользователь Linux, проще сказать на что у него есть право, а именно при стандартной настройке полномочий для файлов в Linux, обычный пользователь может:

    • Читать, писать и изменять атрибуты файлов в своем каталоге
    • Читать, писать, изменять атрибуты файлов в каталоге /tmp
    • Выполнять программы там, где это не запрещено с помощью флага noexec
    • Читать файлы, для которых установлен флаг чтения для всех пользователей.

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

    Вход под суперпользователем

    Чтобы войти под пользователем root можно переключиться в одну из виртуальных консолей, например, с помощью сочетания клавиш Ctrl+Alt+F1 и затем ввести логин root и пароль root пользователя.

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

    Можно поступить полностью противоположным путем, ввести логин root и его пароль в графическом менеджере входа, чтобы окружение рабочего стола работало от имени root, и мы получаем все права root linux, но такой вариант крайне не рекомендованный, и очень опасный, вы можете случайно повредить всю систему. Поэтому этот способ был отключен во многих менеджерах входа.

    Переключение на суперпользователя в терминале

    Теперь мы подошли к более интересному и практичному. С помощью специальных утилит вы можете переключить текущий эмулятор терминала в окружения суперпользователя и выполнять все следующие команды не от своего имени, а от его, таким образом, дав программе права root linux. Для этого существует утилита su. Вообще говоря, эта утилита позволяет не только переключаться на пользователя root но и на любого другого пользователя, но по умолчанию используется именно root. Рассмотрим ее подробнее. Команда su linux имеет следующий синтаксис:

    $ su опции пользователь

    Вот ее основные опции:

    • -c, —command — выполнить команду
    • -g, —group — установить основную группу пользователя (только для root)
    • -G —supp-group — дополнительные группы пользователя (только для root)
    • -, -l, —login — режим входа, будут очищены и инициализированы с учетом нового пользователя все переменные окружения, а также изменен домашний каталог
    • -p, —preserve-environment — сохранить переменные окружения
    • -s, —shell — задать оболочку для входа
    • —version — отобразить версию программы.

    Теперь немного поэкспериментируем, чтобы понять как работает команда su linux.

    Сначала выполним su без параметров, но для начала создадим переменную окружения, чтобы проверить как с ними обходится эта команда:

    Теперь смотрим что получилось:

    Из этих команд мы видим, что теперь мы пользователь root, но домашней директорией считается директория нашего предыдущего пользователя и наша переменная не сохранилась также изменилась переменная PATH, теперь там добавлен путь /sbin.

    Теперь используем вход в режиме логина:

    И повторим ту же комбинацию:

    Та же ситуация, только на этот раз изменена ко всему еще и домашняя директория на директорию root. Но мы можем сохранить наши переменные окружения, если это нужно, для этого есть опция -p:

    Как видите, наша переменная осталась. Вы также можете переключится на любого другого пользователя. Например:

    Получение прав суперпользователя таким способом используется во многих дистрибутивах, например, Debian, OpenSUSE, ArchLInux, Gentoo и т д. Но в Ubuntu, как дистрибутиве для начинающих вход под пользователем root отключен. Это сделано потому, что это тоже не очень безопасно, вы можете забыть что выполняете команду от root и что-то натворить в системе. Поэтому переходим к следующей программе.

    Получение прав root без переключения

    Чтобы реализовать максимально безопасный интерфейс для работы с правами суперпользователя в Linux была разработана команда sudo. Давайте рассмотрим что такое sudo. Эта команда пишется перед каждой командой, которую нужно выполнить от имени суперпользователя, и для ее выполнения нужно ввести пароль уже не root, а всего лишь вашего пользователя. Так же, как и в предыдущей, в этой утилиты есть свои опции. Сначала рассмотрим синтаксис:

    $ sudo опции команда

    • -b — выполнять запускаемую утилиту в фоне
    • -E — сохранить переменные окружения
    • -g — запустить команду от группы
    • -H — использовать домашний каталог
    • -l — показать список полномочий в sudo для текущего пользователя
    • -r — использовать для команды роль SELinux
    • -s — использовать оболочку
    • -u — запустить команду от имени пользователя, если не задано используется root
    • -i — не выполнять команду, а войти в оболочку, эквивалентно su —

    Вы можете выполнить те же эксперименты, только для этой команды, чтобы понять как использовать команду sudo. Например:

    Использование sudo — это рекомендованный способ выполнять команды от имени суперпользователя в Linux. Так вы не забудете с чем имеете дело и меньше всего рискуете повредить систему. Но остался еще один нерешенный вопрос — как быть с графическими утилитами? Ведь команда sudo их не запускает, а запускать графическую оболочку от имени root небезопасно. Это мы и рассмотрим далее.

    Графически приложения от имени суперпользователя

    Для запуска графических приложений от имени суперпользователя существуют специальные утилиты. Они сохраняют все необходимые переменные окружения и полномочия. В KDE это команда kdesu, а в Gnome команда gksu.

    Просто наберите gksu или kdesu, а затем нужную команду:

    Эта команда запустит файловый менеджер KDE с правами суперпользователя. В Gnome это будет выглядеть вот так:

    Программа запросит пароль, уже в графическом окне, а потом откроется файловый менеджер.

    Выводы

    Вот и все. Теперь вы знаете как получить права суперпользователя в Linux, знаете как использовать команду sudo и в чем разница sudo или su. Теперь программы, требующие дополнительных привилегий в системе, не вызовут у вас проблем. Если остались вопросы, пишите в комментариях!

    Источник

    Читайте также:  Echelon wind warriors windows 10
    Оцените статью