Как сделать суперпользователя linux centos

Добавил пользователь Валентин П.
Обновлено: 04.10.2024

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

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

Добавление пользователей

Если вы находитесь в системе под пользователем root , то создать нового пользователя можно следующей командой:

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

Теперь следует назначить пользователю пароль:

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

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

Добавление sudo прав пользователю

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

Можно добавить пользователя в группу wheel (каждый её член автоматически получает доступ к sudo ) при помощи команды gpasswd . Такой подход является самым безопасным и простым для управления доступа к sudo .

Наберите следующую команду если находитесь под пользователем root :

Если вы под другим пользователем, то выполните следующее:

Теперь новому пользователю открыт доступ к sudo и он может выполнять команды от роли администратора. Для этого просто добавьте sudo перед командой:

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

Управление пользователями с правами sudo

Команда gpasswd позволяет вам добавлять и удалять пользователей из групп (например wheel ), но она не покажет вам членов определенной группы. Чтобы получить список пользователей, принадлежащих к группе wheel (то есть увидеть пользователей с правами sudo ), вам понадобится команда lid . По-умолчанию, эта команда выводит список групп, к которым принадлежит пользователь, но при помощи ключа -g вы можете увидеть список членов какой-либо группы.

Вы получите имена пользователей и соответствующие UID пользователей группы wheel . Таким образом вы легко сможете проверить были ли предыдущие команды выполнены успешно и получил лм ваш новый пользователь необходимые права.

Удаление пользователей

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

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

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

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

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

Заключение

Теперь у вас должна быть полная картина как удалять и добавлять пользователей на вашем CentOS 7 сервере. Такой подход управления пользователями позволит вам разделить их и выдавать только те права, которые им необходимы для выполнения работы. Теперь вы можете перейти к дальнейшей настройке сервера, например, установке LAMP или LEMP.

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

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

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

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

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

Причина заключается в том, что обычные пользователи системы и root пользователь имеют различные переменные окружения PATH (вы можете посмотреть PATH пользователя при помощи "echo $PATH). После ввода команды Linux, оболочка будет искать пользовательский PATH, чтобы попытаться найти команду для запуска. Она начинает поиск в каждой директории указанной в PATH, пока цель не будет найдена.

Команды обычных пользователей обычно расположены в /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-ом.

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

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

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

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

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

Но Sudo может сделать не только это, а гораздо больше. Мы можем позволить пользователю или группе пользователей запускать только одну команду или группу команд. Давайте вернемся к нашему sudoers файлу. Начнем с alex и alisa, членов группы administrator. Если мы хотим, чтобы все пользователи из группы"administrator" были в состоянии запустить каждую команду в качестве суперпользователя, мы должны изменить наш пример:

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

Здесь мы определили алиас под названием ADMINS, с членами alisa и alex.

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

Но этого мало! Мы должны сказать Sudo, что пользователи, определенные как ADMINS, могут запускать команды заданные в LOCATE. Чтобы сделать это, мы заменим строки с "%admin" на эти:

Это означает, что пользователи входящие в алиас ADMINS могут запускать все команды в алиасе LOCATE.

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

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

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

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

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

Давайте все это добавим в наш /etc/sudoers файл (с помощью visudo!). А также предоставим нашей ADMINS групе права на выполнение программ и из алиаса NETWORKING:

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

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

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

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

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

2.1 Sudo shell

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

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

3. consolehelper

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

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

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

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

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

Два нижеописанных варианта подходят для сброса root на VDS с KVM-виртуализацией и Linux-подобными ОС. Например – ОС Debian, CentOS, Ubuntu.

В этом обзоре мы рассмотрим процесс сброса пароля для операционной системы centOS 7.

Содержание:

Как изменить пароль root на VDS, когда он неизвестен

Поменять пароль root в этом случае можно через панель VMmanager, используя встроенную систему удалённого доступа к серверу Virtual Network Computing (VNC).

Теперь можно загрузится в штатном режиме с уже действующим новым паролем.

Как установить новый пароль root на VDS, когда он известен

Нужно создать удалённое подключение к виртуальному серверу по сетевому протоколу SSH. Проще всего это сделать через бесплатную программу-клиент PuTTY (для Windows) или встроенный SSH-клиент для Mac OS.

Есть много удобных серверных клиентов и для пользователей мобильных устройств. Например, JuiceSSH для Android или Termius для iOS.

Смена пароля root с помощью PuTTY

Начни экономить на хостинге сейчас — 14 дней бесплатно!

Введение

Команда sudo (которая расшифровывается как “substitute user and do” – “подменить пользователя и выполнить”) позволяет пользователю выполнять административные команды, которые обычно доступны только для пользователей с правами root (или суперпользователей). Следуя данной инструкции, вы легко научитесь создавать пользователей, которые смогут выполнять подобные команды, – и при этом вам не нужно будет изменять файлы настроек sudoers. Если вы собираетесь дать права sudo уже существующему пользователю, пропустите первые два шага и начните сразу с третьего.

Шаг 1

Залогиньтесь на свой сервер в качестве root-пользователя.

Шаг 2

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

(вместо username напишите имя, которое вы хотите присвоить новому пользователю)

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

Задайте и подтвердите новый пароль в командной строке. Настоятельно рекомендую придумать сложный пароль!

Шаг 3

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

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

Шаг 4

Проверьте, обладает ли новый пользователь sudo-правами. Для этого:

  • Введите команду su (смена пользователя), чтобы перейти в аккаунт созданного пользователя:
  • Напишите sudo перед командой, которую вы хотите запустить (command_to_run), пользуясь правами суперпользователя.
  • К примеру, вы можете запросить список содержимого корневой директории /root – данная информация обычно доступна только root-пользователю.
  • Когда вы в первый раз будете использовать команды sudo в данной сессии, у вас запросят пароль для входа в аккаунт данного пользователя. Для того, чтобы продолжить, вам необходимо ввести пароль.

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


Дистрибутив CentOS ориентирован на бизнес, и все его пакеты скомпилированы из исходников Red Hat Enterprise Linux. Этот клон RHEL используется более чем 20% веб-серверов Linux, занимая третье место после Ubuntu и Debian.

Это руководство работает с CentOS 6.x, 7.x и другими эквивалентными версиями. Создать пользователя и сделать его учетной записью root CentOS можно с помощью нескольких команд, подробно описанных ниже.

Создайте новую учетную запись пользователя с правами root в CentOS

1. Откройте Терминал или установите SSH-соединение

2. Создайте новую учетную запись пользователя как root:

mihail dolin

3. Задайте пароль для этой новой учетной записи:

mihail passwd

4. Назначьте привилегии root:

6. Добавьте строку чуть ниже, чтобы дать новой учетной записи права root:

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

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

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

Создание пользователя Sudo

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

Выполните следующие действия, чтобы создать пользователя sudo на сервере CentOS:

1. Войдите на свой сервер.

Начните с входа на сервер CentOS через ssh как пользователь root:

2. Создайте новую учетную запись пользователя.

Создайте новую учетную запись пользователя с помощью команды useradd :

Замените username пользователя именем пользователя, которого вы хотите создать.

3. Установите пароль пользователя.

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

Вам будет предложено подтвердить пароль. Убедитесь, что вы используете надежный пароль.

4. Добавьте нового пользователя в группу sudo

По умолчанию в системах CentOS членам группы wheel предоставляется доступ sudo. Добавьте нового пользователя в группу wheel:

Как пользоваться судо

Переключитесь на вновь созданного пользователя:

Чтобы использовать sudo, просто добавьте к команде префикс sudo и пробел.

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

Выводы

Это все. Вы успешно создали пользователя sudo в своей системе CentOS. Теперь вы можете использовать этого пользователя для выполнения административных задач на вашем сервере.

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