Sudo означает либо «substitute user do», либо «super user do» и позволяет обычным пользователям временно повысить права текущего пользователя до привилегий root. Разница между пользователем sudo и пользователем root заключается в том, что пользователь root имеет id 0, неограниченный доступ к системе и может изменять ЛЮБОЙ файл в ней.
Создание пользователя sudo и предоставление привилегий – простой процесс. Давайте начнем!
Шаг 1. Обновление системы
Перед тем как что-либо делать на сервере, обновите системные пакеты до последних доступных версий.
sudo apt-get update -y && sudo apt-get upgrade -y
Шаг 2. Создание нового пользователя системы
Чтобы создать нового пользователя, выполните следующую команду:
adduser developer
Сейчас вам будет предложено дважды задать пароль пользователя и заполнить некоторые необязательные поля для дополнительной информации о пользователе.
Adding user "developer' ... Adding new group "developer' (1000) ... Adding new user "developer' (1000) with group "developer' ... Creating home directory "/home/developer' ... Copying files from "/etc/skel' ... New password: Retype new password: passwd: password updated successfully Changing the user information for developer Enter the new value, or press ENTER for the default Full Name []: RoseHosting Developer Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n] Y
Сейчас пользователь под именем developer успешно создан в системе. Чтобы проверить это, вы можете выполнить следующую команду:
root@host:~# cat /etc/passwd | grep developer
Вы должны получить следующий результат:
developer:x:1000:1000:RoseHosting Developer,,,:/home/developer:/bin/bash
Шаг 3. Добавление пользователя в группу Sudo
Следующим шагом будет добавление пользователя в группу sudo. Таким образом, мы получим обычного пользователя с привилегиями root.
usermod -aG sudo developer
После того как пользователь developer добавлен в группу sudo, мы проведем тестирование на реальных примерах. Сначала переключитесь на пользователя developer с помощью следующей команды:
su - developer
Командная строка должна выглядеть так:
root@host:~# su - developer To run a command as administrator (user "root"), use "sudo ". See "man sudo_root" for details. developer@host:~$
Сейчас мы можем проверить пользователя sudo с помощью следующих команд. Вам нужно будет ввести пароль для пользователя developer
developer@host:~$ sudo ls -alh /root/ [sudo] password for developer:
После ввода пароля вы увидите содержимое каталога /root.
root@host:~# su - developer developer@host:~$ sudo ls -alh /root/ [sudo] password for developer: total 40K drwx------ 4 root root 4.0K Feb 10 16:36 . drwxr-xr-x 19 root root 4.0K Feb 10 16:35 .. -rw------- 1 root root 412 Feb 15 06:10 .bash_history -rw-r--r-- 1 root root 57 Feb 10 16:35 .bash_profile -rw-r--r-- 1 root root 3.1K Dec 5 2019 .bashrc drwx------ 2 root root 4.0K May 11 2020 .cache -rw-r--r-- 1 root root 161 Dec 5 2019 .profile drwx------ 2 root root 4.0K Feb 10 16:35 .ssh -rw------- 1 root root 3.4K Jul 30 2022 .viminfo -rw-r--r-- 1 root root 174 Feb 10 16:35 .wget-hsts
Сейчас вы сможете изменять любые файлы в системе, так как пользователь developer добавлен в группу sudo. Выполним следующую команду:
sudo cat /etc/sudoers
Вы увидите содержимое файла sudoers:
# # This file MUST be edited with the 'visudo' command as root. # # Please consider adding local content in /etc/sudoers.d/ instead of # directly modifying this file. # # See the man page for details on how to write a sudoers file. # Defaults env_reset Defaults mail_badpass Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin" Defaults use_pty # This preserves proxy settings from user environments of root # equivalent users (group sudo) #Defaults:%sudo env_keep += "http_proxy https_proxy ftp_proxy all_proxy no_proxy" # This allows running arbitrary commands, but so does ALL, and it means # different sudoers have their choice of editor respected. #Defaults:%sudo env_keep += "EDITOR" # Completely harmless preservation of a user preference. #Defaults:%sudo env_keep += "GREP_COLOR" # While you shouldn't normally run git as root, you need to with etckeeper #Defaults:%sudo env_keep += "GIT_AUTHOR_* GIT_COMMITTER
На этот раз пароль не требовался, так как мы уже ввели его однажды, и это является доказательством того, что пользователь developer имеет привилегии root.
Вот и все. Вы успешно создали пользователя sudo на Ubuntu 22.04 с правами доступа. Если у вас возникли трудности, вы всегда можете обратиться с вопросом в комментарии.
Комментарии (0)