Создание и управление пользователями Linux: различия между версиями

Материал из ARK-HOSTER.RU | Документация хостинга
Перейти к навигации Перейти к поиску
Нет описания правки
Нет описания правки
 
Строка 11: Строка 11:


1. Создайте нового пользователя:
1. Создайте нового пользователя:
<code>sudo adduser newuser</code>
<pre>sudo adduser newuser</pre>


2. Следуйте инструкциям:
2. Следуйте инструкциям:
Строка 22: Строка 22:


1. Создайте пользователя с паролем:
1. Создайте пользователя с паролем:
<code>sudo useradd -m -s /bin/bash newuser</code>
<pre>sudo useradd -m -s /bin/bash newuser</pre>


2. Установите пароль:
2. Установите пароль:
<code>sudo passwd newuser</code>
<pre>sudo passwd newuser</pre>


3. Добавьте пользователя в группу sudo (для Ubuntu/Debian):
3. Добавьте пользователя в группу sudo (для Ubuntu/Debian):
<code>sudo usermod -aG sudo newuser</code>
<pre>sudo usermod -aG sudo newuser</pre>


=== Создание пользователя с конкретными параметрами ===
=== Создание пользователя с конкретными параметрами ===


1. Создайте пользователя с указанием UID и GID:
1. Создайте пользователя с указанием UID и GID:
<code>sudo useradd -m -u 1001 -g users -s /bin/bash -d /home/newuser newuser</code>
<pre>sudo useradd -m -u 1001 -g users -s /bin/bash -d /home/newuser newuser</pre>


2. Установите пароль:
2. Установите пароль:
<code>sudo passwd newuser</code>
<pre>sudo passwd newuser</pre>


== 3. Управление группами ==
== 3. Управление группами ==
Строка 43: Строка 43:


1. Создайте новую группу:
1. Создайте новую группу:
<code>sudo groupadd developers</code>
<pre>sudo groupadd developers</pre>


2. Создайте группу с указанием GID:
2. Создайте группу с указанием GID:
<code>sudo groupadd -g 1001 developers</code>
<pre>sudo groupadd -g 1001 developers</pre>


=== Добавление пользователя в группу ===
=== Добавление пользователя в группу ===


1. Добавьте пользователя в группу:
1. Добавьте пользователя в группу:
<code>sudo usermod -aG developers newuser</code>
<pre>sudo usermod -aG developers newuser</pre>


2. Добавьте пользователя в несколько групп одновременно:
2. Добавьте пользователя в несколько групп одновременно:
<code>sudo usermod -aG developers,www-data,sudo newuser</code>
<pre>sudo usermod -aG developers,www-data,sudo newuser</pre>


=== Просмотр групп пользователя ===
=== Просмотр групп пользователя ===


1. Просмотрите группы текущего пользователя:
1. Просмотрите группы текущего пользователя:
<code>groups</code>
<pre>groups</pre>


2. Просмотрите группы другого пользователя:
2. Просмотрите группы другого пользователя:
<code>groups newuser</code>
<pre>groups newuser</pre>


3. Просмотрите детальную информацию:
3. Просмотрите детальную информацию:
<code>id newuser</code>
<pre>id newuser</pre>


== 4. Управление правами доступа ==
== 4. Управление правами доступа ==
Строка 72: Строка 72:


1. Добавьте пользователя в группу sudo:
1. Добавьте пользователя в группу sudo:
<code>sudo usermod -aG sudo newuser</code>
<pre>sudo usermod -aG sudo newuser</pre>


2. Создайте файл конфигурации sudo для пользователя:
2. Создайте файл конфигурации sudo для пользователя:
<code>sudo nano /etc/sudoers.d/newuser</code>
<pre>sudo nano /etc/sudoers.d/newuser</pre>


3. Добавьте права:
3. Добавьте права:
<code>newuser ALL=(ALL:ALL) ALL</code>
<pre>newuser ALL=(ALL:ALL) ALL</pre>
<code>newuser ALL=(ALL) /usr/bin/apt, /usr/bin/systemctl</code>
<pre>newuser ALL=(ALL) /usr/bin/apt, /usr/bin/systemctl</pre>


=== Настройка прав доступа к файлам ===
=== Настройка прав доступа к файлам ===


1. Измените владельца файла:
1. Измените владельца файла:
<code>sudo chown newuser:developers /path/to/file</code>
<pre>sudo chown newuser:developers /path/to/file</pre>


2. Измените права доступа:
2. Измените права доступа:
<code>sudo chmod 755 /path/to/file</code>
<pre>sudo chmod 755 /path/to/file</pre>
<code>sudo chmod u+x /path/to/file</code>
<pre>sudo chmod u+x /path/to/file</pre>


3. Рекурсивно измените права для директории:
3. Рекурсивно измените права для директории:
<code>sudo chown -R newuser:developers /path/to/directory</code>
<pre>sudo chown -R newuser:developers /path/to/directory</pre>
<code>sudo chmod -R 755 /path/to/directory</code>
<pre>sudo chmod -R 755 /path/to/directory</pre>


== 5. Управление профилями пользователей ==
== 5. Управление профилями пользователей ==
Строка 99: Строка 99:


1. Измените shell пользователя:
1. Измените shell пользователя:
<code>sudo usermod -s /bin/bash newuser</code>
<pre>sudo usermod -s /bin/bash newuser</pre>


2. Заблокируйте shell (запретить вход):
2. Заблокируйте shell (запретить вход):
<code>sudo usermod -s /usr/sbin/nologin newuser</code>
<pre>sudo usermod -s /usr/sbin/nologin newuser</pre>


3. Разблокируйте shell:
3. Разблокируйте shell:
<code>sudo usermod -s /bin/bash newuser</code>
<pre>sudo usermod -s /bin/bash newuser</pre>


=== Настройка домашней директории ===
=== Настройка домашней директории ===


1. Измените путь к домашней директории:
1. Измените путь к домашней директории:
<code>sudo usermod -d /new/home/path newuser</code>
<pre>sudo usermod -d /new/home/path newuser</pre>


2. Переместите содержимое старой директории:
2. Переместите содержимое старой директории:
<code>sudo usermod -m -d /new/home/path newuser</code>
<pre>sudo usermod -m -d /new/home/path newuser</pre>


== 6. Блокировка и разблокировка пользователей ==
== 6. Блокировка и разблокировка пользователей ==
Строка 120: Строка 120:


1. Заблокируйте пользователя:
1. Заблокируйте пользователя:
<code>sudo usermod -L newuser</code>
<pre>sudo usermod -L newuser</pre>


2. Разблокируйте пользователя:
2. Разблокируйте пользователя:
<code>sudo usermod -U newuser</code>
<pre>sudo usermod -U newuser</pre>


=== Установка даты истечения ===
=== Установка даты истечения ===


1. Установите дату истечения аккаунта:
1. Установите дату истечения аккаунта:
<code>sudo usermod -e 2024-12-31 newuser</code>
<pre>sudo usermod -e 2024-12-31 newuser</pre>


2. Снимите ограничение по дате:
2. Снимите ограничение по дате:
<code>sudo usermod -e "" newuser</code>
<pre>sudo usermod -e "" newuser</pre>


=== Полная блокировка аккаунта ===
=== Полная блокировка аккаунта ===


1. Заблокируйте аккаунт:
1. Заблокируйте аккаунт:
<code>sudo usermod -e 1 newuser</code>
<pre>sudo usermod -e 1 newuser</pre>


2. Разблокируйте аккаунт:
2. Разблокируйте аккаунт:
<code>sudo usermod -e "" newuser</code>
<pre>sudo usermod -e "" newuser</pre>


== 7. Удаление пользователей ==
== 7. Удаление пользователей ==
Строка 146: Строка 146:


1. Удалите пользователя, сохранив домашнюю директорию:
1. Удалите пользователя, сохранив домашнюю директорию:
<code>sudo userdel newuser</code>
<pre>sudo userdel newuser</pre>


=== Удаление пользователя с удалением файлов ===
=== Удаление пользователя с удалением файлов ===


1. Удалите пользователя и его домашнюю директорию:
1. Удалите пользователя и его домашнюю директорию:
<code>sudo userdel -r newuser</code>
<pre>sudo userdel -r newuser</pre>


2. Удалите пользователя, домашнюю директорию и почтовый ящик:
2. Удалите пользователя, домашнюю директорию и почтовый ящик:
<code>sudo userdel -r -f newuser</code>
<pre>sudo userdel -r -f newuser</pre>


=== Удаление группы ===
=== Удаление группы ===


1. Удалите пустую группу:
1. Удалите пустую группу:
<code>sudo groupdel developers</code>
<pre>sudo groupdel developers</pre>


2. Принудительно удалите группу (даже если в ней есть пользователи):
2. Принудительно удалите группу (даже если в ней есть пользователи):
<code>sudo groupdel -f developers</code>
<pre>sudo groupdel -f developers</pre>


== 8. Мониторинг пользователей ==
== 8. Мониторинг пользователей ==
Строка 169: Строка 169:


1. Просмотрите текущих пользователей:
1. Просмотрите текущих пользователей:
<code>who</code>
<pre>who</pre>


2. Просмотрите детальную информацию:
2. Просмотрите детальную информацию:
<code>w</code>
<pre>w</pre>


3. Просмотрите историю входов:
3. Просмотрите историю входов:
<code>last</code>
<pre>last</pre>


=== Просмотр информации о пользователях ===
=== Просмотр информации о пользователях ===


1. Просмотрите всех пользователей:
1. Просмотрите всех пользователей:
<code>cut -d: -f1 /etc/passwd</code>
<pre>cut -d: -f1 /etc/passwd</pre>


2. Просмотрите пользователей с shell:
2. Просмотрите пользователей с shell:
<code>grep -v '/nologin\|/false' /etc/passwd | cut -d: -f1</code>
<pre>grep -v '/nologin\|/false' /etc/passwd | cut -d: -f1</pre>


3. Просмотрите информацию о конкретном пользователе:
3. Просмотрите информацию о конкретном пользователе:
<code>finger newuser</code>
<pre>finger newuser</pre>


== 9. Настройка безопасности ==
== 9. Настройка безопасности ==
Строка 193: Строка 193:


1. Создайте файл ограничений:
1. Создайте файл ограничений:
<code>sudo nano /etc/security/time.conf</code>
<pre>sudo nano /etc/security/time.conf</pre>


2. Добавьте ограничения:
2. Добавьте ограничения:
<code>newuser;*;newuser;!Wk0000-2400</code>
<pre>newuser;*;newuser;!Wk0000-2400</pre>


=== Ограничение доступа по IP ===
=== Ограничение доступа по IP ===


1. Настройте SSH для ограничения доступа:
1. Настройте SSH для ограничения доступа:
<code>sudo nano /etc/ssh/sshd_config</code>
<pre>sudo nano /etc/ssh/sshd_config</pre>


2. Добавьте ограничения:
2. Добавьте ограничения:
<code>AllowUsers newuser@192.168.1.*</code>
<pre>AllowUsers newuser@192.168.1.*</pre>
<code>DenyUsers baduser</code>
<pre>DenyUsers baduser</pre>


3. Перезапустите SSH:
3. Перезапустите SSH:
<code>sudo systemctl restart sshd</code>
<pre>sudo systemctl restart sshd</pre>


== 10. Массовое управление пользователями ==
== 10. Массовое управление пользователями ==
Строка 215: Строка 215:


1. Создайте файл со списком пользователей:
1. Создайте файл со списком пользователей:
<code>sudo nano /tmp/users.txt</code>
<pre>sudo nano /tmp/users.txt</pre>


2. Добавьте пользователей:
2. Добавьте пользователей:
<code>user1:password1</code>
<pre>user1:password1</pre>
<code>user2:password2</code>
<pre>user2:password2</pre>
<code>user3:password3</code>
<pre>user3:password3</pre>


3. Создайте скрипт для массового создания:
3. Создайте скрипт для массового создания:
<code>sudo nano /usr/local/bin/create-users.sh</code>
<pre>sudo nano /usr/local/bin/create-users.sh</pre>


4. Добавьте содержимое:
4. Добавьте содержимое:
<code>#!/bin/bash
<pre>\#!/bin/bash
while IFS=: read -r username password; do
while IFS=: read -r username password; do
     sudo useradd -m -s /bin/bash "$username"
     sudo useradd -m -s /bin/bash "$username"
     echo "$username:$password" | sudo chpasswd
     echo "$username:$password" | sudo chpasswd
     echo "Пользователь $username создан"
     echo "Пользователь $username создан"
done < /tmp/users.txt</code>
done < /tmp/users.txt</pre>


5. Сделайте скрипт исполняемым и запустите:
5. Сделайте скрипт исполняемым и запустите:
<code>sudo chmod +x /usr/local/bin/create-users.sh</code>
<pre>sudo chmod +x /usr/local/bin/create-users.sh</pre>
<code>sudo /usr/local/bin/create-users.sh</code>
<pre>sudo /usr/local/bin/create-users.sh</pre>


== 11. Резервное копирование пользователей ==
== 11. Резервное копирование пользователей ==
Строка 242: Строка 242:


1. Создайте резервную копию файлов пользователей:
1. Создайте резервную копию файлов пользователей:
<code>sudo cp /etc/passwd /etc/passwd.backup</code>
<pre>sudo cp /etc/passwd /etc/passwd.backup</pre>
<code>sudo cp /etc/shadow /etc/shadow.backup</code>
<pre>sudo cp /etc/shadow /etc/shadow.backup</pre>
<code>sudo cp /etc/group /etc/group.backup</code>
<pre>sudo cp /etc/group /etc/group.backup</pre>


2. Создайте архив с домашними директориями:
2. Создайте архив с домашними директориями:
<code>sudo tar -czf /backup/home-directories.tar.gz /home/</code>
<pre>sudo tar -czf /backup/home-directories.tar.gz /home/</pre>


=== Восстановление пользователей ===
=== Восстановление пользователей ===


1. Восстановите файлы пользователей:
1. Восстановите файлы пользователей:
<code>sudo cp /etc/passwd.backup /etc/passwd</code>
<pre>sudo cp /etc/passwd.backup /etc/passwd</pre>
<code>sudo cp /etc/shadow.backup /etc/shadow</code>
<pre>sudo cp /etc/shadow.backup /etc/shadow</pre>
<code>sudo cp /etc/group.backup /etc/group</code>
<pre>sudo cp /etc/group.backup /etc/group</pre>


2. Восстановите домашние директории:
2. Восстановите домашние директории:
<code>sudo tar -xzf /backup/home-directories.tar.gz -C /</code>
<pre>sudo tar -xzf /backup/home-directories.tar.gz -C /</pre>


== 12. Устранение неполадок ==
== 12. Устранение неполадок ==
Строка 264: Строка 264:


1. '''Ошибка "user already exists"''':
1. '''Ошибка "user already exists"''':
* Проверьте существующих пользователей: <code>getent passwd username</code>
* Проверьте существующих пользователей: <pre>getent passwd username</pre>
* Удалите пользователя перед созданием нового
* Удалите пользователя перед созданием нового


Строка 272: Строка 272:


3. '''Пользователь не может войти в систему''':
3. '''Пользователь не может войти в систему''':
* Проверьте статус аккаунта: <code>sudo passwd -S username</code>
* Проверьте статус аккаунта: <pre>sudo passwd -S username</pre>
* Проверьте shell пользователя: <code>getent passwd username</code>
* Проверьте shell пользователя: <pre>getent passwd username</pre>


=== Проверка системы ===
=== Проверка системы ===


1. Проверьте целостность файлов пользователей:
1. Проверьте целостность файлов пользователей:
<code>sudo pwck</code>
<pre>sudo pwck</pre>
<code>sudo grpck</code>
<pre>sudo grpck</pre>


2. Проверьте права доступа:
2. Проверьте права доступа:
<code>ls -la /etc/passwd /etc/shadow /etc/group</code>
<pre>ls -la /etc/passwd /etc/shadow /etc/group</pre>


== Заключение ==
== Заключение ==

Текущая версия от 10:40, 15 октября 2025

Создание и управление пользователями Linux

1. Подготовка системы

  • Войдите в систему под учетной записью с правами root или пользователя с правами sudo.
  • Убедитесь, что у вас есть необходимые права для управления пользователями.

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

Создание пользователя с домашней директорией

1. Создайте нового пользователя:

sudo adduser newuser

2. Следуйте инструкциям:

  • Введите пароль для нового пользователя
  • Подтвердите пароль
  • Введите дополнительную информацию (можно пропустить, нажав Enter)
  • Подтвердите создание (Y)

Создание пользователя без интерактивного режима

1. Создайте пользователя с паролем:

sudo useradd -m -s /bin/bash newuser

2. Установите пароль:

sudo passwd newuser

3. Добавьте пользователя в группу sudo (для Ubuntu/Debian):

sudo usermod -aG sudo newuser

Создание пользователя с конкретными параметрами

1. Создайте пользователя с указанием UID и GID:

sudo useradd -m -u 1001 -g users -s /bin/bash -d /home/newuser newuser

2. Установите пароль:

sudo passwd newuser

3. Управление группами

Создание новой группы

1. Создайте новую группу:

sudo groupadd developers

2. Создайте группу с указанием GID:

sudo groupadd -g 1001 developers

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

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

sudo usermod -aG developers newuser

2. Добавьте пользователя в несколько групп одновременно:

sudo usermod -aG developers,www-data,sudo newuser

Просмотр групп пользователя

1. Просмотрите группы текущего пользователя:

groups

2. Просмотрите группы другого пользователя:

groups newuser

3. Просмотрите детальную информацию:

id newuser

4. Управление правами доступа

Настройка sudo прав

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

sudo usermod -aG sudo newuser

2. Создайте файл конфигурации sudo для пользователя:

sudo nano /etc/sudoers.d/newuser

3. Добавьте права:

newuser ALL=(ALL:ALL) ALL
newuser ALL=(ALL) /usr/bin/apt, /usr/bin/systemctl

Настройка прав доступа к файлам

1. Измените владельца файла:

sudo chown newuser:developers /path/to/file

2. Измените права доступа:

sudo chmod 755 /path/to/file
sudo chmod u+x /path/to/file

3. Рекурсивно измените права для директории:

sudo chown -R newuser:developers /path/to/directory
sudo chmod -R 755 /path/to/directory

5. Управление профилями пользователей

Настройка shell для пользователя

1. Измените shell пользователя:

sudo usermod -s /bin/bash newuser

2. Заблокируйте shell (запретить вход):

sudo usermod -s /usr/sbin/nologin newuser

3. Разблокируйте shell:

sudo usermod -s /bin/bash newuser

Настройка домашней директории

1. Измените путь к домашней директории:

sudo usermod -d /new/home/path newuser

2. Переместите содержимое старой директории:

sudo usermod -m -d /new/home/path newuser

6. Блокировка и разблокировка пользователей

Временная блокировка

1. Заблокируйте пользователя:

sudo usermod -L newuser

2. Разблокируйте пользователя:

sudo usermod -U newuser

Установка даты истечения

1. Установите дату истечения аккаунта:

sudo usermod -e 2024-12-31 newuser

2. Снимите ограничение по дате:

sudo usermod -e "" newuser

Полная блокировка аккаунта

1. Заблокируйте аккаунт:

sudo usermod -e 1 newuser

2. Разблокируйте аккаунт:

sudo usermod -e "" newuser

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

Удаление пользователя с сохранением файлов

1. Удалите пользователя, сохранив домашнюю директорию:

sudo userdel newuser

Удаление пользователя с удалением файлов

1. Удалите пользователя и его домашнюю директорию:

sudo userdel -r newuser

2. Удалите пользователя, домашнюю директорию и почтовый ящик:

sudo userdel -r -f newuser

Удаление группы

1. Удалите пустую группу:

sudo groupdel developers

2. Принудительно удалите группу (даже если в ней есть пользователи):

sudo groupdel -f developers

8. Мониторинг пользователей

Просмотр активных пользователей

1. Просмотрите текущих пользователей:

who

2. Просмотрите детальную информацию:

w

3. Просмотрите историю входов:

last

Просмотр информации о пользователях

1. Просмотрите всех пользователей:

cut -d: -f1 /etc/passwd

2. Просмотрите пользователей с shell:

grep -v '/nologin\|/false' /etc/passwd | cut -d: -f1

3. Просмотрите информацию о конкретном пользователе:

finger newuser

9. Настройка безопасности

Ограничение доступа по времени

1. Создайте файл ограничений:

sudo nano /etc/security/time.conf

2. Добавьте ограничения:

newuser;*;newuser;!Wk0000-2400

Ограничение доступа по IP

1. Настройте SSH для ограничения доступа:

sudo nano /etc/ssh/sshd_config

2. Добавьте ограничения:

AllowUsers newuser@192.168.1.*
DenyUsers baduser

3. Перезапустите SSH:

sudo systemctl restart sshd

10. Массовое управление пользователями

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

1. Создайте файл со списком пользователей:

sudo nano /tmp/users.txt

2. Добавьте пользователей:

user1:password1
user2:password2
user3:password3

3. Создайте скрипт для массового создания:

sudo nano /usr/local/bin/create-users.sh

4. Добавьте содержимое:

\#!/bin/bash
while IFS=: read -r username password; do
    sudo useradd -m -s /bin/bash "$username"
    echo "$username:$password" | sudo chpasswd
    echo "Пользователь $username создан"
done < /tmp/users.txt

5. Сделайте скрипт исполняемым и запустите:

sudo chmod +x /usr/local/bin/create-users.sh
sudo /usr/local/bin/create-users.sh

11. Резервное копирование пользователей

Экспорт информации о пользователях

1. Создайте резервную копию файлов пользователей:

sudo cp /etc/passwd /etc/passwd.backup
sudo cp /etc/shadow /etc/shadow.backup
sudo cp /etc/group /etc/group.backup

2. Создайте архив с домашними директориями:

sudo tar -czf /backup/home-directories.tar.gz /home/

Восстановление пользователей

1. Восстановите файлы пользователей:

sudo cp /etc/passwd.backup /etc/passwd
sudo cp /etc/shadow.backup /etc/shadow
sudo cp /etc/group.backup /etc/group

2. Восстановите домашние директории:

sudo tar -xzf /backup/home-directories.tar.gz -C /

12. Устранение неполадок

Частые проблемы

1. Ошибка "user already exists":

  • Проверьте существующих пользователей:
    getent passwd username
  • Удалите пользователя перед созданием нового

2. Ошибка "permission denied":

  • Убедитесь, что у вас есть права sudo
  • Проверьте права доступа к файлам

3. Пользователь не может войти в систему:

  • Проверьте статус аккаунта:
    sudo passwd -S username
  • Проверьте shell пользователя:
    getent passwd username

Проверка системы

1. Проверьте целостность файлов пользователей:

sudo pwck
sudo grpck

2. Проверьте права доступа:

ls -la /etc/passwd /etc/shadow /etc/group

Заключение

Управление пользователями Linux настроено! Теперь вы можете создавать, настраивать и управлять пользователями системы.

Для размещения ваших проектов с настроенными пользователями на надежном хостинге рекомендуем воспользоваться услугами [ARK-HOSTER.RU](https://ark-hoster.ru):

Наши специалисты помогут с настройкой пользователей и обеспечением безопасности вашего сервера!