Команда su в Linux
В процессе работы у пользователя часто возникает задача выполнить команду с иными привилегиями. Например, когда он желает установить новую программу, обновить систему, настроить сетевой экран и др. В этом случае ему приходит на помощь команда su в Linux.
Данная команда заменяет пользователя оболочки shell на указанного. Фактически происходит запуск нового экземпляра оболочки с указанными параметрами. Благодаря этому возможно, не выходя из системы, совершенно безболезненно повышать возможности управления операционной системой или наоборот ограничивать их.
Команда su Linux
Команда имеет следующий синтаксис:
su [options] [-] [user]
Если вызов команды происходит без аргументов, то происходит смена пользователя оболочки shell на суперпользователя root. Программа выдаст приглашение ввода пароля, если пароль будет верным, то текущим пользователем станет root.
- options — некоторые дополнительные возможности команды. Мы их рассмотрим ниже:
- [-] — смена контекста выполнения оболочки на контекст указанного пользователя. Переменные $PATH, $HOME, $SHELL, $USER, $LOGNAME содержат значения, характерные для указанного пользователя. Домашняя папка пользователя меняется на другую.
- user — имя пользователя, под которым продолжит работать командная оболочка.
Основные опции команды su:
- -c, —command=command — запускает приложение под указанным аккаунтом;
- -s, —shell=shell— происходит запуск для заданного пользователя указанной оболочки;
- -, -l, —login — смена контекста выполнения на контекст заданного пользователя, аналогична смене пользователя системы для shell;
- -g, —group=group — вызов пользователя, состоящего в заданной группе. Используется только для пользователя root;
- -h, —help — вызов справки для команды.
Далее давайте рассмотрим примеры работы с утилитой su.
Примеры использования su
Смена пользователя на суперпользователя root, без смены окружения оболочки:
Обратите внимание, что здесь вам нужно набрать пароль не своего пользователя, а именно того, от имени которого вы хотите авторизоваться. В данном случае, пользователя root. Если вы получаете ошибку сбой при проверке подлинности su linux, то это может означать, что либо вы ввели пароль неверно, либо пароль для этого пользователя не задан. Такое можно встретить у пользователя root в Ubuntu и Linux Mint. Информацию о том как установить пароль вы можете найти в этой статье. Смена пользователя на суперпользователя root со сменой параметров окружения оболочки:
Смена пользователя на пользователя user01:
Смена пользователя на пользователя user01 со сменой окружения:
Запуск оболочки zsh для пользователя user01:
Запуск оболочки bash из оболочки zsh для пользователя user01:
Запуск файлового менеджера Midnight Commander для пользователя user01:
Просмотр содержимого директории boot суперпользователем root:
Чтобы выйти из оболочки, открытой командой su можно использовать встроенную команду exit или сочетание клавиш Ctrl+d.
Выводы
Сегодня вы узнали что из себя представляет команда su linux, которая позволяет запустить оболочку от имени другого пользователя, как со сменой окружения, так и без. Узнали как выйти из этой оболочки.
Были рассмотрены различные варианты использования данной команды: для получения прав суперпользователя root, для смены командной оболочки, для выполнения конкретной команды или пакета от имени указанного пользователя.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Su сбой при проверке подлинности linux mint
Потому что у root нет пароля. Вводить нужно ‘sudo su’ Первый толклвый ответ за сегодня! Про ‘sudo su’ впервые встречаю. Почему-то нигде об этом не говорят.
Спасибо.
А что, если при этом вашего пользователя нет в sudoers file? =) вот как раз столкнулась в этим. И, кстати, при установке, пароль рутовый указала.. Странно все это.. Класс все работает спс :))) хотел сносить, ан нет- помучаю ещё!Спасибо! Источник
Команда su root [Решено]
Что происходит, когда я ввожу su root? Меня просят пароль, но у меня есть только свой пароль (я включён в группу администраторов). Какой пароль я должен ввести в этом случае? Если я ввожу свой пароль (а я единственный пользователь системы), то в результате мне выдаётся сообщение: su: Сбой при проверке подлинности.
И не является ли такое использование команды su ситуацией, непредусмотренной создателями этой команды? Потому что у рута на моей кубунте пароль отсутствует. Пароль есть только у меня как у единственного пользователя системы. Этот вопрос мне интересен, потому что хотел бы просто для интереса зарегиться под рутом и не использовать sudo. Возможно ли такое? Рута на kubuntu вообще нету по умолчанию, поэтому у него нету и пароля, поэтому через него и нельзя зайти, поэтому обычно используют sudo -s -H А вообще про это дело есть в подшивке ТУТ Команда su открывает сеанс root. Она не требует аргументов, т.е. не надо писать su root. По умолчанию в бунте у root нет пароля, поэтому su не работает.
Чтобы «зарегиться под рутом», выполните sudo passwd root
Открывать сеанс рута без это можно по sudo su или sudo -i sudo su
Даст тебе желаемое а root в ubuntu по умолчанию отключен — можно конечно включить но сидеть всё время под root-ом плохой тон. Создать пользователя root это не значит запускать под ним систему. Хотя за многие годы так и не возникла необходимость его создать. Хватало всегда sudo -i Всегда пользовался sudo bash.
Это не одно и то же? Как бы не одно и тоже, но результат тот же ))) Тут у каждого свои прибамбасы.
Теперь понятно стало. Я не понимал назначение команды su и команды sudo. Команду sudo может выполнять только пользователь, входящий в группу sudo. А su любой пользователь, и для захода под пользователем нужно знать пароль этого пользователя, под которым заходить надо. Так что su root вообще не нужна из соображений безопасности. Всем спасибо, вы мне просто глаза открыли. Источник
Команда su в Linux
В процессе работы у пользователя часто возникает задача выполнить команду с иными привилегиями. Например, когда он желает установить новую программу, обновить систему, настроить сетевой экран и др. В этом случае ему приходит на помощь команда su в Linux. Данная команда заменяет пользователя оболочки shell на указанного. Фактически происходит запуск нового экземпляра оболочки с указанными параметрами. Благодаря этому возможно, не выходя из системы, совершенно безболезненно повышать возможности управления операционной системой или наоборот ограничивать их.
Команда su Linux
Команда имеет следующий синтаксис: su [options] [-] [user] Если вызов команды происходит без аргументов, то происходит смена пользователя оболочки shell на суперпользователя root. Программа выдаст приглашение ввода пароля, если пароль будет верным, то текущим пользователем станет root.
- options — некоторые дополнительные возможности команды. Мы их рассмотрим ниже:
- [-] — смена контекста выполнения оболочки на контекст указанного пользователя. Переменные $PATH, $HOME, $SHELL, $USER, $LOGNAME содержат значения, характерные для указанного пользователя. Домашняя папка пользователя меняется на другую.
- user — имя пользователя, под которым продолжит работать командная оболочка.
Основные опции команды su:
- -c, —command=command — запускает приложение под указанным аккаунтом;
- -s, —shell=shell— происходит запуск для заданного пользователя указанной оболочки;
- -, -l, —login — смена контекста выполнения на контекст заданного пользователя, аналогична смене пользователя системы для shell;
- -g, —group=group — вызов пользователя, состоящего в заданной группе. Используется только для пользователя root;
- -h, —help — вызов справки для команды.
Далее давайте рассмотрим примеры работы с утилитой su.
Примеры использования su
Смена пользователя на суперпользователя root, без смены окружения оболочки:
Обратите внимание, что здесь вам нужно набрать пароль не своего пользователя, а именно того, от имени которого вы хотите авторизоваться. В данном случае, пользователя root. Если вы получаете ошибку сбой при проверке подлинности su linux, то это может означать, что либо вы ввели пароль неверно, либо пароль для этого пользователя не задан. Такое можно встретить у пользователя root в Ubuntu и Linux Mint. Информацию о том как установить пароль вы можете найти в этой статье. Смена пользователя на суперпользователя root со сменой параметров окружения оболочки:
Смена пользователя на пользователя user01:
Смена пользователя на пользователя user01 со сменой окружения:
Запуск оболочки zsh для пользователя user01:
Запуск оболочки bash из оболочки zsh для пользователя user01:
Запуск файлового менеджера Midnight Commander для пользователя user01:
Просмотр содержимого директории boot суперпользователем root:
Чтобы выйти из оболочки, открытой командой su можно использовать встроенную команду exit или сочетание клавиш Ctrl+d.
Выводы
Сегодня вы узнали что из себя представляет команда su linux, которая позволяет запустить оболочку от имени другого пользователя, как со сменой окружения, так и без. Узнали как выйти из этой оболочки.
Были рассмотрены различные варианты использования данной команды: для получения прав суперпользователя root, для смены командной оболочки, для выполнения конкретной команды или пакета от имени указанного пользователя.
su: сбой при проверке подлинности
Поставил Debian. Суть проблемы:
su: сбой при проверке подлинности
«username» is not in the sudoers file. This incident will be reported.
Ошибок с паролем быть не может. Как решить?
Решил, всем спасибо. Расходитесь.
Галочка решено и напиши в чем был затык — думаю не один ты столкнулся с такой проблемой, следующий погуглит, попадет на твою тему (лор на первых страницах гугла) и не создаст очередную.
Да пользователя добавить в группу sudo, это же в официальном мануале есть: https://wiki.debian.org/sudo
Так что гугл уже имеет, что выдать. А если человек не привык гуглить — он в любом случае создаст тему.
не создавал для рута пароль?
В таком случае инсталлятор добавляет пользователя в группу автоматически.
И single user mode никто не отменял.
И single user mode никто не отменял.
Я удалял себя из группы судо нечаяно, а пароль рута залочен. Было прикольно. Т.е. single в этом случае тоже не работает.
sudoers
такая проблема: профиль с правами рут начал странно вылетать, решил создать новый профиль с правами админа, но случайно удалил профиль с правами рут, теперь не знаю как дать права рута новому профилю.
С live-cd загрузись и добавь себя в группу sudo, можно редактированием конфигов, можно через chroot.
В том-то все и дело что при установке дестр. Fedora пользователю (2) присаваеваться группа whell и права группы adm. И все работает нормально до поры до времени но в один прекрасный момент ты решаеш открыть файловый менеджер Krusader (с правами root который до этого открывал без проблем ну или что-то другое) и.. спрашивают в окне kde-su пороль root (ввожу Правильный пороль проверяю, жму кнопку продолжить и вот-те здрасте окошко с ошибкой глосящей что у меня (состоящего в групп whell и role adm нет прав запускать приложения с правами root 🙁 🙁 ps Лечиться сей баг лишь только переустановкой пакетов kde-su kf5-su 🙁
Проблема с паролём для root
А зачем sudo su , если есть sudo -i или sudo -s или на худой конец sudo bash ?
Если что, пароль рута можно задать, загрузив ядро с параметром init=/bin/bash или подобным
не знаю, man sudo не читал, вообще не люблю эту штуку
Если что, пароль рута можно задать, загрузив ядро с параметром init=/bin/bash или подобным
На какие только извращения ни идут люди, лишь бы не делать sudo passwd .
Может случиться так, что /etc/sudoers не настроен тогда sudo работать не будет. А если и пароль рута не задан, то и su может тоже не работать — тогда иначе никак, похоже. Или с livecd или init=/bin/sh
У меня есть подозрение, что fedora даже не спрашивает пароль рута, как и убунту, по дефолту настраивая sudo.
И спрашивает, и настраивает sudo (если поставить чекбокс «сделать пользователя администратором»).
Юзай sudo -i . Если надо другого юзера – sudo -u username -i , а поскольку у некоторых юзеров бывает false или nologin вместо шелла – sudo -u username /bin/bash . Чтобы задать юзеру пароль – sudo passwd username . У sudo не так и много опций.
Зачем? 20 – стабильнее, 22/23 – свежее.
Поменял имя пользователя этим способом:
А если напрямую в файле /etc/passwd и /etc/shadow поменять имя разве это не будет работать?
Перезагрузил i3wm, и теперь доступ к su запрещен.
spasticarm0x15dec@calculate ~ $ su Пароль: su: Доступ запрещен spasticarm0x15dec@calculate ~ $ sudo -i Пароль: Попробуйте ещё раз. Пароль: spasticarm0x15dec is not in the sudoers file. This incident will be reported.
А если напрямую в файле /etc/passwd и /etc/shadow поменять имя разве это не будет работать?
Нет, не будет. Меняй обратно
Я уже. Итог su: Доступ запрещен . Теперь только init=/bin/sh ?