How Do I Become a Root User in Linux

Техника

How to use the sudo command to become a root user

Using the “sudo -i”

The output shows that the dollar sign($) has been replaced by the pound key(#) which also directs that you are currently logged in using the root privileges.

Using “sudo -s”

How to use su command to become a root user

Using “su -l”

Using “–login”

During the authentication of su command, you have to put the root password.

Bonus Tip

The output shows that you are not logged in using the root privileges.

Conclusion

Открыв в Windows командой оснастку управления пользователями и раскрыв одноимённый пункт кликом в левой колонке, вы сможете просмотреть имена всех локальных учетных записей. Некоторые из них отмечены черной стрелкой, означающей, что данный пользователь неактивен. Таков встроенный Администратор — пользователь, обладающий более высокими правами чем обычный администратор компьютера.

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

Но есть в Windows , обладающий еще большими правами. Это — сама , но даже ее возможности не сравнятся с возможностями пользователя root в Linux. Root в этой ОС — всё равно что бог, он может всё, вплоть до удаления критически важных файлов, что повлечет за собой немедленный крах системы.

Поэтому в большинстве дистрибутивов Linux возможность входа в систему с правами root отключена, исключение составляют лишь некоторые UNIX-системы вроде . Раньше такая возможность имелась в , но из соображений безопасности авторизация root с экрана входа в систему в более поздних версиях была отключена.

Пользователь root – это суперпользователь Linux, который похож на администратора на  Windows.

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

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

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

Если вы не знаете, как настроить доступ sudo в Linux, обратитесь к следующей статье.

🐧 Как добавлять, удалять и предоставлять привилегии Sudo пользователям в Linux

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

Система записывает все в журнал сообщений (/var/log/message).

1) Как стать пользователем root на Linux с помощью команды su

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

Это позволит вам получить домашний каталог пользователя root и его оболочку.

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

Вы можете задаться вопросом, почему я должен использовать «-» при использовании команды su, и в чем разница.

2) Как стать пользователем root на Linux с помощью команды «sudo -i»

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

Пользователю не нужно знать пароль пользователя root, чтобы стать пользователем root.

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

Система  предоставит вам интерактивную рут оболочку, и вы попадете в домашний каталог рута (/root).

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

$ sudo ip a

3) Как стать пользователем root на Linux с помощью команды «sudo -s»

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

Я только что установил Ubuntu Linux.

Но какой пароль по умолчанию для Ubuntu?

Это загадка для большинства пользователей Ubuntu Linux.

Вы не установили пароль root, так что это?

Пользователь root (также известный как суперпользователь) – это пользователь Ubuntu Linux и Unix-подобных систем с полными административными привилегиями (полный доступ).

Дополнительно:  How Does a Tree's Root System Form and What is Its Purpose?

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

Ubuntu Linux и пароль учетной записи root

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

Для запуска всех административных команд используйте команду sudo в Ubuntu.

sudo позволяет разрешенному пользователю выполнять команду от имени суперпользователя или другого пользователя.

Ubuntu настроил вашу учетную запись по умолчанию (созданную во время установки) для запуска всех административных команд.

Например, создайте нового пользователя с именем bar, вам нужно ввести команду sudo следующим образом:

Когда sudo запрашивает пароль, вы должны указать СВОЙ СОБСТВЕННЫЙ пароль.

Другими словами, пароль root не нужен.

Вот еще несколько примеров.

Запуск / остановка / перезапуск служб, хранящихся в каталоге /etc/init.d/

$ sudo /etc/init.d/ssh stop
$ sudo /etc/init.d/networking restart
$ sudo systemctl restart ssh

Старайтесь не вводить sudo каждый раз в Ubuntu Linux

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

$ sudo -i

$ sudo -s

Приведенная выше команда запустит /bin/bash как оболочку root, чтобы вы могли ввести команду пользователя root без использования команды sudo.

Как мне войти в систему как пользователь root?

Откройте приложение терминала и просто введите следующую команду sudo

$ sudo bash

Укажите ваш пароль, и вы станете пользователем root.

Итак, какой пароль по умолчанию установлен для Ubuntu Linux?

Краткий ответ – никакой.

Учетная запись root заблокирована в Ubuntu Linux.

По умолчанию пароль root для Ubuntu Linux не установлен, и он вам не нужен.

Длинный ответ с официальной вики-страницы:

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

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

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

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

В Linux всегда есть суперпользователь с именем root.

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

Он может получить доступ к любому файлу и выполнить любую команду в вашей системе Linux.

С большой властью приходит большая ответственность.

Пользователь root дает вам полную власть над системой, следовательно, ее следует использовать с большой осторожностью.

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

И, следовательно, неправильная команда может разрушить систему.

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

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

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

Означает ли это, что вы не можете быть пользователем root в Ubuntu или использовать систему с привилегиями root?

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

Пользователь root слишком мощный, чтобы использовать его для обычных задач.

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

Вы все еще можете запускать определенные команды с правами root.

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

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

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

Система откажет в выполнении.

Итак, как запустить команду от имени пользователя root?

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

Ubuntu и многие другие дистрибутивы Linux используют специальный механизм, называемый sudo.

Sudo – это программа, которая контролирует доступ к запущенным командам от имени пользователя root (или других пользователей).

Sudo на самом деле довольно универсальный инструмент.

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

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

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

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

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

Дополнительно:  Синий экран смерти: коды ошибок

Что касается sudo, так это то, что для запуска sudo требуется не пароль root, а собственный пароль пользователя.

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

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

Это совершенно нормально, поскольку в качестве функции безопасности по умолчанию на экране ничего не отображается.

Даже звездочки (*). Вы вводите свой пароль и нажимаете ввод.

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

Вы можете использовать sudo для запуска команд от имени пользователя root.

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

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

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

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

В конце концов, это не рекомендуется.

Другой способ временно переключиться на пользователя root – использовать команду su:

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

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

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

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

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

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

Опять же, это не рекомендуется, и я не буду рекомендовать вам делать это на рабочем столе.

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

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

Использование Sudo

Вам не нужно быть суперпользователем каждый раз, когда вы хотите запустить некоторые конкретные административные функции. Благодаря Sudo, вы можете запустить некоторые или все команды как под root-ом. Когда Sudo установлен (пакет: Sudo), вы можете настроить его при помощи команды ‘visudo’ под root-ом. В основном он редактирует (Vim по умолчанию) /etc/sudoers, но это не рекомендуется делать вручную.

Таким образом, быстрый и нерекомендуемый способ использования Sudo, это добавить в конце файла sudoers:

Alex — имя пользователя. Сохраните (нажать escape, затем ввести wq), и все готово. Войдите как alex, и запустите например:

$sudo yum update

Sudo запросит пароль. Это пароль alex-а, а не пользователя root. Так что будте осторожны, когда вы даете права пользователя с Sudo.

Alex так же может выполнить суперпользовательскую команду, и alisa получила право запускать Sudo, с теми же правами и со своим паролем. Если alex и alisa не члены одной группы, мы можем определить псевдоним пользователя в файле sudoers:

Тем не менее, мы не хотим, чтобы alex и alisa могли запускать с правами суперпользователя любую програму. Мы хотим, чтобы они могли запускать только ‘updatedb’. Давайте определим команду псевдоним:

Cmnd_Alias LOCATE = /usr/sbin/updatedb

На этот раз, /etc/sudoers выглядит следующим образом:

В результате alex и alisa могут запускать updatedb, как root, введя свой пароль.

Если последнюю строчку в файле изменить:

тогда alex и alisa смогут выполнить ‘sudo updatedb’ без ввода пароля.

Можно добавить другие команды в командный алиас и более алиасов в правило. Например мы можем создать алиас NETWORKING содержащий некоторые сетевые команды типа: ifconfig, route или iwconfig:

Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhcclient, /usr/bin/net, sbin/iptables,
/usr/bin/rfcom, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool

Маленькая проба: войдите в систему как alisa (или alex), и наберите:

$ping -c 10 -i localhost

Ответ должен вернуться быстро:

Теперь, тоже-самое но с Sudo:

$sudo ping -c 10 -i 0 localhost
PING localhost.localdomain (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost.localdomain (127.0.0.1): icmp_seq=1 ttl=64 time=0.049 ms
64 bytes from localhost.localdomain (127.0.0.1): icmp_seq=2 ttl=64 time=0.034 ms
64 bytes from localhost.localdomain (127.0.0.1): icmp_seq=3 ttl=64 time=0.021 ms
64 bytes from localhost.localdomain (127.0.0.1): icmp_seq=4 ttl=64 time=0.030 ms
64 bytes from localhost.localdomain (127.0.0.1): icmp_seq=5 ttl=64 time=0.017 ms
64 bytes from localhost.localdomain (127.0.0.1): icmp_seq=6 ttl=64 time=0.016 ms
64 bytes from localhost.localdomain (127.0.0.1): icmp_seq=7 ttl=64 time=0.016 ms
64 bytes from localhost.localdomain (127.0.0.1): icmp_seq=8 ttl=64 time=0.016 ms
64 bytes from localhost.localdomain (127.0.0.1): icmp_seq=9 ttl=64 time=0.016 ms
64 bytes from localhost.localdomain (127.0.0.1): icmp_seq=10 ttl=64 time=0.016 ms
— localhost.localdomain ping statistics —
10 packets transmitted, 10 received, 0% packet loss, time 1ms
rtt min/avg/max/mdev = 0.016/0.023/0.049/0.010 ms, ipg/ewma 0.187/0.028 ms

Дополнительно:  Root для indigo

Sudo часто используется для предоставления определенным пользователям частичного доступа к привелигированным командам, чтобы они могли выполнять ограниченные административные функции. Одно из удобств Sudo в том, что все команды записываются в /var/log/secure. Приведенный выше пример будет описан строчкой в журнале:

Вот и все. Теперь никогда не забуду, когда использовал Sudo: «с большой властью приходит большая ответственность».

Использование команды

Многие команды могут быть запущены только суперпользователем, поэтому мы должны знать, как становится им (root-ом). Чтобы сделать это, мы можем использовать команду: su (смена пользователя). Команда su принимает следующие форматы:

но чаще всего мы будем использовать su для того, чтобы стать пользователем root:

su — root

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

но обе команды ведут себя различно. ‘su ‘ дает текущему пользователю личность , тогда, как ‘su — ‘ дает текущему пользователю личность вместе с окружением , которое можно было бы получить, зарегистрировавшись в качестве .

Зачастую пользователи используют ‘su’ для перехода в root. Попробовав запустить команду (например — ifconfig), вы получите: ‘command not found’ error.

su
Password:
ifconfig
bash: ifconfig: command not found

Команды обычных пользователей обычно расположены в /usr/local/bin, /usr/bin и /bin. А команды пользователя root распологаются в основном в /usr/local/sbin, /usr/sbin, /sbin и корневой PATH это отражает. Поэтому, когда вы становитесь суперпользователем при помощи «su -«, то вы также принимаете и новый путь PATH к основным командам. А используя только ‘su’, сохраняется пользовательский путь PATH по умолчанию, следовательно, при попытке выполнить программу расположенную в /usr/local/sbin, /usr/sbin, /sbin выдаст результат: ‘command not found’ error. Для более детального объяснения, смотрите справочную страницу (man bash), особенно раздел login shells.

Таким образом, вы или должны указывать полный путь к команде (пример — /sbin/ifconfig) при использовании ‘su’, либо использовать ‘su -‘, когда становитесь root-ом.

Работаем как root

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

В Ubuntu для этого в терминале нужно выполнить команду «sudo su –» и единожды подтвердить вводом своего пароля администратора.

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

Всё, теперь вам не только не нужно будет вводить sudo при выполнении важных операций, но и подтверждать их.

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

Ошибка может оказаться фатальной: так, перезаписав таблицу не того раздела, вы одним нажатием клавиши убьёте вашу систему.

1 Sudo shell

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

В последних версиях только на CentOS 5, для запуска shell под root, используется sudo -s. Будьте очень осторожны, так как это может менять или создавать новые файлы в домашней директории Root, а установку вести в домашний каталог вызвавшего пользователя.

Consolehelper

Consolehelper представляет собой оболочку для запуска GUI приложений. Когда он начинает работать, он проверяет конфигурацию PAM для требуемого применения. Это означает, что мы можем проводить аутентификацию пользователя с помощью всех установленных модулей PAM. Основной метод состоит в том, чтобы запросить пароль, но если мы имеем надлежащее оборудование. мы можем аутентифицировать с помощью смарткарты, жетонов, отпечатков пальцев и т.д. Конфигурация PAM выходит за рамки этого документа (см. PAM Руководство администратора), поэтому мы рассмотрим этап настройки consolehelper, необходимый для запуска приложений под root-ом и запросом пароля root.

В качестве примера, давайте настроим /usr/bin/xterm для запуска в качестве root-ого.

Во-первых, мы хотим сохранить возможность запускать Xterm под обычным пользователем. Поэтому создадим символическую ссылку /usr/bin/xterm-root для /usr/sbin/consolehelper:

ln -s /usr/sbin/consolehelper /usr/bin/xterm-root

Теперь для конфигурирования PAM — создайте файл /etc/pam.d/xterm-root:

#%PAM-1.0
auth include config-util
account include config-util
session include config-util

Наконец, настройте consolehelper на запуск /usr/bin/xterm под root-ом, командой ‘xterm-root’. Создайте файл /etc/security/console.apps/xterm-root:

Вот и все. Запускайте ‘xterm-root’ (из командной строки или ярлыком .desktop file), введите пароль и в путь. Если вы получили сообщение об ошибке: «Xlib: connecttion to «:0.0″ refused by server», запустите сначала ‘xhost local:root’.

Оцените статью
Master Hi-technology
Добавить комментарий