Пользователи в Linux

Содержание
Список всех польователей Linux
Создать пользователя
Удалить пользователя
Сменить пароль пользователя
Список групп
Список групп пользователя
Создать/модифицировать группу
Добавить пользователя в группу
useradd: добавление пользователей
sudo
Похожие статьи

Список всех пользователей Linux

Список пользователей лежит в файле passwd в /etc/

Чтобы его открыть выполните

cat /etc/passwd

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

Чтобы создать пользователя user1 нужно ввести команду

adduser user1

Если Вы получили сообщение bash: adduser: command not found прочитайте решение здесь

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

Если пользователь вам надоест его можно удалить командой

deluser user1

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

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

passwd user1

Список групп

Все существующие пользовательские группы в системе

groups

andrei adm cdrom sudo dip plugdev lpadmin lxd sambashare

Узнать список всех групп

cat /etc/group

root:x:0: daemon:x:1: bin:x:2: sys:x:3: adm:x:4:syslog,andrei tty:x:5: disk:x:6: lp:x:7: mail:x:8: … gdm:x:133: lxd:x:134:andrei andrei:x:1000: sambashare:x:135:andrei docker:x:136:

Чтобы получить не весь список, а только обычные пользовательские группы

cat /etc/group | grep 1[0-9][0-9][0-9]

andrei:x:1000:

Про grep можно прочитать здесь

Список групп пользователя

Узнать в каких группах состоит пользователь user1

groups user1

Создать группу

Чтобы создать группу в Linux используется команда groupadd

sudo groupadd demo

Создать группу с определённым group ID (GID)

sudo groupadd -g 1009 demo1

Изменить GID

sudo groupmod -g 1011 demo1

Переименовать группу

sudo groupmod -n test demo1

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

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

usermod -G group1 user1

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

usermod -G group1,bks_fans sinij

Изменить основную группу пользователя user1 на group2 (по умолчанию обычно группа называется так же как пользователь)

usermod -g group2 user1

Поменять группу к которой принадлежит директория /home/movies на users

chgrp -R users /home/movies

useradd

Синтаксис обычный

useradd [options] username

Команда useradd вносит изменения в следующие файлы из директории /etc passwd shadow group gshadow

Сохраним содержимое этим файлов перед добавлением нового пользователя

cat /etc/passwd > passwd0.txt cat /etc/shadow > shadow0.txt cat /etc/group > group0.txt cat /etc/gshadow > gshadow0.txt

Добавим пользователя user0

useradd user0

Сохранима содержимое обновлённых файлов

cat /etc/passwd > passwd1.txt cat /etc/shadow > shadow1.txt cat /etc/group > group1.txt cat /etc/gshadow > gshadow1.txt

Изучим внесённые изменения с помощью команды diff

diff passwd0.txt passwd1.txt

26a27 > user0:x:1001:1001::/home/user0:/bin/sh

diff shadow0.txt shadow1.txt

26a27 > user0:!:19559:0:99999:7:::

! говорит о том, что у пользователя не задан пароль.

diff group0.txt group1.txt

47a48 > user0:x:1001:

diff gshadow0.txt gshadow1.txt

47a48 > user0:!::

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

passwd user0

New password: Retype new password: passwd: password updated successfully

cat /etc/shadow > shadow2.txt diff shadow1.txt shadow2.txt

27c27 < user0:!:19559:0:99999:7::: --- > user0:$y$j9T$9wfFq/VdOykqfnPnHOeYC/$G6b7JmDA7TGpvHbEYaEayIvgRHhDQTCaAdHD.wdu2m1:19559:0:99999:7:::

! сменился на хэш пароля. Других изменений в этих файлах нет.

Разберём подробнее запись в /etc/passwd

user0:x:1001:1001::/home/user0:/bin/sh

-d: нестандартная домашняя директория

С помощью опции -d можно явно указать домашнюю директорию

useradd -d /var/qa tester
cat /etc/passwd | grep tester

tester:x:1002:1002::/var/qa:/bin/sh

-u: нестандартный UID

С помощью опции -u можно явно задать UID

useradd -u 1111 cormac
cat /etc/passwd | grep cormac

cormac:x:1111:1111::/home/cormac:/bin/sh

Хочу обратить внимание, на то, что установка UID вручную также двигает счётчик для автоматического создания пользователей.

Следующий пользователь будет создан с UID 1112.

-g: нестандартный GID

С помощью опции -u можно явно задать GID

Нужно выбирать уже существующую группу, иначе будет ошибка.

useradd -g 1002 mccarthy
cat /etc/passwd | grep mccarthy

mccarthy:x:1112:1002::/home/mccarthy:/bin/sh

Если бы пользователь был создан без опции -b, то и UID и GID были бы 1112

Проверить, что mccarthy принадлежит группе 1002 (tester) можно выполнив команду id

id -gn mccarthy

tester

-s: нестандартный shell

С помощью опции -u можно явно задать shell

useradd -s /bin/bash kevin
cat /etc/passwd | grep kevin

kevin:x:1114:1114::/home/kevin:/bin/bash

Если бы пользователь был создан без опции -b, то и UID и GID были бы 1112

-d, --home HOME_DIR The new user will be created using HOME_DIR as the value for the user's login directory. The default is to append the LOGIN name to BASE_DIR and use that as the login directory name. The directory HOME_DIR does not have to exist but will not be created if it is missing. -m, --create-home Create the user's home directory if it does not exist. The files and directories contained in the skeleton directory (which can be defined with the -k option) will be copied to the home directory. useradd will create the home directory unless CREATE_HOME in /etc/login.defs is set to no. -r, --system Create a system account. System users will be created with no aging information in /etc/shadow, and their numeric identifiers are choosen in the SYS_UID_MIN-SYS_UID_MAX range, defined in /etc/login.defs, instead of UID_MIN-UID_MAX (and their GID counterparts for the creation of groups). Note that useradd will not create a home directory for such an user, regardless of the default setting in /etc/login.defs (CREATE_HOME). You have to specify the -m options if you want a home directory for a system account to be created.

sudo

Похожие статьи
Linux
FAQ
Debian
Ubuntu
CentOS
Rocky
Bash
Настройка сети
Файлы, директории, ссылки…
Изучить свободное место на диске
Объединить .pdf файлы
diff: сравнение файлов
find: поиск файлов
wget: скачивание файлов
kill: завершить процесс
curl
make
signal: системные сигналы
env: переменные окружения
localectl: язык
systemctl: Список активных сервисов
Firewall
SCP: обмен файлами;
SSH: удалённый доступ
cron: задания по расписанию
sudo
Мониторинг ресурсов

РЕКЛАМА хостинга Beget, которым я пользуюсь более десяти лет

Изображение баннера

Конец рекламы хостинга Beget, который я всем рекомендую.

Поиск по сайту

Подпишитесь на Telegram канал @aofeed чтобы следить за выходом новых статей и обновлением старых

Перейти на канал

@aofeed

Задать вопрос в Телеграм-группе

@aofeedchat

Контакты и сотрудничество:
Рекомендую наш хостинг beget.ru
Пишите на info@urn.su если Вы:
1. Хотите написать статью для нашего сайта или перевести статью на свой родной язык.
2. Хотите разместить на сайте рекламу, подходящую по тематике.
3. Реклама на моём сайте имеет максимальный уровень цензуры. Если Вы увидели рекламный блок недопустимый для просмотра детьми школьного возраста, вызывающий шок или вводящий в заблуждение - пожалуйста свяжитесь с нами по электронной почте
4. Нашли на сайте ошибку, неточности, баг и т.д. ... .......
5. Статьи можно расшарить в соцсетях, нажав на иконку сети: