Note: For help with configuring sudo privileges via its configuration file /etc/sudoers, please see Sudoers.
В дистрибутивах Linux пользовательские привилегии предоставляются путем открытия доступа к root. Наличие таких прав позволяет использовать функциональность операционной системы более широко и выполнять необходимые действия в корневом каталоге.
Давайте детально обсудим, что может суперпользователь в Linux, как настроить root и для чего нужна команда
- Старайтесь как можно реже входить в систему с правами суперпользователя. Практически все команды, которые требуют прав суперпользователя, могут быть запущены командами sudo или gksudo.
- С помощью команды sudo –i можно получить доступ к консоли другого пользователя в системе. Чтобы стать пользователем «Max», введите sudo –i Max, а затем введите свой пароль (а не пароль Максима).
- Содержание
- First, a Safer Alternative
- Launching the Terminal in root mode
- Step 1: Prerequisites
- Step 2: Edit /etc/ssh/sshd_config File
- Step 3: Restart SSH service
- Step 4: Login with root
- Step 5: Reset root password(Optional)
- Об этой статье
- Allowing other users to run sudo
- Заблуждения
- Downsides of using sudo
- Benefits of using sudo
- Reset sudo timeout
- Remove Password Prompt For sudo
- Команда sudo и примеры ее использования
- Usage
- Other Resources
- Использование sudo
- Logging in as another user
- Безопасность использования прав суперпользователя
- Sudo
- Graphical sudo
- Flavour-specific workarounds
- General workarounds
- Заметки
- Предназначение root-прав в Linux
- Переключение на суперпользователя
- Root account
- Enabling the root account
- Re-disabling your root account
- Special notes on sudo and shells
- Возврат к традиционной учетной записи root
- Преимущества использования sudo
- Drag & Drop Sudo
- Когда нужно работать под пользователем root?
- Предоставление и отзыв прав суперпользователя
- Создание нового пользователя с root
- Для существующей учетной записи
- Откат прав суперпользователя
- Минусы использования sudo
- Misconceptions
Содержание
Для начала определимся в терминах:
root — суперпользователь системы. А если более точно, то это пользователь с идентификатором 0. Имя здесь не особо важно. Хотя по умолчанию это общее имя пользователя с нулевым идентификатором пользователя для всех unix-like операционных систем. Это пользователь обладает наивысшими привилегиями в ОС.
sudo — консольная команда выполняющая команду переданную ей как аргумент с правами суперпользователя (root). Графический аналог — gksu, kdesu.
# — символ подсказки в консоли, который явно указывает, что команда будет выполнена под учетной записью root (в отличии от символа $, который говорит что команда будет выполнена от имени обычного пользователя).
10 Popular Kill Command Examples in Linux/Unix(How to Kill a Process in Linux)
test@test-localhost:~$
test@test-localhost:~$
test@test-localhost:~$ sudo su -
[centos@localhost ~]$ su - rootPassword:
Last login: Sun Oct 11 12:37:59 EDT 2020 from 192.168.0.101 on pts/0
[centos@localhost ~]$ Password:
Last login: Sun Oct 11 12:38:42 EDT 2020 on pts/0
7 Easy Steps to Install PHP on RHEL 8/CentOS 8
Easy Steps to Install Java on Ubuntu 20.04
Best Explanation of Wrapper Classes in Java: Autoboxing and Unboxing with Examples
Best Steps to Install Java on RHEL 8/CentOS 8
15 ansible-vault command examples to encrypt and decrypt sensitive data/files on Linux
C# data types with Best Examples (.NET v4.7)
How to Install PHP on RedHat/CentOS 7 with Easy Steps
How to Install Ruby on Ubuntu 18.04 with Easy Steps
- Доступ такого уровня к ресурсам компьютера необходим далеко не всегда.
- Доступ на уровне суперпользователя— это, скорее, большая ответственность, нежели благодать. При обычном доступе вы работаете только с ресурсами своей учетной записи. Если же вы находитесь в системе в качестве суперпользователя, вы можете случайно сделать ошибку и удалить все — да-да, все файлы всей системы Linux!
Думаете, с вами такого не случится? Даже опытные администраторы Linux рассказывают жуткие истории о том дне, когда они сделали роковую опечатку или не задумывались над тем, что они делают, работая под именем суперпользователя.
По умолчанию учетная запись суперпользователя отключена в Ubuntu. Это означает, что вы не сможете зайти в систему как root. Однако, инсталлятор настраивает sudo для пользователя, созданного во время установки. Команда sudo позволяет выполнять все приложения, требующие привилегий суперпользователя.
Когда sudo спрашивает пароль, вы должны ввести пароль ВАШЕГО пользователя ! То есть пароль root’a вам не нужен !
I’m trying to install git with
apt-get install git
it then says
E: Could not open lock fine /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
How do I get this?
30 gold badges177 silver badges264 bronze badges
asked Nov 3, 2013 at 15:19
sudo apt-get <command>
To drop into root,
sudo -i
or sudo su
(sudo -i
is recommended and more proper, but it really doesn’t matter)
answered Nov 3, 2013 at 15:21
Kaz Wolfe
20 gold badges110 silver badges168 bronze badges
$ sudo su
when prompted for password enter it.You can also use another command that is
$sudo -i
answered Nov 3, 2013 at 15:43
Adithya Chakilam
1 gold badge10 silver badges13 bronze badges
To execute any command as root just start with sudo
then type the command
You will be asked for your password, the characters won’t be shown, not even in dots, so just type the password and hit enter.
answered Nov 3, 2013 at 15:26
2 gold badges16 silver badges20 bronze badges
I think you should install git with root privilege. You can do it by typing sudo -i
in terminal and then type password if it asks then you can run apt-get install git
.
If root privilege is only the problem then this should work. Hope this works for you.
37 gold badges45 silver badges86 bronze badges
answered Nov 3, 2013 at 15:56
Important: Before even explaining how you can launch the Terminal every time in sudo mode, we would like to emphasize as much as we can that it is a very unsafe thing to do.
Anyways, if you really, really are in dire need of a scenario where you want to avoid typing ‘sudo’ and its password with your commands, we will present a solution. But before that, we will also give you a safe alternative so that you can at least save yourself from typing your sudo password for one Terminal session.
We have run the commands and procedures mentioned in this article on a Ubuntu 18.04 LTS system.
First, a Safer Alternative
$ sudo -i
# id
After you are done with running all the commands, exit the root prompt by typing the exit command:
# exit
Launching the Terminal in root mode
Although unsafe, here we will present a solution that ensures that you are already logged in as root whenever you open the Terminal.
$ sudo visudo
<username> ALL=NOPASSWD: ALL
Save the file by using the Ctrl+x shortcut.
Now is the time to work with the keyboard shortcuts. We will first disable the default shortcut that opens the Terminal. Open the Keyboard shortcuts view from your system Settings. Then, from the Launchers section, click on the Launch Terminal shortcut.
At the above view, hit Space+backspace to disable this shortcut.
Command: sudo gnome-terminal
Then Set the shortcut as ctrl+Alt+T. Click the Add button and the new shortcut is active.
Now whenever you want to launch the Terminal as root, use the Ctrl+Alt+T shortcut to launch it.
In the above image, you can see that I ran the apt-get update command without having to specify sudo and its password.
Please do not forget to revert all these changes when you are done with the scenario that requires such a bold step to be taken. After all, the security of your files and your overall system is more important to you than having to type sudo and its password.
Чтобы запускать административные задачи на Linux, у вас должны быть права суперпользователя (права root). В большинстве дистрибутивов Linux присутствует отдельная учетная запись суперпользователя, но в Ubuntu она по умолчанию отключена. Это позволяет предотвратить случайные ошибки и защитить систему от проникновения. Чтобы запустить команды, которые требуют административный доступ, используйте команду sudo.
-
-
Введите sudo, прежде чем ввести остаток команды. Добавление sudo в начало команды запустит ее с правами администратора.
- Пример: команда sudo /etc/init.d/networking stop прекращает работу сети, а sudo adduser добавляет в систему нового пользователя. Обе эти команды требуют прав суперпользователя.
- Перед тем, как sudo выполнит команду, вы должны будете ввести пароль. Linux хранит пароль в течение 15 минут, так что вам не придется вводить их постоянно.
-
- Пример: введите gksudo gedit /etc/fstab, чтобы открыть файл «fstab» в текстовом редакторе GEdit с графическим интерфейсом.
- Если вы используете KDE Window Manager, вместо gksudo вводите команду kdesudo.
-
- Введите команду sudo passwd root. Этим вы создадите пароль для root, тем самым «включите» административный доступ. Смотрите, не забудьте этот пароль.
- Введите sudo -i. Введите пароль от root, когда это будет необходимо.
- Значок в терминале изменится с $ на #, указывая на то, что теперь вы обладаете правами суперпользователя.
-
-
Нажмите комбинацию клавиш , чтобы открыть окно терминала. В целях безопасности (и чтобы избежать поломок), учетная запись суперпользователя по умолчанию отключена. Чтобы безопасно запустить команду с правами администратора, используйте команды
sudo
илиgksudo
. Если вы просто обязаны иметь отдельную учетную запись с правами суперпользователя (если этого требует программа, используемая в вашей компании или за этим компьютером будет находиться один человек), включите права суперпользователя, введя несколько простых команд. -
-
Введите пароль, после чего нажмите .
-
Повторно введите пароль, после чего нажмите . Теперь учетная запись суперпользователя будет иметь пароль.
-
Введите команду su - и нажмите . Введите пароль суперпользователя, чтобы открыть консоль.
- Чтобы отключить учетную запись суперпользователя, введите команду sudo passwd -dl root.[7]
- Чтобы отключить учетную запись суперпользователя, введите команду sudo passwd -dl root.[7]
Best Steps to Install Perl on Rocky Linux 8
Step 1: Prerequisites
a) You should have a running Ubuntu 20.04 LTS
System.
b) You should have sudo
or root
access to run privileged commands.
c) You should have OpenSSH Server installed in your System.
Step 2: Edit /etc/ssh/sshd_config File
root@localhost:~# grep -i permitrootlogin /etc/ssh/sshd_configPermitRootLogin prohibit-password
# the setting of "PermitRootLogin without-password".
For that you need to open /etc/ssh/sshd_config
file using our favorite nano
editor and then set the parameter value to yes
. Then Press Ctrl+X
and give Y
to save and close the file.
root@localhost:~# # $OpenBSD: sshd_config,v 1.103 2018/04/09 20:41:22 tj Exp $ # This is the sshd server system-wide configuration file. See # sshd_config(5) for more information. # This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin # The strategy used for options in the default sshd_config shipped with # OpenSSH is to specify options with their default value where # possible, but leave them commented. Uncommented options override the # default value. Include /etc/ssh/sshd_config.d/*.conf #Port 22 #AddressFamily any #ListenAddress 0.0.0.0 #ListenAddress :: #HostKey /etc/ssh/ssh_host_rsa_key #HostKey /etc/ssh/ssh_host_ecdsa_key #HostKey /etc/ssh/ssh_host_ed25519_key # Ciphers and keying #RekeyLimit default none # Logging #SyslogFacility AUTH #LogLevel INFO # Authentication: #LoginGraceTime 2m #StrictModes yes #MaxAuthTries 6 #MaxSessions 10
root@localhost:~# grep -i permitrootlogin /etc/ssh/sshd_configPermitRootLogin yes
# the setting of "PermitRootLogin without-password".
Step 3: Restart SSH service
After setting the parameter, you need to restart ssh service by using systemctl restart ssh command as shown below.
root@localhost:~# systemctl restart ssh
Then check the service status by using systemctl status ssh
command. It should show as active and running as you can see below.
root@localhost:~# systemctl status ssh● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2021-11-05 09:03:42 IST; 12min ago
Docs: man:sshd(8)
man:sshd_config(5)
Process: 3873 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
Main PID: 3875 (sshd)
Tasks: 1 (limit: 2312)
Memory: 2.5M
CGroup: /system.slice/ssh.service
└─3875 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups
Step 4: Login with root
Step 5: Reset root password(Optional)
root@localhost:~# New password: Retype new password: passwd: password updated successfully
Об этой статье
Allowing other users to run sudo
In the terminal (for Precise Pangolin, 12.04), this would be:
sudo adduser <username> sudo
In previous version of Ubuntu
sudo adduser <username> admin
Заблуждения
Разве sudo не менее безопасно, чет su?
Я могу получить права администратора из консоли без ввода пароля!
- Вам потребуется ввести пароль для этого.
Downsides of using sudo
Although for desktops the benefits of using sudo are great, there are possible issues which need to be noted:
- In a lot of office environments the ONLY local user on a system is root. All other users are imported using NSS techniques such as nss-ldap. To setup a workstation, or fix it, in the case of a network failure where nss-ldap is broken, root is required. This tends to leave the system unusable unless cracked. An extra local user, or an enabled root password is needed here. The local user account should have its $HOME on a local disk, _not_ on NFS (or any other networked filesystem), and a .profile/.bashrc that doesn’t reference any files on NFS mounts. This is usually the case for root, but if adding a non-root rescue account, you will have to take these precautions manually. However the advantage of using a local user with sudo is that commands can be easily tracked, as mentioned in the benefits above.
Benefits of using sudo
There are a number of benefits to Ubuntu leaving root logins disabled by default, including:
- The installer has fewer questions to ask.
- Users don’t have to remember an extra password for occasional use (i.e. the root password). If they did, they’d be likely to forget it (or record it unsafely, allowing anyone to easily crack into their system).
It avoids the «I can do anything» interactive login by default. You will be prompted for a password before major changes can happen, which should make you think about the consequences of what you are doing.
sudo adds a log entry of the command(s) run (in /var/log/auth.log). If you mess up, you can go back and see what commands were run.
- Allows easy transfer for admin rights by adding and removing users from groups. When you use a single root password, the only way to de-authorize users is to change the root password.
- sudo can be setup with a much more fine-grained security policy.
- The root account password does not need to be shared with everybody who needs to perform some type of administrative task(s) on the system (see the previous bullet).
- The authentication automatically expires after a short time (which can be set to as little as desired or 0); so if you walk away from the terminal after running commands as root using sudo, you will not be leaving a root terminal open indefinitely.
Reset sudo timeout
You can make sure sudo asks for password next time by running:
sudo -k
Remove Password Prompt For sudo
This method is NOT suggested nor supported by the designers of Ubuntu.
- Please do not suggest this to others unless you personally are available 24/7 to support the user if they have issues as a result of running a shell as root.
These instructions are to remove the prompt for a password when using the sudo command. The sudo command will still need to be used for root access though.
Edit the sudoers file
<username> ALL=NOPASSWD: ALL
michael ALL=NOPASSWD: ALL
Type in ^x to exit. This should prompt for an option to save the file, type in Y to save.
Log out, and then log back in. This should now allow you to run the sudo command without being prompted for a password.
Or to do this for the system wide group sudo
root$ echo "%sudo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
Log out, and then back in.
Команда sudo и примеры ее использования
тесно связана с root в Linux, поскольку отвечает за передачу прав суперпользователя и позволяет от его имени выполнять команды в Терминале. Существует несколько ее вариаций, использующихся при разных обстоятельствах. Подходит эта команда как для выполнения всего одного действия, так и для передачи прав на всю текущую сессию.
Самый простой пример использования – запуск программы от имени суперпользователя. Для этого вводится:
sudo program \\ program – название приложения, которое вы хотите запустить
применяется для установки софта, команда в таком случае обретает вид:
sudo apt install program
В следующем разделе статьи речь пойдет о передаче прав суперпользователя, что тоже реализуемо при помощи . Я рассмотрю два полезных аргумента. Советую ознакомиться с ними, если хотите упростить выполнение действий через Терминал.
Usage
- When using sudo, your password is stored by default for 15 minutes. After that time, you will need to enter your password again.
Your password will not be shown on the screen as you type it, not even as a row of stars (******). It is being entered with each keystroke!
Other Resources
CategoryCommandLine CategorySecurity CategoryCommandLine
Использование sudo
Есть несколько важных трюков в использовании sudo:
Будьте внимательны выполняя команды с sudo или работая в сессии root-а (и не забывайте выйти из сессии root-а по окончанию действий требующих расширенных прав).
Не пользуйтесь sudo там, где это не нужно.
Logging in as another user
sudo -i -u <username>
sudo -i -u amanda
The password being asked for is your own, not amanda’s.
Безопасность использования прав суперпользователя
Если с предназначением root-прав в Linux все понятно, то вот к безопасности их использования есть вопросы. В основном, относится это к серверным машинам, поскольку риск взлома домашнего компьютера очень мал, да и кому нужны файлы обычного пользователя, чтобы ради этого затевать процедуру взлома. Если вы используете Linux как обычную операционную систему, работаете с документами и стандартными программами, используйте root для установки приложений и защиты системы от случайных изменений, которые могут внести другие пользователи компьютера.
С серверной частью все гораздо сложнее, поскольку рут как таковой не предоставляет полной защиты. Часто используемые пароли взламываются путем перебора или поиском бэкдора. Поэтому не стоит полагаться исключительно на защиту паролем, если вы владеете файлами сайтов или используете сервер для других целей. Займитесь настройкой файрвола, если это повысит уровень защиты.
Sudo
To use sudo on the command line, preface the command with sudo, as below: Example #1
sudo chown bob:bob /home/bob/*
sudo /etc/init.d/networking restart
To repeat the last command entered, except with sudo prepended to it, run:
sudo !!
Graphical sudo
Please note that many websites and old threads advise the use of gksu. However, such search results are obsolete. gksudo has not been updated for years and is not even available in Bionic (18.04) and higher. gksu has been replaced by pkexec, but even pkexec is being deprecated by the mainline Ubuntu developers. They have taken the position that file manipulation and editing under root should be restricted to the command line.
Flavour-specific workarounds
There are a number of flavour-specific options for running graphical applications as root:
pkexec thunarpkexec mousepad /etc/fstab
General workarounds
- Use the command line. Simple text editors like nano are quite easy to learn. If you prefer a quasi-graphical file manager, install Midnight Commander. Both of these apps run under sudo with no problems. Examples:
sudo mcsudo nano /etc/fstab
With sudo -H almost any graphical app can be launched under root within any ‘buntu flavour. This includes each flavour’s default graphical editor and file manager.
An appreciable danger with sudo -H is that the -H flag is easy to forget. And all it takes is one omission for the damage to be done.
Заметки
- Пароль сохраняется по умолчанию на 15 минут. По истечении этого времени, вам нужно будет ввести пароль снова.
- Несмотря на то, что при вводе пароль не отображается на экране (даже в виде звездочек), он все-равно вводится!
Для выполнения графических конфигурационных утилит с sudo, просто запустите приложение через меню.
Для запуска программ через sudo, которые обычно запускаются под обычным пользователем (например gedit), нажмите Alt+F2 и введите gksudo gedit. В Kubuntu используйте вместо gksudo программу kdesu.
Использование sudo в командной строке:
Пример #1 — смена пользователя и группы для файлов в домашней папке пользователя
sudo chown bob:bob /home/bob/*
Пример #2 — перезапуск сетевых служб
sudo /etc/init.d/networking restart
Для запуска графических программ используйте gksudo или kdesu, иначе попытка входа может провалиться. Если это происходит и при входе вылазит ошибка: «Unable to read ICE authority file», войдите в безопасный терминал и выполните следующую команду, подставив своё имя пользователя:
rm /home/user/.{ICE,X}authority
Для запуска режима суперпользователя в терминале (root shell, т.е. командная строка, где вы можете выполнять команды под пользователем root), запустите терминал и выполните команду:
sudo -i (эквивалент команды "sudo su -")
- Для запуска режима суперпользователя, оставив текущие переменные окружения, введите:
sudo -s (эквивалент команды "sudo su")
- Вход под другим пользователем (для графического входа, используйте что-то типа gdmflexiserver):
sudo -i -u username
Предназначение root-прав в Linux
Права обычного пользователя в Linux крайне ограничены. Он может управлять только своим каталогом и открывать для чтения определенные файлы из корня. Доступ для их изменения или установки программ отсутствует, что делает привилегии суперпользователя крайне важными при настройке ОС и решении разных проблем. Обычный пользователь ограничивается следующим набором прав:
- чтение, запись и изменение любых атрибутов пользовательской папки;
- то же самое и для каталога
- выполнение программ в любом месте, где нет ограничений;
- чтение файлов с соответствующим атрибутом для всех пользователей.
При наличии рут-прав у юзера появляется гораздо больше возможностей и расширяются границы взаимодействия с операционной системой. Становятся доступными любые действия со всеми папками и файлами.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Переключение на суперпользователя
Еще раз уточню, что команда идеально подходит для получения необходимых привилегий без переключения учетной записи. Ее можно использовать как для выполнения одного действия, так и нескольких. Если вы желаете временно получить рут-права через эту команду, введите . В первом случае домашний каталог остается текущим, а во втором меняется на /root.
Примерно так же работает и команда , но она обладает дополнительными аргументами, которые следует уточнить:
- -c – позволяет выполнить команду;
- -g – устанавливает группу для пользователя;
- -G – дополнительные группы для юзера;
- — -l —login – один из режимов входа, при котором происходит переключение домашнего каталога;
- -p – сохранение переменных окружения;
- -s – выбор оболочки для выхода.
Вы уже сами решайте, какой вариант хотите использовать, и готовы ли смириться со всеми ограничениями и недостатками, которые накладывает каждый из них.
Root account
Enabling the root account
sudo -i
To enable the root account (i.e. set a password) use:
sudo passwd root
Use at your own risk!
Re-disabling your root account
sudo passwd -dl root
Special notes on sudo and shells
None of the methods below are suggested or supported by the designers of Ubuntu.
To start a root shell (i.e. a command window where you can run root commands), starting root’s environment and login scripts, use:
sudo -i (similar to sudo su - , gives you roots environment configuration)
To start a root shell, but keep the current shell’s environment, use:
sudo -s (similar to sudo su)
Summary of the differences found —
corrupted by user's HOME=/root uses root's PATH env varssudo -i Y Y[2] Nsudo -s N Y[2] Ysudo bash N Y[2] Ysudo su Y N[1] Y[1] PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games probably set by /etc/environment[2] PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin
For a detailed description of the differences see man su and man sudo .
Возврат к традиционной учетной записи root
Consider using the below command instead:
sudo -i
Использование этой команды временно откроет консоль с правами root. Активация аккаунта root в Ubuntu не поддерживается из-за ненадобности. Всё, что вам требуется сделать с правами администратора в Ubuntu можно сделать через sudo или gksudo.
Если root включен, и вы хотите отключить его, откройте терминал и введите следующую команду:
sudo passwd -l root
Преимущества использования sudo
Причины, по которым пользователь root отключен по умолчанию, заключаются в следующем:
- Программа установки задаёт меньше вопросов.
- Пользователям не нужно запоминать дополнительный пароль, который они могут забыть.
- Перед тем как произойдёт выполнение команды, вас попросят ввести пароль. Это даст время подумать о возможных последствиях.
sudo добавляет в лог выполненные команды (/var/log/auth.log).
Все попытки взломщиков, пытающихся подобрать пароль к root, будут обречены на провал.
- sudo позволяет легко предоставлять права администратора на долгий или короткий период другим пользователям, просто добавляя и удаляя их из группы, при этом не трогая корневую учетную запись.
- sudo можно настроить с более fine-grained политикой безопасности.
- Аутентификация автоматически истекает по окончании определенного промежутка времени.
Drag & Drop Sudo
Этот трюк взят из форумов.
Создайте кнопку запуска со следующей командой:
gksudo "gnome-open %u"
Теперь при перетаскивании любого файла на эту кнопку, будет запущено ассоциированное с этим файлом приложение с привилегиями суперпользователя. Это особенно удобно при редактировании конфигурационных файлов.
Когда нужно работать под пользователем root?
Все это однако не означает что никаких административных действий выполнить в такой системе нельзя. Для исполнения административных команд используется команда sudo (или её графический аналог gksu).
Предоставление и отзыв прав суперпользователя
Каждому пользователю в Linux можно предоставить root-права, добавив его в соответствующую группу. Точно так же их можно и отнять, если вдруг это понадобится. Рассмотрю три варианта действий.
Создание нового пользователя с root
Допустим, что вы, единственный юзер в Linux, хотите создать еще одну учетную запись с правами суперпользователя. В таком случае алгоритм действий обретет следующий вид:
- Откройте Терминал и введите команду
- В консоли появятся инструкции по созданию нового пользователя. Присвойте пароль и подтвердите действие, чтобы завершить создание.
- Добавьте новую учетную запись в группу sudo, введя user здесь тоже понадобится заменить).
- Проверьте выполненные действия, переключившись на новую учетную запись через . Для подтверждения введите пароль (при вводе символы не отображаются на экране).
- Выполните любую команду с и убедитесь, что все прошло успешно.
Для существующей учетной записи
Если учетная запись уже добавлена, в консоли остается ввести только одну команду, чтобы добавить пользователя в группу sudo и разрешить ему получение рут-прав. Сама команда представлена ниже, вам остается только скопировать ее и поменять имя юзера.
Используйте предыдущую инструкцию для проверки внесенных изменений.
Откат прав суперпользователя
Если вдруг вы решили, что одна из учетных записей больше не должна состоять в группе sudo, отзовите права, введя команду:
Это была вся основная информация о правах суперпользователя в Linux. Вы знаете, что дают такие привилегии, как их правильно использовать и управлять пользователями. В качестве рекомендации скажу, что всегда нужно читать текст ошибок, появляющихся в Терминале, если что-то пошло не так. Это позволит вам быстрее решить проблему без траты времени на поиски в Google.
Минусы использования sudo
Хотя выгода для использования sudo на персональных компьютерах велика, есть некоторые моменты, которые надо отметить:
- Во многих офисных системах только один локальный пользователь в системе root. Все остальные пользователи импортируются через NSS технологии, такие как nss-ldap. Для настройки рабочей станции в случае повреждения сети, при поломке nss-ldap, необходим root. This tends to leave the system unusable unless cracked. An extra local user, or an enabled root password is needed here.
Misconceptions
Isn’t sudo less secure than su?
- The sulogin program in Ubuntu is patched to handle the default case of a locked root password.
I can get a root shell from the console without entering a password!
- You have to enter your password.
Leave a Comment