linux как запустить программу с правами root

Как запустить команду от имени системного администратора (root)

Мне нужно запустить команду с правами администратора. Кто-то сказал, что я должен запустить команду от имени пользователя root. Как мне это сделать?

Основные две возможности командной строки:

Выполнение команды оболочки от имени пользователя root

sudo (предпочтительно, когда не работает графический дисплей)

Это предпочтительный метод на большинстве систем, включая Ubuntu, Linux Mint, (возможно) Debian и другие. Если вы не знаете отдельный пароль пользователя root, используйте этот метод.

Судо требует, чтобы вы набрали свой собственный пароль. (Цель состоит в том, чтобы ограничить ущерб, если вы оставите клавиатуру без присмотра и разблокировки, а также убедиться, что вы действительно хотите выполнить эту команду, а это не было, например, опечаткой.) Она часто настроена так, чтобы не запрашивать несколько раз минут, чтобы вы могли запустить несколько sudo команд подряд.

Для получения дополнительной информации посетите веб-сайт sudo или введите man sudo в своей системе. Судо очень настраивается; например, его можно настроить так, чтобы определенный пользователь мог выполнять только определенные команды от имени пользователя root. Прочтите справочную sudoers страницу для получения дополнительной информации; используйте sudo visudo для редактирования файла sudoers.

Команда su существует в большинстве unix-подобных систем. Он позволяет запускать команду от имени другого пользователя, если вы знаете пароль этого пользователя. При запуске без указания пользователя su по умолчанию будет использоваться корневая учетная запись.

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

Вход в систему как root

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

Однопользовательский режим

Однопользовательский режим или уровень выполнения 1 также дает вам привилегии root. Это предназначено, прежде всего, для ситуаций аварийного технического обслуживания, когда загрузка на многопользовательском уровне выполнения невозможна. Вы можете загрузиться в однопользовательском режиме, передав single или emergency в командной строке ядра. Обратите внимание, что загрузка в однопользовательском режиме отличается от обычной загрузки системы и входа в систему от имени пользователя root. Скорее, система только запустит службы, определенные для уровня выполнения 1. Как правило, это наименьшее количество служб, необходимых для использования работоспособной системы.

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

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

Другие программы

Calife

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

Супер

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

Запуск графической команды от имени пользователя root

PolicyKit (предпочтительно при использовании GNOME)

Смотрите man pkexec для получения дополнительной информации.

KdeSu, KdeSudo (предпочтительно при использовании KDE)

и введите пароль пользователя root или введите

и введите свой пароль (если разрешено запускать sudo ). Если вы включите опцию «сохранить пароль» в KdeSu, вам придется вводить пароль root только один раз за сеанс входа в систему.

Другие программы

Устаревшие методы

и введите пароль пользователя root или введите

и введите свой пароль (если разрешено запускать sudo ).

gksu и gksudo устарели. Они были заменены PolicyKit в GNOME, и многие дистрибутивы (такие как Ubuntu) больше не устанавливают их по умолчанию. Вы не должны зависеть от их доступности или правильной работы.

Вручную с помощью одного из методов на основе оболочки

Используйте один из методов в разделе «Запуск команды оболочки в качестве корневого раздела». Вам нужно будет убедиться, что ни DISPLAY переменная среды, ни XAUTHORITY среда не будут сброшены при переходе к root. Это может потребовать дополнительной настройки тех методов, которые выходят за рамки этого вопроса.

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

Редактирование файла как root

Поскольку вопрос не был специфичен для Linux, вот как вы достигаете той же цели в Solaris 9+ (или Trusted Solaris 8):

Solaris, начиная с версии 9, включает в себя набор инструментов, ласково именуемых RBAC или Role Based Access Control.

Суть RBAC заключается в том, что посредством предоставления авторизаций и прав пользователям и / или ролям или предоставления ролей пользователям вы можете создавать невероятно детализированные модели для того, кто может выполнять, с какими привилегиями.

По сути, вы идентифицируете авторизацию в / etc / security / auth_attr, а затем предоставляете их пользователям или ролям в / etc / user_attr.

Вы определяете профили в / etc / security / prof_attr. Затем вы связываете команды с этими профилями в / etc / security / exec_attr с последующим назначением этих профилей пользователям в файле / etc / user_attr.

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

Приятной особенностью RBAC является то, что нет никаких дополнительных привилегий, предоставляемых самой команде или пользователю, только комбинации user + command. Так что это безопаснее, чем делать бинарные + или просто использовать sudo, чтобы пользователь мог выполнять практически все что угодно. (Я знаю, что вы можете заблокировать sudo, но по моему опыту большинство людей этого не делают)

Источник

Вами управляет тот, кто вас злит

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

Графика

scr1

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

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

Консоль

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

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

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

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

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

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

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

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

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

Комментарии

Владимир

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

Владимир

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

Ok спасибо, не знал :-)

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

Владимир

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

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

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

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

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

Владимир

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

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

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

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

Источник

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sudo

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

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

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

sudo1

sudo2

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

sudo3

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

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

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

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

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

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

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

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

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

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

Выводы

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

Источник

Root Linux — инструкции учетной записи суперпользователя

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

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

Откройте терминал.

Введите «Su-».1 e1556821249637

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

Введите пароль root при появлении запроса

После ввода «Su-» будет предложено ввести пароль root.

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

Проверьте командную строку.

Введите команды, которые требуют root-доступа.

Разблокировка учетной записи root

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

Откройте терминал

Вводим « sudo passwd root» .2 e1556821278575

При запросе пароля введите ваш пароль пользователя

Установите новый пароль.

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

Снова заблокируйте учетную запись root.

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

Вход в систему как Root

Рассмотрите возможность использования других методов для получения временного корневого доступа. Вход в систему как root не рекомендуется для регулярного использования.

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

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

Использование sudo или su вместо входа в систему как root поможет предотвратить непреднамеренный ущерб при входе в систему как root.

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

Некоторые дистрибутивы, такие как Ubuntu, оставляют корневую учетную запись заблокированной, пока вы не разблокируете ее вручную.

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

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

Введите пароль пользователя root в качестве пароля пользователя.

Избегайте запуска сложных программ при входе в систему как root.

Существует вероятность того, что программа, которую вы намереваетесь запустить, окажет негативное влияние на вашу систему, когда у нее есть root-доступ. Настоятельно рекомендуется использовать sudo или su запускать программы, а не входить в систему как пользователь root.

Сброс пароля root или администратора

Сбросьте пароль root, если он был забыт.11

Это откроет меню GRUB. Возможно, придется попробовать данную процедуру несколько раз.

Выберите режим восстановления .

Это загрузит режим восстановления для вашего текущего дистрибутива.

Выберите вариант из меню.

Это запустит терминал, когда вы вошли в систему как пользователь root.

Диск с разрешениями на запись.

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

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

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

Перезагрузите компьютер после сброса паролей.

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

Источник

DATAENGINER

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

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

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

Воспользуйтесь этой аналогией, чтобы лучше понять это. Если вам нужно разрезать фрукт, воспользуйтесь кухонным ножом. Если вам нужно срубить дерево, вы должны использовать пилу. Теперь вы можете использовать пилу, чтобы разрезать фрукты, но это не мудро, не так ли?

Означает ли это, что вы не можете иметь root-права в Ubuntu или использовать систему с root-правами? Нет, у вас все еще есть root-доступ с помощью sudo (объяснено в следующем разделе).

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

Как запускать команды от имени пользователя root в Ubuntu?

apt update
Reading package lists… Done
E: Could not open lock file /var/lib/apt/lists/lock — open (13: Permission denied)
E: Unable to lock directory /var/lib/apt/lists/
W: Problem unlinking the file /var/cache/apt/pkgcache.bin — RemoveCaches (13: Permission denied)
W: Problem unlinking the file /var/cache/apt/srcpkgcache.bin — RemoveCaches (13: Permission denied)

Итак, как вы запускаете команды от имени пользователя root? Простой ответ — добавить sudo перед командами, которые необходимо запускать от имени пользователя root.

Ubuntu и многие другие дистрибутивы Linux используют специальный механизм, называемый sudo. Sudo — это программа, которая контролирует доступ к запущенным командам от имени пользователя root (или других пользователей).

На данный момент вы должны знать, что при установке Ubuntu вам необходимо создать учетную запись пользователя. Эта учетная запись пользователя работает как администратор в вашей системе, и в соответствии с политикой sudo по умолчанию в Ubuntu она может запускать любую команду в вашей системе с правами root.

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

$ sudo apt update
[sudo] password for user:

Как вы можете видеть в приведенном выше примере, пользователь user пытался запустить команду apt update с помощью sudo, и система запросила пароль для user.

Если вы новичок в Linux, вы можете быть удивлены тем, что, когда вы начинаете вводить пароль в терминале, на экране ничего не происходит. Это совершенно нормально, потому что в качестве функции безопасности по умолчанию на экране ничего не отображается. Даже звездочки (*). Вы вводите свой пароль и нажимаете ввод.

Итог:
чтобы запускать команды от имени пользователя root в Ubuntu, добавьте sudo перед командой.
При запросе пароля введите пароль своей учетной записи.
Когда вы вводите пароль на экране, ничего не видно. Просто продолжайте вводить пароль и нажмите Enter.

Как стать пользователем root в Ubuntu?

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

Команда sudo позволяет имитировать оболочку входа в систему root с помощью этой команды:

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

Если вы попытаетесь использовать команду su без sudo, вы столкнетесь с ошибкой su authentication failure.

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

Как включить пользователя root в Ubuntu?

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

Linux дает вам свободу делать с вашей системой все, что вы хотите. Разблокировка пользователя root — одна из таких свобод.

Если по каким-то причинам вы решили включить пользователя root, вы можете сделать это, установив для него пароль:

Вы можете снова заблокировать пользователя root, удалив пароль:

В конце…

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

Источник

Понравилась статья? Поделить с друзьями:
Добавить комментарий
  • Как сделать успешный бизнес на ритуальных услугах
  • Выездной кейтеринг в России
  • Риски бизнеса: без чего не обойтись на пути к успеху
  • linux запустить приложение в фоне
  • linux запуск с правами root