Интернет

Как войти в linux под root. Администратор в Ubuntu, или Что такое sudo

Как войти в linux под root. Администратор в Ubuntu, или Что такое sudo

В Linux Mint (как и в Ubuntu) по умолчанию вход под root запрещён. С одной стороны, это правильно, дабы пользователь, работавший ранее в Windows постоянно под админом, не повторял этой ошибки в Ubuntu/Mint. Но всё же зайти под root возможно.

root в Linux Mint

Внимание! Работать под root опасно! Для выполнения административных задач рекомендуется использовать утилиту sudo. Автор не несёт ответственности за последствия неосторожной работы с повышенными привилегиями!

Получение root-полномочий в терминале или консоли

Для получения root-полномочий в командной строке достаточно ввести sudo -i , затем свой пароль. Это можно использовать, когда нужно ввести несколько команд под root ().

Назначение пароля root

Для того, чтобы можно было зайти под root, надо сначала назначить пароль для него (кстати, в Debian и openSUSE пароль для root назначается в процессе установки). Для этого нужно ввести в командной строке sudo passwd root , а затем ввести свой пароль и два раза - пароль для root. После этого Вы сможете зайти как root в командной строке. Кроме того, если ввести su и ввести пароль root, то Вы получите повышенные привилегии (как от sudo -i ).

Включение возможности входить под root в MDM

Итак, назначив пароль root, мы получили возможность входить как root в консоли, но не в графической среде. Дело в том, что по умолчанию в настройках MDM вход как root запрещён. Для того, чтобы его разрешить, нужно зайти в настройки системы, открыть Login Window Preferences , открыть секцию Options и пометить Allow root login . После этого можно будет зайти как root в графическом режиме.

Кстати, Thunar, запущенный из-под рута, показывает жёлтую строку с предупреждением, в то время как в Nemo показывается лишь красная строка с надписью «Повышенные привилегии».

Кстати, в той же Ubuntu вход под root менее ограничен: убунтувский LightDM не запрещает по умолчанию вход под root, а поставляемый с Ubuntu файловый менеджер Nautilus, запущенный с правами рута, не показывает никаких предупреждений (как и Dolphin).

Select rating Give it 1/5 Give it 2/5 Give it 3/5 Give it 4/5 Give it 5/5

Пользователь root и sudo

Пользователь root в системах GNU/Linux - это пользователь, имеющий административный доступ к вашей системе. Обычные пользователи не имеют этого доступа по соображениям безвасности. Тем не менее в Kubuntu нет пользователя root. Вместо этого, административный доступ предоставляется отдельным пользователям, которые могут использовать приложение "sudo" для выполнения административных задач. Первая учетная запись, созданная при установке системы по умолчанию будет иметь доступ к приложению sudo. Вы можете запретить доступ к sudo или предоставить его с помощью приложения Пользователи и Группы (см. «Пользователи и Группы»).

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

Чтобы использовать sudo в командной строке, просто наберите "sudo" перед командой, которую Вы хотите запустить. После этого sudo попросит ввести ваш пароль.

Sudo будет помнить ваш пароль установленное время (по умолчанию 15 минут). Эта возможность позволяет пользователям выполнять большое количество административных задач без необходимости каждый раз вводить пароль.

Внимание

Будьте осторожны при выполнении административных задач -- вы можете испортить вашу систему!

Некоторые советы по использованию sudo:

    Чтобы использовать терминал пользователя root, наберите "sudo -i" в командной строке

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

    За дальнейшей информацией по программе sudo и отсутствию пользователя root в Kubuntu обращайтесь к странице sudo на сайте Ubuntu wiki.

Запуск программ вручную с привилегиями root

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

Внимание

Пожалуйста, будьте осторожны, выполняя приложения с привилегиями root, так как это может испортить вашу систему. За дополнительной информацией см. «Пользователь root и sudo» .

    Откройте диалог Выполнить команду , нажав Alt -F2

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

    Инструкция

    По умолчанию в Ubuntu возможность логина под учетной записью суперпользователя отключена. Чтобы включить root, нужно знать пароль, который задается во время установки системы. Пароль всегда можно изменить командой через «Терминал» (Menu - Programs - Standart): sudo passwd root
    Sudo позволяет использовать права суперпользователя для выполнения следующего запроса, а passwd изменяет пароль для выбранного пользователя, в данном случае для root. После ввода команды введите свой старый, а затем новый пароль.

    Активируйте возможность локального входа привилегированного пользователя через графическую оболочку в систему. Для этого перейдите в меню «Система» - «Администрирование» - «Окно входа в систему» - «Безопасность», а затем выберите пункт «Разрешить локальный вход…». Перезагрузите компьютер. Теперь вы можете логиниться как root.

    Для выполнения команд от root через «Терминал» в системах Fedora и Mandriva используется префикс su. Откройте файл gdm:
    su

    gedit /etc/pam.d/gdm
    И закомментируйте строку "auth required pam_succeed…" при помощи знака #. После этого перезагрузитесь и попробуйте зайти в качестве суперпользователя из окна выбора учетной записи.

    Если же у вас стоит рабочий стол KDE, то отредактируйте файл kdmrc, который находится в папке /usr/share/config/kdm. Найдите строчку AllowRootLogin и измените ее значение на True, после чего сохраните изменения и перезапустите сессию пользователя с помощью соответствующего пункта меню.

    Полезный совет

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

    Root является суперпользователем в Unix-подобных системах. Это административная учетная запись, которая имеет логин «root» по умолчанию и легко переименовывается при необходимости. Схема «суперпользователь-пользователь» была придумана для облегчения процесса администрирования и для обеспечения безопасности и стабильности системы. Все действия, производимые над системными файлами, недоступны для обычного пользователя, но возможны для рута.

    Инструкция

    В Ubuntu Linux по умолчанию зайти в качестве суперпользователя не получится. Чтобы включить учетную запись root, нужно знать его пароль. Обычно он задается при установке системы, но его всегда можно заменить. Откройте «Терминал» («Меню – «Программы» – «Стандартные») и введите команду: sudo passwd root. Команда «sudo» дает системе сигнал, что следующие действия должны выполняться . После этого вам нужно будет ввести свой старый пароль, а затем новый, который вы хотите задать.

    Дальше нужно создать возможность локального входа root-а в систему. Для этого перейдите в пункт «Система» - «Администрирование» - «Окно входа в систему». Перейдите на вкладку «Безопасность» и выберите пункт «Разрешить локальный вход для администратора системы».

    Для того, чтобы зайти под рутом в операционной системе Fedora, воспользуйтесь терминальной командой «su» и введите соответствующий пароль. После этого откройте файл gdm.

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

    Раньше данная проблема решалась достаточно просто: при обладании паролем root можно было зайти в систему под его аккаунтом либо временно получить его права, используя команду su . Потом выполнить все необходимые операции и вернуться обратно под обычного пользователя. В принципе, такая схема работает неплохо, однако у неё есть много существенных недостатков, в частности, невозможно никак (точнее, очень сложно) ограничивать административные привилегии только определённым кругом задач.

    Поэтому в современных дистрибутивах Linux вместо root аккаунта для администрирования используется утилита sudo .

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

    Что такое sudo

    sudo - это утилита, предоставляющая привилегии root для выполнения административных операций в соответствии со своими настройками. Она позволяет легко контролировать доступ к важным приложениям в системе. По умолчанию, при установке Ubuntu первому пользователю (тому, который создаётся во время установки) предоставляются полные права на использование sudo. Т.е. фактически первый пользователь обладает той же свободой действий, что и root. Однако такое поведение sudo легко изменить, об этом см. ниже в пункте про настройку sudo.

    Где используется sudo

    sudo используется всегда, когда вы запускаете что-то из меню Администрирования системы. Например, при запуске Synaptic вас попросят ввести свой пароль. Synaptic - это программа управления установленным ПО, поэтому для её запуска нужны права администратора, которые вы и получаете через sudo вводя свой пароль.

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

    Запуск графических программ с правами администратора

    Для запуска графических программ с правами администратора можно воспользоваться диалогом запуска программ, вызываемым по умолчанию сочетанием клавиш Alt + F2 .

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

    Gksudo nautilus

    Вместо gksudo можно подставить gksu , кроме того, пользователи KDE должны вместо gksudo писать kdesu . У вас попросят ввести свой пароль, и, если вы обладаете нужными правами, Nautilus запуститься от имени администратора. Запуск любого графического ПО можно производить с правами администратора, просто написав в диалоге запуска

    Gksudo <имя_команды>

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

    Запуск программ с правами администратора в терминале

    Для запуска в терминале команды с правами администратора просто наберите перед ней sudo:

    Sudo <команда>

    У вас попросят ввести ваш пароль. Будьте внимательны, пароль при вводе никак не отображается, это нормально и сделано в целях безопасности, просто вводите до конца и нажимайте Enter . После ввода пароля указанная команда исполнится от имени root.

    Система какое-то время помнит введённый пароль (сохраняет открытой sudo-сессию). Поэтому при последующих выполнениях sudo ввод пароля может не потребоваться. Для гарантированного прекращения сессии sudo наберите в терминале

    Кроме того, часто встречаются ошибки, связанные с каналами в Linux. При исполнении команды

    Sudo cat test.txt | grep text > result.txt

    с правами root исполнится только cat , поэтому файл result.txt может не записаться. Нужно либо писать sudo перед каждой командой, либо временно переходить под суперпользователя.

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

    Иногда возникает необходимость выполнить подряд несколько команд с правами администратора. В этом случае можно временно стать суперпользователем одной из следующих команд:

    Sudo -s sudo -i

    После этого вы перейдёте в режим суперпользователя (с ограничениями, наложенными через настройки sudo), о чём говорит символ # в конце приглашения командной строки. Данные команды по действию похожа на su , однако: - sudo -s - не меняет домашний каталог на /root, домашним остается домашний каталог пользователя вызвавшего sudo -s , что обычно очень удобно. - sudo -i - сменит так же и домашний каталог на /root.

    Для выхода обратно в режим обычного пользователя наберите exit или просто нажмите Ctrl + D .

    Использование традиционного root аккаунта и команды su

    Разблокировка учетной записи root приводит неоправданным рискам (работая постоянно под рутом вы имеете 100500 способов «отстрелить себе ногу»), а также упрощает получение доступа к вашему компьютеру злоумышленником.

    Ubuntu 11.04 и младше

    Для входа под root достаточно задать ему пароль:

    Sudo passwd root

    Потом на экране входа нажмите Другой… и введите логин (root) и пароль, который вы задали.

    Ubuntu 11.10 и старше

    Начиная с версии 11.10 был установлен менеджер входа lightdm, и дело со входом под root обстоит немного сложнее.

    1. Устанавливаем root пароль. Введите в терминал:

    Sudo passwd root

    2. Включаем пункт «Введите логин». Введите в терминал:

    Gksu gedit /etc/lightdm/lightdm.conf

    В конце файла допишите:

    Greeter-show-manual-login=true

    3. Перезагружаем lightdm. Введите в терминал:

    Sudo service lightdm restart

    Все, на экране входа появится пункт «Логин». В поле логин вводим «root», в поле пароль - пароль, который мы задали на первом этапе.

    Для обратной блокировки учетной записи root вам потребуется откатить изменения в настройках lightdm, а также заблокировать учетную запись root командой в терминале:

    Sudo passwd -l root

    Настройка sudo и прав доступа на выполнение различных команд

    sudo позволяет разрешать или запрещать пользователям выполнение конкретного набора программ. Все настройки, связанные с правами доступа, хранятся в файле /etc/sudoers . Это не совсем обычный файл. Для его редактирования необходимо (в целях безопасности) использовать команду

    Sudo visudo

    По умолчанию, в нём написано, что все члены группы admin имеют полный доступ к sudo , о чём говорит строчка

    %admin ALL=(ALL) ALL

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

    Man sudoers

    Если вы допустите ошибку при редактировании этого файла, то вполне возможно полностью лишитесь доступа к административным функциям. Если такое случилось, то необходимо загрузиться в recovery mode, при этом вы автоматически получите права администратора и сможете всё исправить. Кроме того, отредактировать этот файл можно с LiveCD.

    Разрешение пользователю выполнять команду без ввода пароля

    Для того, что бы система не запрашивала пароль при определенных командах необходимо в sudoers после строки # Cmnd alias specification добавить строку, где через запятую перечислить желаемые команды с полным путём(путь команды можно узнать, выполнив which имя_команды :

    # Cmnd alias specification Cmnd_Alias SHUTDOWN_CMDS = /sbin/shutdown, /usr/sbin/pm-hibernate, /sbin/reboot

    И в конец файла дописать строку

    Имя_пользователя ALL=(ALL) NOPASSWD: SHUTDOWN_CMDS

    Внимание! Вышеописанные действия не отменяют необходимости ввода команды sudo перед вашей командой

    Создание синонимов (alias`ов)

    Для того, чтобы не только не вводить пароль для sudo, но и вообще не вводить sudo, сделайте следующее: откройте файл.bashrc, находящейся в вашем домашнем каталоге

    nano ~/ bashrc

    и добавьте в конец файла строки

    alias reboot ="sudo reboot" alias poweroff ="sudo poweroff" alias pm-hibernate="sudo pm-hibernate" alias hibernate ="sudo pm-hibernate" alias shutdown ="sudo shutdown"

    Время действия введённого пароля

    Возможно, вы хотите изменить промежуток времени, в течение которого sudo действует без ввода пароля. Этого легко добиться добавив в /etc/sudoers (visudo) примерно следующее:

    Defaults:foo timestamp_timeout=20

    Здесь sudo для пользователя foo действует без необходимости ввода пароля в течение 20 минут. Если вы хотите, чтобы sudo всегда требовал ввода пароля, сделайте timestamp_timeout равным 0.

    sudo не спрашивает пароль

    sudo без пароля - чудовищная дыра в безопасности, кому попало разрешено делать что угодно. Если вы разрешили это намеренно - срочно верните обратно как было.

    Однако, в некоторых случаях sudo внезапно перестаёт требовать пароль само по себе. Если сделать visudo , то можно увидеть примерно такую строку, которую пользователь вроде бы не добавлял:

    ALL ALL=(ALL) NOPASSWD:ALL

    Скорее всего, эта катастрофичная строка была добавлена при установке программы типа Connect Manager от МТС или Мегафона. В таком случае, её нужно поменять на строку, разрешающую с правами root запускать только этот Connect Manager, примерно так:

    Юзернейм ALL= NOPASSWD: /путь/к/программе

    Есть и другие варианты решения проблемы, небольшое обсуждение .

    Как вы понимаете, в ответ на это приглашение необходимо ввести имя пользователя, а потом, по запросу, и пароль для входа в систему. Если это первый вход в систему после ее установки, то входить надо под именем ""root"". Это единственный пользователь, для которого обязательно заводится счет или бюджет (account) во время инсталляции. Этот пользователь является полным хозяином системы (как сейчас, так и в последующем), то есть имеет неограниченный доступ к ее ресурсам, может заводить и удалять других пользователей, останавливать систему и т. д. Неосторожное поведение пользователя с такими правами легко может привести к печальным последствиям, вплоть до полного краха системы. Поэтому обычно под этим именем входят в систему только для выполнения административных задач. Но у нас сейчас как раз такой случай, так что в ответ на приглашение login : вводим "root" и нажимаем клавишу (или < Return> ). Система выдаст запрос на ввод пароля:

    Password:

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

    Такая строка называется приглашением. Появление приглашения означает, что система готова воспринять и выполнить вашу команду. Сейчас это свидетельствует о том, что вы успешно вошли в систему. Вы видите черный экран и приглашение системы к вводу команды — то, что в MS-DOS или Windows принято называть режимом командной строки. Мы будем называть этот режим текстовым (в отличие от графического режима, предоставляемого системой X Window).

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

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

    Первая команда, которую стоит ввести — команда useradd . После имени команды надо ввести пробел и имя пользователя, например, jim:

    # useradd jim

    После этого система будет знать о существовании пользователя jim (говорят, будет "открыт счет для пользователя jim "). Однако войти в систему (или, как обычно говорят, "логироваться") под этим именем еще невозможно. Для того, чтобы система разрешила работать пользователю с именем jim , надо задать ему пароль. Для этого вводим команду

    # passwd jim

    Появится строка

    New UNIX password:

    Вводите пароль. После того, как вы завершите ввод нажатием клавиши , система попросит ввести его повторно:

    Retype new UNIX password:

    Если вы не ошиблись при вводе (пароль приходится вводить "вслепую", поскольку он не отображается на экране), появится сообщение:

    passwd: all authentication tokens updated successfully

    и приглашение системы. Если вы выбрали пароль не очень удачно (слишком короткий или простой), вам будет выдано предупреждение, но система все равно примет пароль и позволит новому пользователю входить с ним в систему.

    Таким образом, вы познакомились с первыми двумя командами системы Linux: useradd и passwd . Следующая команда, о которой нужно знать каждому пользователю любой UNIX-системы — это команда man . Команда man — это система встроенной помощи системы Linux. Вводить ее надо с параметром — именем другой команды или ключевым словом, например,

    # man passwd

    В ответ вы получите описание соответствующей команды или информацию по теме, обозначенной ключевым словом. Поскольку информация обычно не помещается на одном экране, при просмотре можно пользоваться клавишами И А также клавишей пробела. Нажатие клавиши в любой момент приводит к выходу из режима просмотра и возврату в режим ввода команд. Попробуйте просмотреть информацию по рассмотренным уже командам login и passwd . Заметим, что точно также можно получить информацию по самой команде man . Введите

    # man man

    К сожалению, в большинстве случаев информация выдается по-английски. Если вы не читаете по-английски, то терпеливо читайте настоящее руководство или другую подходящую книгу по данной теме.

    Вы можете попробовать вводить еще некоторые команды и понаблюдать за реакцией системы. Попробуйте, например, команды, перечисленные в табл. 3.1 (вводите их с приведенными в таблице параметрами).

    Таблица 3.1 . Простейшие команды Linux.

    Команда

    Краткое описание

    whoami

    Сообщает имя, с которым вы вошли в систему в данном сеансе работы

    w илиwho

    Сообщает, какие пользователи работают в данный момент в системе

    pwd

    Сообщает имя текущего каталога

    ls -l

    Выдает список файлов и подкаталогов текущего каталога

    cd < имя_каталога>

    Осуществляет смену текущего каталога

    ps ax

    Выдает список выполняющихся процессов

    Просмотрите описания этих команд с помощью команды man .

    Мы не будем приводить здесь более подробный список возможных команд. Во-первых, с необходимыми командами можно будет постепенно познакомиться в ходе дальнейшего чтения. Во-вторых, описания основных команд можно найти в любой книге по UNIX.

    В. Костромин (kos at rus-linux dot net) - 3.2. Вход в систему