Мне нужно запустить команду с правами администратора. Кто-то сказал, что я должен запустить команду от имени пользователя root. Как мне это сделать?
sudo
root
administration
Стефан
источник
источник
Ответы:
Основные две возможности командной строки:
su
и введите пароль root при появлении запроса.sudo
перед командой и введите свой пароль при появлении запроса.Выполнение команды оболочки от имени пользователя root
sudo (предпочтительно, когда не работает графический дисплей)
Это предпочтительный метод на большинстве систем, включая Ubuntu, Linux Mint, (возможно) Debian и другие. Если вы не знаете отдельный пароль пользователя root, используйте этот метод.
Судо требует, чтобы вы набрали свой собственный пароль. (Цель состоит в том, чтобы ограничить ущерб, если вы оставите клавиатуру без присмотра и разблокировки, а также убедиться, что вы действительно хотите выполнить эту команду, а это не было, например, опечаткой.) Она часто настроена так, чтобы не запрашивать несколько раз минут, чтобы вы могли запустить несколько
sudo
команд подряд.Пример:
Если вам нужно запустить несколько команд от имени пользователя root, добавьте к каждой из них префикс
sudo
. Иногда удобнее запускать интерактивную оболочку от имени пользователя root. Вы можете использоватьsudo -i
для этого:Вместо
sudo -i
, вы можете использоватьsudo -s
. Разница заключается в том, что-i
вновь я nitializes среды к вменяемым по умолчанию, в то время как-s
использует файлы конфигурации лучше или хуже.Для получения дополнительной информации посетите веб-сайт sudo или введите
man sudo
в своей системе. Судо очень настраивается; например, его можно настроить так, чтобы определенный пользователь мог выполнять только определенные команды от имени пользователя root. Прочтите справочнуюsudoers
страницу для получения дополнительной информации; используйтеsudo visudo
для редактирования файла sudoers.су
Команда
su
существует в большинстве unix-подобных систем. Он позволяет запускать команду от имени другого пользователя, если вы знаете пароль этого пользователя. При запуске без указания пользователяsu
по умолчанию будет использоваться корневая учетная запись.Пример:
Команда для запуска должна быть передана с использованием
-c
опции. Обратите внимание, что вам нужны кавычки, чтобы команда не анализировалась вашей оболочкой, а передавалась в целевую корневую оболочкуsu
.Для запуска нескольких команд от имени пользователя root удобнее запускать интерактивную оболочку.
В некоторых системах вы должны быть в группе номер 0 (вызываемой
wheel
), чтобы использоватьsu
. (Смысл в том, чтобы ограничить ущерб, если кто-то случайно утвердил пароль root.)Вход в систему как root
Если установлен пароль root, и вы им владеете, вы можете просто набрать
root
в приглашении для входа и ввести пароль root. Будьте очень осторожны и избегайте запуска сложных приложений от имени пользователя root, поскольку они могут делать то, что вы не собирались. Вход в систему с правами суперпользователя в основном полезен в чрезвычайных ситуациях, таких как сбои диска или когда вы заблокировали свою учетную запись.Однопользовательский режим
Однопользовательский режим или уровень выполнения 1 также дает вам привилегии root. Это предназначено, прежде всего, для ситуаций аварийного технического обслуживания, когда загрузка на многопользовательском уровне выполнения невозможна. Вы можете загрузиться в однопользовательском режиме, передав
single
илиemergency
в командной строке ядра. Обратите внимание, что загрузка в однопользовательском режиме отличается от обычной загрузки системы и входа в систему от имени пользователя root. Скорее, система только запустит службы, определенные для уровня выполнения 1. Как правило, это наименьшее количество служб, необходимых для использования работоспособной системы.Вы также можете получить в однопользовательский режим с помощью команды telinit:
telinit 1
; однако эта команда требует, чтобы вы уже получили права root с помощью другого метода для запуска.Во многих системах загрузка в однопользовательском режиме предоставит пользователю доступ к корневой оболочке без запроса пароля. В частности,
systemd
системы на основе будут запрашивать пароль root при загрузке таким образом.Другие программы
Calife
Calife позволяет запускать команды от имени другого пользователя, вводя собственный пароль, если он авторизован. Это похоже на гораздо более распространенное sudo (см. Выше). Calife более легкий, чем sudo, но также менее настраиваемый.
Op
Op позволяет запускать команды от имени другого пользователя, включая пользователя root. Это не полномасштабный инструмент для выполнения произвольных команд: печатаемые с
op
последующим мнемонические сконфигурированной системным администратором , чтобы выполнить конкретную команду.Супер
Super позволяет запускать команды от имени другого пользователя, включая пользователя root. Команда должна быть разрешена системным администратором.
Запуск графической команды от имени пользователя root
Смотрите также Википедия .
PolicyKit (предпочтительно при использовании GNOME)
Просто добавьте префикс к желаемой команде
pkexec
. Имейте в виду, что хотя это работает в большинстве случаев, оно не работает универсально.Смотрите
man pkexec
для получения дополнительной информации.KdeSu, KdeSudo (предпочтительно при использовании KDE)
kdesu
иkdesudo
являются графическими интерфейсами дляsu
иsudo
соответственно. Они позволяют запускать программы X Window от имени root без каких-либо хлопот. Они являются частью KDE . Типи введите пароль пользователя root или введите
и введите свой пароль (если разрешено запускать
sudo
). Если вы включите опцию «сохранить пароль» в KdeSu, вам придется вводить пароль root только один раз за сеанс входа в систему.Другие программы
KtsussKtsuss (« оставь su простым, глупым») - это графическая версия su.
BeesuBeesu - это графический интерфейс команды su, которая заменила Gksu в операционных системах на базе Red Hat. Он был разработан в основном для RHEL и Fedora.
Устаревшие методы
gksu
а такжеgksudo
gksu
иgksudo
являются графическими интерфейсами дляsu
иsudo
соответственно. Они позволяют запускать программы X Window от имени root без каких-либо хлопот. Они являются частью Gnome . Типи введите пароль пользователя root или введите
и введите свой пароль (если разрешено запускать
sudo
).gksu
иgksudo
устарели. Они были заменены PolicyKit в GNOME, и многие дистрибутивы (такие как Ubuntu) больше не устанавливают их по умолчанию. Вы не должны зависеть от их доступности или правильной работы.Вручную с помощью одного из методов на основе оболочки
Используйте один из методов в разделе «Запуск команды оболочки в качестве корневого раздела». Вам нужно будет убедиться, что ни
DISPLAY
переменная среды, ниXAUTHORITY
среда не будут сброшены при переходе к root. Это может потребовать дополнительной настройки тех методов, которые выходят за рамки этого вопроса.В целом, это плохая идея, в основном потому, что графические приложения будут читать и записывать файлы конфигурации как root, и когда вы попытаетесь использовать эти приложения снова как обычный пользователь, эти приложения не будут иметь разрешения на чтение своих собственных конфигураций.
Редактирование файла как root
Смотрите Как мне отредактировать файл как root?
источник
sudo
будет работать только в том случае, если (1) он установлен и (2), если вы используете файл sudoers и ему разрешено выполнять операцию.pkexec
заменяетgksu
/gksudo
во многих дистрибутивах в настоящее время.Используйте
su
:или же
В любом случае вам будет предложено ввести
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 <command>
команду с привилегиями или полномочиями, предоставленными этому пользователю для этой команды.Приятной особенностью RBAC является то, что нет никаких дополнительных привилегий, предоставляемых самой команде или пользователю, только комбинации user + command. Так что это безопаснее, чем делать бинарные + или просто использовать sudo, чтобы пользователь мог выполнять практически все что угодно. (Я знаю, что вы можете заблокировать sudo, но по моему опыту большинство людей этого не делают)
Еще одним преимуществом RBAC является то, что вы можете сделать root учетной записью роли и назначить эту роль пользователям, которые могут стать пользователем root с помощью команды 'su' и пароля root. Пользователь root также сможет войти в однопользовательский режим, что лучше (на мой взгляд), чем модель Linux, где вы можете отключить пароль root
passwd -d root
или заблокировать учетную запись rootpasswd -l root
, оба из которых делают вход в систему как root довольно тяжело когда что-то идет не так.У Бена Роквуда есть отличный пост в блоге о RBAC, который можно прочитать в разделе Использование RBAC в (Open) Solaris .
источник
Или вы можете дать некоторые команды сверхдержавы. Я говорю о специальных разрешениях, в которых команды выполняются с разрешения владельца.
Получите путь команды
#which <command>
и установите SUID или SGID для этого пути.PS - биты SUID и SGID следует указывать с осторожностью. Они могут сделать вашу систему небезопасной.
источник