Как добавить пользователя в sudoers в Centos
Обновлено: 21.11.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 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
Здесь -aG указывает на добавление к дополнительной группе. В нашем случае это колесная группа. Вот и все, мы только что предоставили права sudo пользователю "senthil".
Давайте проверим, есть ли пользователь в списке sudoers, с помощью команды:
Пример вывода:
Проверьте, есть ли у пользователя права sudo в centos
Как видно из последней строки приведенного выше вывода, пользователь "senthil" теперь может выполнять все команды.
2.2. Добавьте пользователей в sudoers, отредактировав файл конфигурации sudoers в CentOS
Еще один способ добавить пользователей в список sudoers – это добавить их напрямую в файл конфигурации sudoers.
Редактировать файл конфигурации sudoers с помощью команды:
Это откроет файл /etc/sudoers в вашем редакторе Vi или в том, что у вас есть в $PATH. Прокрутите вниз, пока не найдете следующую запись:
Сразу после указанной выше записи добавьте следующую строку:
Добавить пользователей в файл конфигурации sudoers в CentOS
Здесь строка ALL=(ALL) ALL означает, что пользователь "senthil" может выполнять любые команды на любом хосте. Замените «senthil» своим именем пользователя. Сохраните и закройте файл. Сделанный! Пользователь "senthil" добавлен в список sudoers.
2.3. Проверка пользователей sudo в CentOS
Выйдите из текущего сеанса и снова войдите в систему как только что созданный пользователь sudo. Кроме того, вы можете напрямую переключиться на другого пользователя, не выходя из текущего сеанса, с помощью следующей команды:
Теперь проверьте, может ли пользователь выполнять какие-либо административные задачи с разрешением sudo:
Проверка пользователей sudo
3. Удалить привилегии sudo у пользователя в CentOS
Мы можем лишить пользователя привилегий sudo без полного удаления учетной записи пользователя.
Чтобы отозвать разрешения sudo у пользователя, просто выполните следующую команду от имени пользователя root:
Пример вывода:
Удалить привилегии sudo у пользователя в CentOS
Приведенная выше команда удалит пользователя с именем «senthil» из группы «wheel». Обратите внимание, что пользователь не удаляется полностью из системы. Мы удалили только привилегии sudo.
Проверьте, может ли пользователь выполнять операции sudo:
Сентхил больше не входит в группу sudoers и не может выполнять никаких административных задач.
Чтобы навсегда удалить пользователя из системы, запустите:
Приведенная выше команда удалит пользователя "senthil" вместе с его домашним каталогом и почтовым ящиком.
Для получения дополнительной информации см. справочную страницу соответствующей команды:
Заключение
Теперь вы знаете, как добавлять, удалять и предоставлять привилегии sudo пользователям в операционных системах CentOS. Как видите, очень легко добавлять новых пользователей в списки sudoers, предоставлять привилегии sudo существующему пользователю и удалять разрешения sudo у пользователя. Надеюсь, это поможет.
Команда sudo означает «Суперпользователь DO» и временно повышает привилегии обычного пользователя для административных задач. Команда sudo в CentOS предоставляет обходной путь, позволяя пользователю временно повысить свои привилегии для одной задачи.
В этом руководстве описаны шаги по добавлению пользователя в sudoers в CentOS.
- Система под управлением 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, насчитывающему более миллиона разработчиков, бесплатно! Получайте помощь и делитесь знаниями в нашем разделе "Вопросы и ответы", находите руководства и инструменты, которые помогут вам расти как разработчику и масштабировать свой проект или бизнес, а также подписывайтесь на интересующие вас темы.
Читайте также: