Зайти как администратор linux

Администратор в Ubuntu, или Что такое sudo

Содержание

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

Читайте также:  Xerox phaser 3100 mfp драйвер windows 10 x64

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

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

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

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

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

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

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

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

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

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

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

Ubuntu 11.04 и младше

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

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

Ubuntu 11.10 и старше

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Автозагрузка dvd windows 10

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

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

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

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

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

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

Источник

Администратор и суперпользователь

Итак, при установке системы вы указывали имя пользователя и пароль, и я сказал, что указанный пользователь после установки будет администратором системы. Так же я сказал, что использование учётной записи администратора не несёт практически никакой угрозы безопасности системы. Теперь постараюсь объяснить всё немного поподробней.

Суперпользователь

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

Администратор

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

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

Теория теорией, но вам наверно интересно, как же это всё выглядит на практике? Давайте попробуем установить какую-нибудь программу. Запускаем Центр приложений Ubuntu (нажимаем на его значок в панели запуска). Ищем нужную программу либо через строку поиска, либо по категориям. Давайте установим Midnight Commander 3) . Набираем в стоке поиска mc, выбираем из списка нужную программу и нажимаем «Установить». Поскольку установка программного обеспечения — операция потенциально опасная, то, для ее выполнения, нужны права суперпользователя. О чем система вам незамедлительно сообщит:

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

Читайте также:  Драйвер validity sensor для windows

Привилегии администратора нужны не только для установки и удаления программ, но и для запуска системных приложений, внесения изменений, которые могут затронуть работоспособность системы и т.п. Попробуем добавить нового пользователя. Запускаем «Параметры системы», находим пункт «Учетные записи»:

Видите, вы не можете ничего изменить, поскольку поля добавления и удаления пользователей заблокированы. Однако в правом верхнем углу экрана находится кнопка «Разблокировать». Нажмите её, система снова спросит ваш пароль:

После ввода пароля, поле добавления пользователей стало активным:

Связки ключей

Есть ещё один интересный механизм, связанный с обеспечением безопасности. Дело в том, что для хранения различных пользовательских паролей в Ubuntu используются так называемые связки ключей (keyrings). Весь этот механизм служит одной цели — никто, кроме конкретного пользователя, не должен иметь доступа к пользовательским паролям. Связка ключей — это собственно зашифрованный контейнер для хранения паролей, для доступа к которому строго говоря тоже нужен пароль. Кстати, связки ключей не имеют ничего общего с административными правами. Они принадлежат конкретному пользователю и вообще не зависят от прав доступа к системным параметрам.

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

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

Для управления паролями и связками ключей, а так же ключами шифрования, в Ubuntu существует специальная утилита Пароли и ключи шифрования, называется она seahorse

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

Что ж, надеюсь вы немного разобрались с тем, как управлять вашей новой системой. Если же всё вышеописанное показалось вам китайской грамотой, то запомните одну простую вещь: в Ubuntu у каждого пользователя есть только один пароль, и когда у вас система запрашивает авторизацию, всегда вводите именно его 4) . Если у вас будут права на доступ к запрашиваемому функционалу, то вы получите к нему доступ, если не будет — то не получите, всё просто. Никаких дополнительных паролей для доступа к каким-либо функциям системы в Ubuntu нет. Если вы так и не поняли смысла вводить один и тот же пароль несколько раз, то перечитайте эту статью с начала. А теперь пора отдать должное истории развития Linux и рассказать про основы использования терминала:

Источник

Оцените статью