Как добавить пользователя в sudoers в Centos

Обновлено: 28.06.2024

Пользователь "sudo" может запускать административную задачу или команду, которые не разрешены обычному пользователю. В этом руководстве объясняется, как добавлять, удалять и предоставлять привилегии sudo пользователям в CentOS и других системах на базе RHEL. Я использовал следующие шаги для создания пользователя sudo в минимальной версии CentOS 8. Однако он должен работать и на других системах на основе RPM.

Что такое судо?

В Linux и Unix в целом программа sudo позволяет обычному пользователю временно получить права суперпользователя или пользователя root. Используя команду sudo, обычный пользователь может выполнять административные задачи, даже не имея доступа к паролю пользователя root. Вместо того, чтобы разглашать кому-либо пароль root, просто назначьте пользователям права sudo, чтобы повысить их привилегии. Слово «sudo» изначально произошло от «superuser do», потому что оно в основном использовалось для выполнения задач суперпользователя. Теперь это также означает «заменить пользователя»

Преимущества пользователей sudo

Пользователь sudo предлагает множество преимуществ, перечисленных ниже:

  • Системному администратору не нужно сообщать всем пароль пользователя root.
  • Обычный пользователь может выполнять административные задачи, даже если он/она не знает пароль root.
  • Разрешения sudo могут быть предоставлены пользователям и отозваны у них в любое время.
  • Сеанс sudo автоматически истечет после определенного периода бездействия пользователя. Это очень полезно, когда пользователь забыл выйти из своей сессии. По умолчанию сеанс sudo завершается через 15 минут бездействия.
  • Системные администраторы могут отслеживать действия всех пользователей sudo. Все действия пользователей sudo регистрируются в файле /var/log/secure. Если есть какие-либо проблемы, вы можете просмотреть файл журнала и попытаться выяснить, что пошло не так. Вы также обнаружите, кто злоупотребляет привилегиями sudo, и вы можете просто отозвать его разрешение.

Добавление, удаление и предоставление привилегий Sudo пользователям в CentOS

Войдите в свою систему CentOS как пользователь root или любой пользователь с разрешением sudo.

Сначала давайте добавим нового пользователя.

1. Добавить пользователей в CentOS

Позвольте мне создать нового пользователя с именем "senthil". Для этого я выполнил следующую команду от имени пользователя root из Терминала:

Установите пароль для нового пользователя "senthil":

Теперь мы создали обычного пользователя. Он еще не уполномочен выполнять какие-либо административные задачи. Давайте проверим, может ли пользователь «senthil» использовать команду sudo или нет, выполнив следующую команду:

Пример вывода:

Проверить, есть ли у пользователя привилегии sudo в centos

Проверить, есть ли у пользователя привилегии sudo в centos

Да, ему еще не разрешено запускать sudo в моей системе CentOS 8. Давайте сейчас дадим ему права sudo.

2. Предоставить привилегии sudo пользователям в CentOS

Чтобы добавить обычного пользователя в группу sudoers, вам нужно добавить его/ее в группу wheel. Для тех, кому интересно, колесо — это специальная группа в некоторых Unix-подобных операционных системах. Всем членам группы wheel разрешено выполнять административные задачи. Группа Wheel аналогична группе sudo в системах на основе Debian.

Добавлять пользователей в sudoers можно двумя способами. Первый способ — использовать команду chmod.

2.1. Добавьте пользователей в sudoers с помощью команды usermod в CentOS

Теперь давайте предоставим привилегии sudo только что созданному пользователю "senthil", добавив его в группу wheel с помощью команды usermod, как показано ниже:

Добавить пользователей в sudoers с помощью команды usermod в CentOS

Добавьте пользователей в sudoers с помощью команды usermod в CentOS

Здесь -aG указывает на добавление к дополнительной группе. В нашем случае это колесная группа. Вот и все, мы только что предоставили права sudo пользователю "senthil".

Давайте проверим, есть ли пользователь в списке sudoers, с помощью команды:

Пример вывода:

Проверить, есть ли у пользователя права sudo в centos

Проверьте, есть ли у пользователя права sudo в centos

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

2.2. Добавьте пользователей в sudoers, отредактировав файл конфигурации sudoers в CentOS

Еще один способ добавить пользователей в список sudoers – это добавить их напрямую в файл конфигурации sudoers.

Редактировать файл конфигурации sudoers с помощью команды:

Это откроет файл /etc/sudoers в вашем редакторе Vi или в том, что у вас есть в $PATH. Прокрутите вниз, пока не найдете следующую запись:

Сразу после указанной выше записи добавьте следующую строку:

Добавить пользователей в файл конфигурации sudoers в CentOS

Добавить пользователей в файл конфигурации sudoers в CentOS

Здесь строка ALL=(ALL) ALL означает, что пользователь "senthil" может выполнять любые команды на любом хосте. Замените «senthil» своим именем пользователя. Сохраните и закройте файл. Сделанный! Пользователь "senthil" добавлен в список sudoers.

2.3. Проверка пользователей sudo в CentOS

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

Теперь проверьте, может ли пользователь выполнять какие-либо административные задачи с разрешением sudo:

Проверить пользователей sudo

Проверка пользователей sudo

3. Удалить привилегии sudo у пользователя в CentOS

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

Чтобы отозвать разрешения sudo у пользователя, просто выполните следующую команду от имени пользователя root:

Пример вывода:

Удалить привилегии sudo у пользователя в CentOS

Удалить привилегии sudo у пользователя в CentOS

Приведенная выше команда удалит пользователя с именем «senthil» из группы «wheel». Обратите внимание, что пользователь не удаляется полностью из системы. Мы удалили только привилегии sudo.

Проверьте, может ли пользователь выполнять операции sudo:

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

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

Приведенная выше команда удалит пользователя "senthil" вместе с его домашним каталогом и почтовым ящиком.

Для получения дополнительной информации см. справочную страницу соответствующей команды:

Заключение

Теперь вы знаете, как добавлять, удалять и предоставлять привилегии sudo пользователям в операционных системах CentOS. Как видите, очень легко добавлять новых пользователей в списки sudoers, предоставлять привилегии sudo существующему пользователю и удалять разрешения sudo у пользователя. Надеюсь, это поможет.

Команда sudo означает «Суперпользователь DO» и временно повышает привилегии обычного пользователя для административных задач. Команда sudo в CentOS предоставляет обходной путь, позволяя пользователю временно повысить свои привилегии для одной задачи.

В этом руководстве описаны шаги по добавлению пользователя в sudoers в CentOS.

Учебник по созданию пользователя sudo в CentOS 7.

  • Система под управлением CentOS 7
  • Доступ к учетной записи пользователя с привилегиями root

Примечание. Руководства по Linux Sudo Command также доступны для Debian и Ubuntu.

Добавить пользователя в Sudoers на CentOS

Шаг 1. Войдите в систему как администратор

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

Если вы подключаетесь к удаленному компьютеру (по сети), откройте окно терминала и введите команду:

Server_ip_address — это сетевой IP-адрес сервера, на который вы входите. Введите свои учетные данные при появлении запроса.

Шаг 2. Создайте нового пользователя Sudo

Чтобы добавить нового пользователя sudo, откройте окно терминала и введите команду:

Используйте фактическое имя пользователя для нового пользователя вместо UserName.

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

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

Примечание. Надежный безопасный пароль содержит больше символов и несколько специальных символов (например, цифры, символы или прописные буквы). Чтобы научиться управлять паролями с помощью команд passwd, обратитесь к нашей статье «Как использовать команду Passwd».

Как добавить пользователей в группу Sudo

По умолчанию в CentOS 7 есть группа пользователей, которая называется «колесо». Членам группы wheel автоматически предоставляются привилегии sudo. Добавление пользователя в эту группу — это быстрый и простой способ предоставить пользователю привилегии sudo.

Шаг 1. Убедитесь, что группа Wheel включена

В вашей установке CentOS 7 может быть включена или не включена группа колес.

Откройте файл конфигурации, введя команду:

Прокрутите файл конфигурации, пока не увидите следующую запись:

Затем сохраните файл и выйдите из редактора.

Шаг 2. Добавьте пользователя в группу

Чтобы добавить пользователя в группу wheel, используйте команду:

Как обычно, замените UserName именем пользователя, получающего привилегии sudo.

Шаг 3. Переключитесь на пользователя Sudo

Переключитесь на новую (или новую) учетную запись пользователя с помощью команды su (подстановка пользователя):

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

Введите следующую команду, чтобы просмотреть содержимое каталога /root:

Терминал должен запросить пароль для UserName. Введите его, и вы должны увидеть отображение списка каталогов. Поскольку просмотр содержимого /root требует привилегий sudo, это работает как быстрый способ доказать, что UserName может использовать команду sudo.

Альтернатива: добавить пользователя в файл конфигурации Sudoers

Если есть проблема с группой wheel или административная политика не позволяет вам создавать или изменять группы, вы можете добавить пользователя непосредственно в файл конфигурации sudoers, чтобы предоставить привилегии sudo.

Шаг 1. Откройте файл Sudoers в редакторе

В терминале выполните следующую команду:

Это откроет файл /etc/sudoers в текстовом редакторе.

Шаг 2. Добавьте нового пользователя в файл

Прокрутите вниз, чтобы найти следующий раздел:

Сразу после этой записи добавьте следующий текст:

Замените UserName именем пользователя, созданным на шаге 2. Этот раздел должен выглядеть следующим образом:

Сохраните файл и выйдите.

Шаг 3. Проверка прав доступа Sudo для учетной записи пользователя

Переключите учетные записи пользователей с помощью команды su (заменить пользователя):

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

Список содержимого каталога /root:

Введите пароль для этого пользователя при появлении запроса. Терминал должен отобразить список всех каталогов в каталоге /root.

В этом руководстве показано, как добавить пользователя в sudoers в CentOS или изменить привилегии существующего пользователя sudo.

Команда Linux sudo необходима для выполнения дополнительных и административных задач в системе Linux. Хотя это можно сделать с помощью пользователя root (или учетной записи администратора) с помощью команды su, системным администраторам не рекомендуется постоянно работать с учетной записью root. Это может быть не только угрозой безопасности, но также может привести к изменениям в системе Linux, которые могут нарушить функциональность.

Когда речь идет о профессиональной или технической рабочей области, становится необходимым разделение привилегий для выполнения команд. Тем более, если ваша команда работает в системах Linux, поскольку она обладает большей способностью редактировать данные на аппаратном уровне. Одним из таких примеров является пользователь root в CentOS.

Если в рабочей области требуется еще один пользователь root, перед добавлением пользователей необходимо выполнить определенные действия. CentOS предлагает команду «sudo» для таких случаев. Команда «sudo» означает «выполнять действия суперпользователя» и позволяет пользователям запускать команды от имени пользователя «root».

Один из способов добавить пользователей – добавить их в файл sudoers. Файл sudoers — это файл конфигурации, содержащий данные о пользователях, группах и уровне их привилегий.

Еще один способ — добавить пользователей в группу «колесо», предоставляемую CentOS. Этот шаг особенно подходит для систем распространения на основе RedHat.

Как добавить пользователей в группу Wheel

Сначала проверьте, включена ли группа «колесо» с помощью команды visudo.

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

Чтобы добавить пользователя в группу «Колесо», используйте следующее:

«Имя пользователя» будет именем добавляемого пользователя. Пример:

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

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

Синтаксис: sudo whoami

Должно появиться приглашение с запросом пароля, и если у пользователя есть доступ к sudo, в выводе должно быть указано «root».

Ожидаемый результат: root

Если пользователю не были предоставлены привилегии sudo, появится сообщение о том, что «пользователь отсутствует в файле sudoers».

Как добавить пользователей в файл Sudoers

Как сказано выше, файл sudoers — это файл конфигурации, который содержит все данные о пользователях, группах и их уровнях привилегий. Если определенные проблемы группы «колесо» или политики компании не позволяют вам использовать метод добавления группы «колесо», вместо этого вы можете добавить пользователей непосредственно в файл sudoers. Преимущество этого заключается в том, что файл sudoers позволяет больше параметров настройки для команд и определенных привилегий.

Файл sudoers обычно находится в каталоге /etc/sudoers, или вы можете создать новый файл в каталоге /etc/sudoers.d.

Мы снова используем команду visudo, на этот раз для редактирования файла sudoers. Вы также можете использовать текстовый редактор, но в отличие от visudo, он не проверяет наличие синтаксических ошибок, и вы можете потерять доступ к sudo из-за ошибки.

Если вы новичок и предпочитаете использовать текстовый редактор nano, введите:

В противном случае продолжите выполнение этой команды: visudo

Это должно открыть файл конфигурации /etc/sudoers. Затем прокрутите вниз, пока не найдете эту строку:

Нажмите Enter и добавьте это в следующую строку:

Поэтому раздел добавления пользователей в конфигурационном файле sudoers должен выглядеть следующим образом:

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

Другим примером может быть разрешение пользователю только определенных команд. Предположим, вы хотите разрешить пользователю «SlimShady» перезапускать только «DeltaPrune», затем используйте:

Или, например, если вы хотите разрешить исключительно команды ping. Использование:

Это позволяет лучше настраивать и точно распределять привилегии для всех пользователей.

Заключение

Команда и функция sudo в Linux CentOS позволяют осуществлять комплексное администрирование систем и пользователей по отдельности и группами. С помощью группового метода «wheel» и файлового метода sudoers можно не только создавать и добавлять новых пользователей, но также изменять и редактировать их привилегии до мельчайших деталей.

Команда sudo предоставляет механизм предоставления прав администратора — обычно доступных только пользователю root — обычным пользователям. В этом руководстве показано, как создать нового пользователя с доступом к sudo в CentOS 8 без изменения файла /etc/sudoers на вашем сервере.

Примечание. Если вы хотите настроить sudo для существующего пользователя CentOS, перейдите к шагу 3.

Шаг 1 — Вход на ваш сервер

Подключение к вашему серверу по SSH в качестве пользователя root:

Используйте IP-адрес или имя хоста вашего сервера вместо your_server_ip_address выше.

Шаг 2 — Добавление нового пользователя в систему

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

Обязательно замените sammy именем пользователя, которое вы хотите создать.

Используйте команду passwd для обновления пароля нового пользователя:

Не забудьте заменить sammy на пользователя, которого вы только что создали. Вам дважды будет предложено ввести новый пароль:

Шаг 3 — Добавление пользователя в группу wheel

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

Еще раз не забудьте заменить sammy на имя пользователя, которому вы хотите предоставить привилегии sudo. По умолчанию в CentOS все члены группы wheel имеют полный доступ к sudo.

Шаг 4. Проверка доступа к sudo

Чтобы проверить, работают ли новые разрешения sudo, сначала используйте команду su, чтобы переключиться с пользователя root на новую учетную запись пользователя:

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

Например, вы можете перечислить содержимое каталога /root, который обычно доступен только пользователю root:

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

Примечание: это не запрос пароля root! Введите пароль пользователя с поддержкой sudo, а не пароль root.

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

Заключение

В этом кратком руководстве мы создали новую учетную запись пользователя и добавили ее в группу wheel, чтобы включить доступ sudo. Для получения более подробной информации о настройке сервера CentOS 8 ознакомьтесь с нашим руководством по начальной настройке сервера с CentOS 8.

Хотите узнать больше? Присоединяйтесь к сообществу DigitalOcean!

Присоединяйтесь к нашему сообществу DigitalOcean, насчитывающему более миллиона разработчиков, бесплатно! Получайте помощь и делитесь знаниями в нашем разделе "Вопросы и ответы", находите руководства и инструменты, которые помогут вам расти как разработчику и масштабировать свой проект или бизнес, а также подписывайтесь на интересующие вас темы.

Читайте также: