- Добавление и удаление пользователей в CentOS 8
- Требования
- 1: Добавление пользователей
- Привилегии sudo
- Управление пользователями с доступом к sudo
- Удаление пользователей
- Заключение
- Создание и удаление пользователей в CentOS 7
- Создание пользователей
- Передача привилегий Sudo
- Управление пользователями с привилегиями Sudo
- Удаление пользователей
- Итоги
- How to create a user on CentOS
- Creating a basic user
- Common Arguments
- Creating a System User
- Creating a User with Custom Home Directory
- Creating a User and Adding Multiple Groups
- Creating a User with an Expiry Date
- Creating a User and Setting Their Shell
- Setting a Password Expiration
- Deleting a User Account
- Create a Sudo User on CentOS
Добавление и удаление пользователей в CentOS 8
Как правило, после запуска свежего сервера Linux первым делом нужно добавить новых пользователей или удалить ненужные учетные записи. Данный мануал поможет вам создать нового пользователя на сервере CentOS 8, передать ему доступ к sudo и удалить его.
Требования
Для работы вам понадобится свежий сервер CentOS 8. Если у вас уже есть пользователь с доступом к sudo, рекомендуем войти на сервер с его помощью (инструкции можно найти здесь). Если пока что у вас нет такого пользователя, войдите как root и пропустите префикс sudo во всех командах мануала.
1: Добавление пользователей
В мануале мы назовем нашего пользователя 8host, а вы вместо этого укажите имя своего пользователя.
Чтобы добавить нового пользователя, запустите команду:
Затем нужно присвоить новому пользователю пароль. Для этого нужна команда passwd:
Она предложит вам ввести и подтвердить пароль. Теперь ваш новый пользователь готов к работе.
Примечание: Если ваш SSH сервер не поддерживает парольную аутентификацию, вы не сможете войти в систему как ваш новый пользователь. Чтобы настроить аутентификацию по ключам, следуйте разделу 5 мануала по начальной настройке.
Привилегии sudo
Если ваш новый пользователь должен иметь возможность выполнять команды с повышенными привилегиями администратора (root), откройте ему доступ к команде sudo – она отвечает за подобные права в системах Linux.
Чтобы пользователь получил доступ к sudo, добавьте его в группу wheel. По умолчанию в CentOS все пользователи, входящие в эту группу, могут использовать sudo.
Чтобы добавить пользователя в группу wheel, используйте эту команду:
sudo usermod -aG wheel 8host wheel
Теперь ваш пользователь может выполнять команды с привилегиями администратора. Для этого вы должны добавить в начало команды префикс sudo:
При этом будет запрошен пароль вашего текущего пользователя (не root).
Управление пользователями с доступом к sudo
Команда usermod позволяет добавлять и удалять пользователей из группы wheel, однако она не позволяет узнать, какие пользователи входят в эту группу.
Чтобы узнать список пользователей, входящих в группу wheel, используйте команду lid. Обычно она используется для того, чтобы узнать, в какие группы входит конкретный пользователь, но с флагом –g она выводит список пользователей, входящих в определенную группу.
sudo lid -g wheel
centos(uid=1000)
8host(uid=1001)
В выводе будут перечислены входящие в группу wheel пользователи и их UID. Это удобный способ убедиться, что вы успешно добавили своего нового пользователя в эту группу и что у него теперь есть необходимые привилегии.
Удаление пользователей
Если какой-то пользователь вам больше не нужен, вы можете удалить его.
Чтобы удалить пользователя, не удаляя при этом его файлы, используйте команду userdel:
Если вы хотите удалить пользователя и все его файлы, добавьте флаг –r:
Также любая из этих команд автоматически удалит пользователи из всех групп, в которых он состоял, включая группу wheel. Если позже вы создадите нового пользователя с таким же именем, его нужно будет снова добавить в группу wheel, чтобы открыть доступ к sudo.
Заключение
Теперь вы знаете основы управления пользователями на сервере CentOS 8, что позволит вам разделять пользователей и передавать им только те привилегии, которые им необходимы для работы.
Создание и удаление пользователей в CentOS 7
После создания нового сервера Linux основными задачами, которые необходимо выполнить, являются создание и удаление пользователей. Сначала на новом сервере есть только стандартная учетная запись root. Этот пользователь обладает привилегиями администратора, потому использовать root на регулярной основе опасно – все команды, запущенные через root, влияют на всю файловую систему сервера.
Потому для выполнения рутинных задач лучше создать непривилегированного пользователя. Кроме того, нужно создать дополнительные учетные записи для каждого пользователя, который должен иметь доступ к серверу (это в первую очередь необходимо для того, чтобы иметь возможность контролировать и управлять ими). При помощи инструмента sudo можно расширить привилегии любого пользователя до административных. Данное руководство охватывает создание и удаление учетных записей пользователей на сервере CentOS 7, а также передачу привилегий sudo.
Создание пользователей
Если текущим пользователем является root, для создания нового пользователя введите команду:
Если же текущим является пользователь с привилегиями sudo (об этом – в следующем разделе), запустите следующую команду, которая создаст новую учетную запись:
Затем нужно установить пароль для нового пользователя. Для этого используйте команду passwd.
Примечание: Не забудьте добавить Sudo в начале команды, если текущим является пользователь с расширенными привилегиями.
Пароль нужно будет ввести повторно, чтобы подтвердить его. Готово! Теперь новая учетная запись пользователя настроена и готова к использованию.
Передача привилегий Sudo
Если новому пользователю нужно иметь возможность выполнять команды с правами root, нужно предоставить ему доступ к sudo.
Для этого нужно добавить пользователя в группу wheel (все пользователи, помещенные в эту группу, могут пользоваться sudo) с помощью команды gpasswd. Это самый безопасный и простой способ управления правами sudo.
Итак, если текущим является root, введите:
Если текущим является пользователь с привилегиями sudo:
sudo gpasswd -a username wheel
Теперь новый пользователь имеет возможность запускать команды с правами администратора. Для этого нужно просто начинать команду с sudo:
При этом будет предложено ввести пароль учётной записи текущего пользователя, после чего команда будет выполнена с расширенными привилегиями.
Управление пользователями с привилегиями Sudo
Команда gpasswd позволяет добавлять пользователей в группу (например, wheel) и удалять их из группы, но при этом команда не показывает, какие пользователи состоят в группе. Чтобы узнать, какие пользователи состоят в группе wheel, используйте функцию lid. Как правило, lid используется для того чтобы просмотреть группы, в которых состоит определенный пользователь, но флаг –g способен обратить действие команды, и тогда она покажет, какие пользователи состоят в определенной группе.
На экране появится список пользователей, которые принадлежат этой группе. Таким образом, эта команда способна подтвердить, что предыдущие команды были выполнены успешно, и что нужные пользователи имеют расширенные привилегии.
Удаление пользователей
Все ненужные учетные записи рекомендуется удалять. Для этого существуют следующие команды.
Чтобы удалить пользователя, но сохранить все его файлы, запустите как root:
Чтобы удалить домашний каталог вместе с учетной записью пользователя, введите как root:
Примечание: если текущим является пользователь с привилегиями sudo, внесите команду sudo в начало строки.
Обе вышеприведенные команды удаляют пользователя изо всех групп, в которых он состоял (например, из группы wheel). Если в будущем в системе появится пользователь с таким же именем, его нужно будет повторно добавить в группу wheel, чтобы предоставить ему привилегии sudo.
Итоги
Эффективное управление пользователями позволяет разделить пользователей на группы и предоставить им доступ в необходимых пределах. Теперь можно перейти к установке на сервер CentOS 7 любого нужного программного обеспечения, например, программных групп LAMP или LEMP.
How to create a user on CentOS
In this tutorial, you will learn how to create a user on CentOS using the useradd command. You also see several common and real world examples of user creation.
Instructions provided in this tutorial are compatible with the following versions of CentOS.
Creating a basic user
The most basic example of creating a new user in CentOS is to use the useradd command.
The useradd command on its own will not set a password for your newly created user. While the -p flag can be used to set the password, it is strongly recommended that you do not use it. Password’s set from the command-line remain visible in a user’s history.
Instead, to set a password for the new user use the passwd command. It is much more secure, as it does not leave a log in a user’s shell history.
The useradd command above did not use any arguments to customize the new user, meaning defaults were applied. The default behaviour of the useradd command is to:
- Create a new user
- Create a home directory in /home/
- Create a user group with the name of the user
- Set the shell to default, which is bash
- Set the UID (User ID) to the next available ID, incrementing from 1000 for regular users.
Common Arguments
The following is a list of common arguments that can be used to further customize a new user.
System users will be created with no aging information in /etc/shadow , and their numerical identifiers are chosen in the `SYS_UID_MIN-SYS_UID_MAX range.
Creating a System User
System users are created for running system processes and tasks. These are not regular users, and should not be used as one.
As system user does not expire by default and it given a unique identifier from a range reserved for such accounts. Typical users are given an unique indentifer from 1000 onwards, while system users are given a 3 digit ID.
Also, a system user is not created with a home directory. This enforces the idea that the user is cannot have a login session, such as through SSH. A best practice to prevent someone from breaking into the system with a system user.
To create a system user you use the -r or —system flag.
Creating a User with Custom Home Directory
To set the home directory of user and overwrite the default value you use the -m or —home-dir flag.
The example below will create a new user named student and set their home directory to /home/students/student1 .
useradd -h /home/students/student1 student1
Creating a User and Adding Multiple Groups
In most environments, privileges to files, directories, and executables are assigned to groups rather than individual users. For the sake of securing resources by area of concern, each resource should be grouped and assigned group privileges.
This strategy involves the creation of multiple groups, each with its own privileges. In order to add a new user to multiple groups, you use the -G or —groups flag.
For example, to create a new user named sysadmin1 and add them to multiple groups, you would do the following.
useradd -G webops,devops,sysops sysadmin1
Creating a User with an Expiry Date
Some users are only expected to exist for a specified period of time. Afterwhich, the user should be effectively disabled on the system. This can be done using the -e or —expiredate flags.
For example, to add an expiration date to a newly created user you would run the following useradd command.
useradd --expiredate 2022-05-30
The example above will expire the user account on May 30th, 2022.
Creating a User and Setting Their Shell
It’s not uncommon to run several different shells on a Linux server. While the default shell in CentOS is Bash, other popular shells are ZSH and Korn Shell, for example.
To create a new user with a specific shell you use the -s or —shell flag.
useradd -s /bin/ksh student1
Setting a Password Expiration
The useradd command does not support setting limits for user passwords. Instead, the passwd command is used for such tasks.
The three main flags for setting time limits on user passwords are the following:
- -n, —minimum — Sets the minimum password lifetime, in days.
- -x, —maximum — Sets the maximum password lifetime, in days.
- -w, —warning — Sets the number of days before expirations to send a warning, in days.
In order to set these values and have them take affect the user’s account must support password lifetimes.
For example, to set a user’s password to expire in 90 days, with a minimum of 2 days, you would run the following command.
sudo passwd -n 2 -x 90 student1
Deleting a User Account
Deleting users is often need to remove unnecessary users that naturally build up over time. To delete a user in CentOS you use the userdel command.
Create a Sudo User on CentOS
A sudo user is a super user in Linux. There are several ways to accomplish this task, but simplest is to add the user to the wheel group.
In the following example, the new user student1 is added to the wheel group, giving him sudo rights.
sudo useradd -G wheel -c "Student1 is an admin" student1