Выход пользователя root из системы
Помните, работать в системе под именем root без необходимости — это ошибка. Вы можете по ошибке (и при этом необратимо) изменить файлы, являющиеся критичными для корректной работы операционной системы. Теперь, после того как вы создали как минимум одну учетную запись пользователя, выйдите из системы в качестве root и зарегистрируйтесь под именем пользователя.
Чтобы выйти из системы в GNOME, выберите Main Menu (Основное меню) => Log out (Выход из системы) (как показано на Рисунке 1-6 ) или просто введите exit в приглашении командной оболочки.
Рисунок 1-6. Выход из системы
Когда на экране появляется подтверждающий диалог (показанный на Рисунке 1-7 ), отметьте пункт Logout (Выход из системы) и нажмите кнопку Yes (Да) . Если вы хотите сохранить настройку вашей панели, а также не прерывать выполнения запущенных программ, установите также флажок Save current setup (Сохранить текущие настройки) .
Рисунок 1-7. Подтверждение завершения работы
Аналогично, в KDE, вы можете завершить сеанс работы, выбрав Main Menu (Основное меню) => Logout (Выход из системы) или просто выполнив команду exit в командной оболочке.
По умолчанию, панель в KDE также содержит кнопку быстрого запуска для выхода из системы; она расположена около панели задач, в центре панели и выглядит так:
Теперь вы можете зарегистрироваться под именем обычного пользователя также, как вы делали это под именем root.
| Назад | Начало | Вперед |
| Создание учётной записи пользователя | Вверх | Окружение рабочего стола GNOME |
root, sudo и #
root — суперпользователь системы. А если более точно, то это пользователь с идентификатором 0. Имя здесь не особо важно. Хотя по умолчанию это общее имя пользователя с нулевым идентификатором пользователя для всех unix-like операционных систем. Это пользователь обладает наивысшими привилегиями в ОС.
sudo — консольная команда выполняющая команду переданную ей как аргумент с правами суперпользователя (root). Графический аналог — gksu, kdesu.
# — символ подсказки в консоли, который явно указывает, что команда будет выполнена под учетной записью root (в отличии от символа $, который говорит что команда будет выполнена от имени обычного пользователя).
Когда нужно работать под пользователем root?
Ответ — прост: НИКОГДА.
Более того, в дистрибутивах на основе Debain (к коим относится и Ubuntu) работа под пользователем root заблокирована — интерактивно залогиниться в консоль или GUI под ним нельзя.
Все это однако не означает что никаких административных действий выполнить в такой системе нельзя. Для исполнения административных команд используется команда sudo (или её графический аналог gksu).
Использование sudo
Несмотря на то, что sudo исполняет только одну команду, использовать эту команду удобно и просто. Первый раз, при выполнении команды через sudo будет запрошен пароль текущего пользователя. Это выглядит несколько странно на первый взгляд, ведь пользователь уже залогинился и ввел свой пароль (или логин был автоматическим). Однако дополнительный запрос пароля служит привлечением внимания пользователя, что он запрашивает исполнение команды с повышенными привилегиями.
Вводить пароль на каждую команду sudo — не потребуется — единожды введенным пароль для sudo действует в течении определенного времени и только если между командами с sudo будет большой интервал во времени, пароль будет запрошен вновь.
Доступ к команде sudo не бесконтролен: пользоваться ей могут только пользователи, включенные в группу admin.
sudo -i : переводит пользователя в сессию под root-ом. Это аналог команды su 1) , за тем исключением, что пароль требуется пользователя, а не root-а. Выход из сессии — exit.
sudo -s : переводит пользователя в сессию под root-ом, но при этом текущий каталог не меняется /root 2) а остается тем же что был до вызова команды. Выход из сессии — exit.
Будьте внимательны выполняя команды с sudo или работая в сессии root-а (и не забывайте выйти из сессии root-а по окончанию действий требующих расширенных прав).
выйти из root в linux
Доброго времени суток.
Хочу задать вопрос, достопочтенные.
Я зашёл в консоль из-под рута. Как оттуда выйти в обычного пользователя?
Заранее благодарен.
Лучший ответ
exit
как Вам уже и написали выше. А ещё можно сочетанием клавиш: Ctrl+D
Остальные ответы
exit, logout
Похожие вопросы
Ваш браузер устарел
Мы постоянно добавляем новый функционал в основной интерфейс проекта. К сожалению, старые браузеры не в состоянии качественно работать с современными программными продуктами. Для корректной работы используйте последние версии браузеров Chrome, Mozilla Firefox, Opera, Microsoft Edge или установите браузер Atom.
How to enter root shell, do commands, exit, and continue with script?
I am currently writing a script which creates an Ubuntu img. Since I want to customize such, I use sudo chroot target bash script.sh in my main script to change the root directory and automatically start script.sh written by me. Now in the script, as a last command, I wrote exit . I want to exit this root directory and go back to the «normal» one and then want to continue with my script. How is this possible? If this is a little bit confusing, just ask and I will tell you more. Thanks!
98.8k 92 92 gold badges 415 415 silver badges 895 895 bronze badges
asked Jun 13, 2017 at 13:56
498 1 1 gold badge 8 8 silver badges 26 26 bronze badges
Please show your code. Since Stack Overflow hides the Close reason from you: Questions seeking debugging help («why isn’t this code working?») must include the desired behavior, a specific problem or error and the shortest code necessary to reproduce it in the question itself. Questions without a clear problem statement are not useful to other readers. See: How to create a Minimal, Complete, and Verifiable example.
Jun 13, 2017 at 19:56
1 Answer 1
Maybe the question is not clear enough. What is asked is what it is done. When executing a simple command (not exec and without & ), the shell process creates a new process and waits for its termination and special variable $? is updated with exit. All environment changes done by second process are lost when it exits and the caller shell environment is not changed, same as before calling the command.
If «my script» is the script.sh so the called process to exit from root directory and continue, it’s not possible. Maybe an intermediate caller.sh could be created.
sudo bash caller.sh # caller.sh chroot target bash script.sh # continue
answered Jun 13, 2017 at 14:41
Nahuel Fouilleul Nahuel Fouilleul
18.9k 2 2 gold badges 31 31 silver badges 36 36 bronze badges
- linux
- bash
- shell
- command-line
-
The Overflow Blog
sponsored post
Related
Hot Network Questions
Subscribe to RSS
Question feed
To subscribe to this RSS feed, copy and paste this URL into your RSS reader.
Site design / logo © 2023 Stack Exchange Inc; user contributions licensed under CC BY-SA . rev 2023.12.7.2316
By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.