Linux запуск от рута

Учебник по электpотехнике «1000 и 1 вольт»

Ubuntu и запуск программ от суперпользователя (root)

06.03.09 05:03 / Обновлено 20.06.10 18:04 | Версия для печати Linux | Ubuntu

Графика

Сочетание клавиш Alt — F2 выводит окно запуска программ:

Запуск программ в Ubuntu

В нём набираем: gksu имя_программы. Появится окно подтверждения полномочий, туда надо ввести свой пароль.

Консоль

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

Появится приглашение ввести свой пароль, введите его и программа выполнится. Если от рута надо исполнить несколько команд, пароль достаточно ввести только первый раз. Он запоминается на 5 минут с момента последнего использования. Команду sudo, тем не менее, придётся вводить каждый раз, что достаточно неудобно, особенно если под суперпользователем нужно работать достаточно долго.

Побороть это безобразие можно несколькими способами.

Вариант 1: активировать классическую схему с суперпользователем (которого изначально в убунте якобы нет). Для этого надо всего-навсего задать ему пароль:

Не надо повторять пароль своей учётной записи. Надо придумать другой и достаточно сложный.

Теперь, чтобы работать от имени рута, достаточно ввести в консоли:

И пароль пользователя root. Каждая следующая команда будет выполнена с правами суперпользователя.

или, что, в принципе, правильнее

Ключ -s запускает среду, заданную переменной $SHELL, а это, как правило, /bin/bash.

Чтобы выйти из консольной сессии достаточно ввести команду exit или нажать сочетание клавиш Ctrl — D .

Комментарии

Владимир
2011.11.24 02:26:05
#cid8513

Я не силён в Убунтах, но разве рутовй account там не залочен?
Т.е. для использования варианта 1 не надо ли сначала давать passwd -u ?

2011.11.24 16:16:27
#cid8547

Я не силён в Убунтах, но разве рутовй account там не залочен?
Т.е. для использования варианта 1 не надо ли сначала давать passwd -u ?

-u, —unlock
Unlock the password of the named account. This option re-enables a password by changing the password back to its previous value (to the value before using the -l option).

У рута в Убунте изначально нет пароля, то есть «back to its previous value» невозможен, потому что никакого «previous value» не существует.

sudo cat /etc/shadow | grep root
root: ! :15302:0:99999:7.

Владимир
2011.11.24 17:18:17
#cid8549

У рута в Убунте изначально нет пароля
[skip]
root. 15302:0:99999:7.

Ok спасибо, не знал 🙂

2011.11.24 17:53:44
#cid8551

Шо, на фряхе и солярисе такого нет?! )

Владимир
2011.11.25 02:28:42
#cid8574

Шо, на фряхе и солярисе такого нет?! )

Там нет этого несуразного использования sudo в тему и не в тему. 🙂
Пароль рута задаётся при установке — и никаких проблем.
Кстати, в чём глубинный смысл такого использования sudo в Убунте? Затруднить администрирование системы?

2011.11.25 02:53:49
#cid8579

Надо пустую строчку оставлять, иначе текст прилипает к цитате.
Исправил.

Кстати, в чём глубинный смысл такого использования sudo в Убунте? Затруднить администрирование системы?

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

Так что, если бы в убунте оставили включенным рута, все новоприбывшие под ним бы и сидели.

Владимир
2011.11.25 03:09:47
#cid8581

Так что, если бы в убунте рута оставили включенным, все новоприбывшие под ним бы и сидели.

Кстати (немного не в тему) есть такой забавный LiveCD дистрибутив Puppy linux, где вся работа ведётся от рута.
Там, кстати, можно посмотреть unionfs в действии.

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

Техническая информация
Время подготовки страницы: 0.000955 c.
Кэш: частичный.

Источник

Что использовать для запуска GUI-программ от имени root?

Если su/sudo — корёжит права на файлы в хомяке, выставляя владельцем root. gksudo предлагается для gtk, kdesudo — для kde. В чём разница и есть ли универсальный вариант?

Что есть в системе, то и пользуйте.

Решение проще чем кажется. Не запускать GUI программы от root.

Я не спросил, запускать ли их. Я спросил, чем запускать.

всегда использовал gksu. оно работает как sudo, вроде ставится отдельным пакетом. Библиотека или gtk+ без темы, или что то на Х-виджетах

К стати тоже интресует относительно использования таких дистров, например, как Xubuntu с Xfce. Там даже вручную установленный gksu нифига не работает. А некоторый проги запускаются если в окошке Alt+F2 их запускать тупо через sudo. Другие же и так не запускаются. В общем как-то неочевидно.

xhost+ &&export DISPLAY=:0 &&program

Если su/sudo — корёжит права на файлы в хомяке, выставляя владельцем root.

Чтобы не забыть добавь alias в .bashrc

корёжит права на файлы в хомяке, выставляя владельцем root

А то ты делаешь от рута в своём хомяке?

sudo dolphin ломает права на временные файлы KDE до рестарта сессии.

лол, ничего подобного

su-to-root -X -c «название программы»

Пример с программой Synaptic

su-to-root -X -c synaptic

su-to-root -X -c bleachbit

Ага, спасибо, попробую. Кстати, в synaptic и gparted используется pkexec. Что это за зверь?

Debian Jessie Xfce

А права сабж не портит? Если я им открою файл юзера и что-то изменю, то что будет с правами?

наверное, как-то связано с policykit-1

С помощью команды запустить программу с правами администратора на протяжении всей сессии.

Что-то тебя глючит слегка.

Там даже вручную установленный gksu нифига не работает.

Потому что в окружениях не-KDE и не-GNOME проще использовать ktsuss.

Логинься в кеды рутом, тогда конфиги и все остальное будет в /root с владельцем root.

Корзина. Так — как я являюсь основным переводчик Xfce на болгарский язык, я позволил сделать себе собственный перевод, отличается от стандартной.

А если сделать sudo -H ?

ничего ни где не корежит.

Если надо писать в виндовс раздел, а у меня он специально на запись только от рута, то использую krusader, там кнопочка есть, запустить от рута

Долгое время пользовался gksu, но оно, хоть и умеет запоминать пароль, зависит от гномодемонов и временами отваливается. Слез, пробовал ktsuss, LXDE-шный polkit, ещё пару приблуд каких-то — задолбался, просто прописал себе NOPASSWD и запускаю всё через sudo. Мне б лучше способ из-под рутовой программы запускать софт под пользователем, поскольку ФМ держу только под рутом всегда, а файлы открываю из него — в результате дублирование настроек — пользую Geeqie, Atril, LibreOffice, SMPlayer под рутом, а M$O вообще только под рутом и ставил, ибо жирный. Уже плеер только под рутом не конает, поскольку пульса от рутовых прог ломается.

Источник

Администратор в 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 запуститься от имени администратора. Запуск любого графического ПО можно производить с правами администратора, просто написав в диалоге запуска

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

Для запуска в терминале команды с правами администратора просто наберите перед ней 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) примерно следующее:

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

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

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

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

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

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

Источник

Читайте также:  Linux mint lmde 2 что это
Оцените статью