Синтаксис:
useradd <имя пользователя=””> [опции]
* опции не являются обязательными при создании пользователя.
Пример:
useradd dmosk
* в данном примере создается учетная запись dmosk.
Для учетной записи стоит сразу создать пароль:
passwd dmosk
* после ввода, система попросит ввести пароль дважды.
Оглавление
Ключи (опции)
-b | Задает базовый каталог для домашнего каталога useradd dmosk -b /var/home |
-c | Создает комментарий для описания учетной записи useradd dmosk -c “Пользователя для управления системой” |
-d | Полный путь к домашнему каталогу пользователя useradd dmosk -d /home/newuser |
-D | Позволяет показать или изменить настройки по умолчанию, которые будут применяться при последующем создании пользователей useradd dmosk -Ds /bin/bash |
-e | Дата, после которой учетная запись устареет. useradd dmosk -e 2017-12-31 |
-f | Число дней, после которого учетная запись с устаревшим паролем будет заблокирована useradd dmosk -f 0 |
-g | Задает основную группу useradd dmosk -g altternativegroup |
-G | Задает дополнительные группы useradd dmosk -G wheel |
-k | Путь к источнику скелета (файлы с шаблонами для нового пользователя) useradd dmosk -k /var/skel |
-m | При создании пользователя создать домашний каталог useradd dmosk -m |
-M | Не создавать домашний каталог useradd dmosk -M |
-N | Не создавать основную группу с таким же именем, как у пользователя useradd dmosk -N |
-o | Разрешает создание учетной записи с повторяющимся UID useradd dmosk -u 15 -o |
-p | Задает пароль useradd dmosk -p pass |
-r | Системная учетная запись (без домашнего каталога и с идентификаторами в диапазоне SYS_UID_MIN – SYS_UID_MAX из файла /etc/login.defs) useradd dmosk -r |
-R | Каталог, в который выполняется chroot useradd dmosk -R /var/chroot/home |
-s | Путь до оболочки командной строки useradd dmosk -s /bin/csh |
-u | Задает UID useradd dmosk -u 666 |
-U | Имя группы будет таким же, как у пользователя useradd dmosk -U |
Актуальный список ключей можно получить командой useradd -h.
Редактирование
Синтаксис:
usermod <имя пользователя=””> [опции]
Пример:
usermod dmosk -G wheel
* эта команда добавит пользователя dmosk в группу wheel
Удаление
Синтаксис:
userdel <имя пользователя=””> [опции]
Пример:
userdel dmosk
Блокировка
Можно заблокировать пользователя, не удаляя его из системы:
usermod -L <имя пользователя=””>
Пример:
usermod -L dmosk
Чтобы разблокировать пользователя, вводим:
usermod -U <имя пользователя=””>
Работа с группами
Добавление:
groupadd <группа> [опции]
Редактирование:
groupmod <группа> [опции]
Удаление:
groupdel <группа> [опции]
Как узнать, в какие группы входит пользователь
Чтобы просмотреть группы, которым назначена текущая учетная запись пользователя, выполните команду groups. Вы увидите список групп.
groups
Чтобы просмотреть числовые идентификаторы, связанные с каждой группой, выполните команду id:
id
Для просмотра групп в которые входит другая учетная запись пользователя, запустите команду groups и укажите имя учетной записи пользователя.
groups user_name
Вы также можете просмотреть числовые идентификаторы, связанные с каждой группой, запустив команду id и указав имя пользователя.
id user_name
Первой группой в списке групп или группой, показанной после «gid=» в списке идентификаторов, является первичная группа учетной записи пользователя. Другие группы – это вторичные группы. Итак, на скриншоте ниже основной группой учетной записи пользователя является mial.
Добавление существующего пользователя в существующую группу
Используйте usermod с опциями -a (append — добавить) и -G — group:
# useradd testuser4 # groups testuser4 testuser4 : testuser4
Создаем группу:
# groupadd testgr2
Добавляем в нее пользователя:
# usermod -a -G testgr2 testuser4
Проверяем:
# groups testuser4 testuser4 : testuser4 testgr2
Что бы изменить основную группу существующего пользователя — выполните:
# usermod -g testgr2 testuser4 # groups testuser4 testuser4 : testgr2
Добавление нового пользователя в дополнительную группу
Создадим группу:
# groupadd testgr1
С помощью useradd и параметра -G добавляем пользователя, которому добавляем новую группу, как дополнительную:
# useradd -G testgr1 testuser1
Проверяем:
# groups testuser1 testuser1 : testuser1 testgr1 # id testuser1 uid=1003(testuser1) gid=1004(testuser1) groups=1004(testuser1),1003(testgr1)
Что бы изменить основную группу при создании пользователя — используйте useradd с опцией -g:
# useradd -g sudo testuser2
Проверяем:
# groups testuser2 testuser2 : sudo
Можно комбинировать опции:
# useradd -g sudo -G testgr1 testuser3 # groups testuser3 testuser3 : sudo testgr1
Добавление пользователя в несколько групп
Вы можете добавить пользователя сразу в несколько вторичных групп, разделив список запятой:
usermod -a -G group1,group2,group3 user_name
Например, чтобы добавить пользователя с именем mial в группы ftp, sudo и example, вы должны запустить:
usermod -a -G ftp,sudo,example mial
Вы можете указать столько групп, сколько хотите – просто разделите их все запятой.
Удаление пользователя из группы
Удалим пользователя pingvinus из группы editorsgroup.
sudo gpasswd -d pingvinus editorsgroup
Чтобы изменения вступили в силу, нужно выйти и войти в систему.
Как просмотреть все группы в системе
Если вы хотите просмотреть список всех групп в вашей системе, вы можете использовать команду getent:
getent group
Этот вывод также покажет вам, какие учетные записи пользователей являются членами групп. Итак, на скриншоте ниже мы видим, что учетные записи пользователей syslog и mial являются членами группы adm.
Это должно охватывать все, что вам нужно знать о добавлении пользователей в группы в командной строке Linux.
Список всех групп
Выведем список всех групп в текущей системе Linux.
cut -d: -f1 /etc/group | sort
Список всех пользователей
Выведем список всех пользователей в текущей системе Linux.
cut -d: -f1 /etc/passwd
Обычно список довольно большой, так как содержит всех пользователей, включая пользователей, которые используются для запуска некоторых программ и служб.
root daemon bin sys sync games … nobody pingvinus
Можно ограничить вывод только теми пользователями, для которых домашняя директория расположена в директории /home.
cat /etc/passwd | grep ‘/home’ | cut -d: -f1
Результат значительно короче.
syslog ntp pingvinus Войдите, чтобы ставить лайкимне нравитсяЛайков: +2 войдите, чтобы ставить лайки
Пример добавления пользователя в группу в ОС Linux :
1. Первичная группа
- По умолчанию основная группа:
По умолчанию, когда пользователь создан, он принадлежит к той же группе.
[root@destroyer ~]# useradd andreyex_userПодтвердить
[root@destroyer ~]# id andreyex_user uid=508(andreyex_user) gid=508(andreyex_user) groups=508(andreyex_user) [root@destroyer ~]#В приведенном выше выводе, по умолчанию пользователь “andreyex_user” принадлежит к основной группе с тем же именем.
- ОС Linux добавить пользователя в группу при создании пользователя.
Допустим, вы хотите указать группу первичной не по умолчанию, при создании пользователя. Например: Вы хотите создать пользователя masterkey и вы хотите быть частью группы sales в качестве основной группы.
[root@destroyer ~]# useradd masterkey -g salesПерепроверьте
[root@destroyer ~]# id masterkey uid=510(masterkey) gid=509(sales) groups=509(sales) [root@destroyer ~]#Убедитесь, что указанная группа должна существовать в системе, иначе вы увидете ниже сообщений от системы.
useradd: group ‘sales’ does not exist
В случае ошибки выше, создать группу первой при помощи команды groupadd перед командой useradd.
[root@destroyer ~]# groupadd sales- ОС Linux добавить пользователя в группу для существующего пользователя.
В случае, если вы уже создали пользователя и в дальнейшем вы хотите изменить первичную группу пользователя. То используйте команду usermod. Например, вы хотите изменить основную группу sales на accounts для пользователя masterkey. Используйте следующую команду для этого.
[root@destroyer ~]# usermod -g accounts masterkeyПерепроверьте:
[root@destroyer ~]# id masterkey uid=510(masterkey) gid=510(accounts) groups=510(accounts) [root@destroyer ~]#2. Вторичная группа (дополнительная группа)
- Добавить пользователя в группу при создании пользователя в ОС Linux.
Можно указать вторичную группу при создании пользователя непосредственно с помощью опции “-g”.
[root@destroyer ~]# useradd -G sales delphiПерепроверьте с помощью следующей команды:
[root@destroyer ~]# id delphi uid=511(delphi) gid=511(delphi) groups=511(delphi),509(sales) [root@destroyer ~]#Приведенный выше вывод подтверждает, что sales является вторичной группой в то время как основная группа delphi.
- Linux добавить пользователя в группу при создании пользователя с несколькими вторичными группами.
Можно указать несколько вторичных групп с помощью запятой при создании самого пользователя в команде useradd.
[root@destroyer ~]# useradd -G sales,accounts,marketing barПодтвердите с помощью следующей команды:
[root@destroyer ~]# id bar uid=512(bar) gid=513(bar) groups=513(bar),509(sales),510(accounts),512(marketing) [root@destroyer ~]#Кроме того, есть еще один способ подтверждения:
[root@destroyer ~]# cat /etc/group|grep bar sales:x:509:delphi,bar accounts:x:510:bar marketing:x:512:bar bar:x:513: [root@destroyer ~]#- Добавить пользователя в группу для существующего пользователя в ОС Linux.
Можно также изменить вторичную группу для существующих пользователей, использующих опцию “-g” для команды usermod. Допустим, вы хотите изменить вторичную группу пользователя delphi на sales.
[root@destroyer ~]# usermod -G accounts delphi [root@destroyer ~]# id delphi uid=511(delphi) gid=511(delphi) groups=511(delphi),510(accounts) [root@destroyer ~]#В случае, если вы хотите добавить еще одну вторичную группу вместо того, чтобы изменить ее, как описано выше, то вы должны использовать “-a” (добавить) вариант.
[root@destroyer ~]# usermod -a -G marketing delphi [root@destroyer ~]# id delphi uid=511(delphi) gid=511(delphi) groups=511(delphi),510(accounts),512(marketing) [root@destroyer ~]#- Добавить пользователя в группу для существующего пользователя с несколькими вторичными группами в ОС Linux.
Можно указать несколько вторичных групп, используя запятую для существующего пользователя с помощью команды usermod.
[root@destroyer ~]# usermod -a -G sales,hr delphi [root@destroyer ~]# id delphi uid=511(delphi) gid=511(delphi) groups=511(delphi),509(sales),510(accounts),512(marketing),514(hr) [root@destroyer ~]#В случае, если вы не указали опцию -a, то текущие вторичные группы будут сброшены и заменены указанными именами групп.
[root@destroyer ~]# id delphi uid=511(delphi) gid=511(delphi) groups=511(delphi),509(sales),510(accounts),512(marketing),514(hr) [root@destroyer ~]# usermod -G sales,hr delphi [root@destroyer ~]# id delphi uid=511(delphi) gid=511(delphi) groups=511(delphi),509(sales),514(hr) [root@destroyer ~]#ПРИМЕЧАНИЕ: Поэтому убедитесь, что вы используете опцию -a если вы хотите добавить к существующей группе вместо изменения существующих вторичных групп.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Просмотр пользователей
Учётные записи в системах Linux – это универсальные компоненты. Которые представляют собой как реальных пользователей, так и виртуальных. Последние предназначены для функционирования системных сервисов Linux, являющихся неотъемлемыми составляющими системы. Или же это могут быть служебные, дополнительно добавленные в систему сервисы, предназначенные для расширения её функционала.
Независимо от того, каким пользователям (реальным или виртуальным) принадлежат учётные записи, вся основная информация о них хранится в файле /etc/passwd. Каждая учётная запись в этом файле представлена одной строкой, разделённой на поля символами двоеточия. Например, просмотреть этот файл можно командой less:
$ less /etc/passwd root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync . . . games:x:5:60:games:/usr/games:/bin/sh
Имя пользователя (учётной записи) содержится в первом поле. Поэтому, чтобы упростить восприятие вывода, когда нужно получить например, только список имён пользователей, можно использовать соответствующие инструменты, например команду cut (или аналогичные sed или awk):
$ cut -d : -f 1 /etc/passwd root daemon bin sys sync . . . games
Конечно, для того, чтобы различать принадлежность некоторых учётных записей к реальным или виртуальным пользователям, необходим некоторый опыт администрирования Linux или UNIX. Например, в приведённом выводе пользователь root – это суперпользователь. А пользователи daemon, bin, sys и sync – учётные записи, от имени которых работают системные сервисы.
Вообще, изначально по устоявшимся соглашениям, по-умолчанию в системах Linux принято придерживаться определённых правил для наименования учётных записей, обслуживающих системные или служебные процессы и/или сервисы. Так, например, для работы веб-сервера Apache обычно используется учётная запись www-data. Это очень важно для обеспечения и контроля безопасности системы. Таким образом легко разделять привилегии по функциональному признаку для пользователей. Такие же соглашения действуют и для наименования системных или служебных процессов. Тот же Apache обычно представляется процессами httpd или apache.
Просмотр пользовательских групп
Аналогично учётным записям, информация о всех группах пользователей хранится в одном файле /etc/group:
$ less /etc/group root:x:0: daemon:x:1: bin:x:2: sys:x:3: adm:x:4: tty:x:5: disk:x:6:
Первое, на что нужно обратить внимание, это то, что имена многих групп идентичны именам некоторых имеющихся в системе пользователей. И это не просто совпадение. Дело в том, что таким образом реализуется механизм частных пользовательских групп (UPG) в системе. Он заключается в том, что для пользователя создаётся одноимённая закрытая группа. Которая назначается этому пользователю как основная. Этот механизм позволяет использовать в системе общие каталоги (и вообще ресурсы) без вреда для безопасности. Для этого существует такой полезный инструмент в системе прав доступа как бит setgid. Смысл этого бита в том, что в каталоге, для которого он установлен, можно создавать файлы, принадлежащие тому же владельцу, что и сам каталог с битом setgid.
Просмотр активных пользователей
Информацию о том, какие пользователи активны в данный момент времени в системе позволяют команды «w» и «who». Первая по-умолчанию выводит более подробные данные о пользователях, например:
$ w 11:45:24 up 6:34, 2 users, load average: 0.33, 0.10, 0.07 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 rrcs-72-43-115-1 19:15 38.00s 0.33s 0.33s -bash demoer pts/1 rrcs-72-43-115-1 19:37 0.00s 0.47s 0.00s w
В первой строке указаны время старта системы, продолжительность её работы, количество активных пользователей, а также данные о средней загруженности системы за прошедшие 1, 5 и 15 минут. Далее следует список активных пользователей и используемых ими командах/процессах. Более подробно о работе команды «w» можно узнать на страницах интерактивного руководства, используя команду man w.
Способы проверки списка пользователей
Люди, которые постоянно используют данную систему, могут это сделать с помощью целого ряда методов, а для новичков это весьма проблематично. Поэтому инструкция, которая будет расписана ниже, поможет неопытному пользователю справиться с поставленной задачей. Сделать это можно при помощи встроенного Терминала или же ряда программ с графическим интерфейсом.
Способ 1: Программы
В Linux/Ubuntu управлять зарегистрированными в системе пользователями можно при помощи параметров, работа которых обеспечивается специальной программой.
К сожалению, для графической оболочки рабочего стола Gnome и Unity программы разные. Однако они обе способны предоставить набор опций и инструментов для проверки и редактирования групп пользователей в дистрибутивах Linux.
«Учетные записи» в Gnome
Сначала следует открыть параметры системы и выбрать раздел под названием «Учетные записи». Обратите внимание на то, что системные пользователи здесь уже отображаться не будут. Список зарегистрированных пользователей находится в панели слева, правее есть раздел настроек и изменения данных каждого из них.
Программа «Пользователи и группы» в дистрибутиве с графической оболочкой Gnome установлена всегда по умолчанию, однако если вы ее не находите в системе, то можно провести автоматическую загрузку и установку с помощью выполнения команды в «Терминале»:
sudo apt-get install unity-control-center
KUser в KDE
Для платформы KDE существует одна утилита, пользоваться которой даже гораздо удобнее. Она называется KUser.
В интерфейсе программы отображаются все зарегистрированные юзеры, при необходимости можно увидеть и системных. Эта программа может изменять пароли пользователей, переносить их из одной группы в другую, удалять их в случае необходимости и тому подобное.
Как и в случае с Gnome, в KDE программа KUser установлена по умолчанию, но ее можно удалить. Чтобы произвести установку приложения, выполните команду в «Терминале»:
sudo apt-get install kuser
Способ 2: Терминал
Данный способ является универсальным для большинства дистрибутивов, разработанных на основе операционной системы Linux. Дело в том, что она имеет в своем программном обеспечении специальный файл, где располагается информация относительно каждого пользователя. Такой документ находится по адресу:
/etc/passwd
Все записи в нем представлены в следующем виде:
- имя каждого из юзеров;
- уникальный идентификационный номер;
- пароль ИД;
- ИД группы;
- название группы;
- оболочка домашнего каталога;
- номер домашнего каталога.
Читайте также: Часто используемые команды в «Терминале» Linux
Для повышения уровня безопасности в документе сохраняется пароль каждого из пользователей, но он не отображается. В других модификациях этой операционной системы пароли и вовсе хранятся в отдельных документах.
Полный список пользователей
Вызвать переадресацию в файл с сохраненными данными юзеров можно с помощью «Терминала», введя в него следующую команду:
cat /etc/passwd
Пример:
Если ИД у пользователя имеет меньше четырех цифр, то это системные данные, в которые вносить изменения крайне нежелательно. Дело в том, что они создаются самой ОС в процессе установки для обеспечения наиболее безопасной работы большинства сервисов.
Имена в списке пользователей
Стоит отметить, что в данном файле может быть довольно много данных, которые вам не интересны. Если имеется необходимость узнать только имена и основные сведения, касающиеся пользователей, есть возможность отфильтровать приведенные в документе данные при помощи введения следующей команды:
sed ‘s/:.*//’ /etc/passwd
Пример:
Просмотр активных пользователей
В ОС, работающей на базе Linux, можно посмотреть не только пользователей, которые были зарегистрированы, но и тех, кто в настоящее время активны в ОС, заодно просмотрев то, какие процессы они используют. Для такой операции применяется специальная утилита, вызываемая командой:
w
Пример:
Данная утилита будет выдавать все команды, которые выполняются пользователями. Если он одновременно задействует две и более команд, то они также найдут отображение в выдаваемом списке.
Истории посещений
При необходимости, есть возможность проанализировать активность пользователей: узнать дату последнего их входа в систему. Ей можно воспользоваться на базе лога /var/wtmp. Вызывается он вводом в командной строке следующей команды:
last -a
Пример:
Дата последней активности
Кроме того, в операционной системе Linux можно узнать, когда каждый из зарегистрированных пользователей был последний раз активен – это делает команда lastlog, выполняемая при помощи одноименного запроса:
lastlog
Пример:
В этом логе также отображается информация о пользователях, которые никогда не были активными.
Заключение
Как можно заметить, в «Терминале» представлены более детальные сведения, касающиеся каждого пользователя. В нем есть возможность узнать кто и когда входил в систему, определить, пользовались ли ей посторонние люди, и многое другое. Однако для рядового пользователя будет лучшим вариантом воспользоваться программой с графическим интерфейсом, чтобы не вникать в суть команд Linux.
Список пользователей просмотреть достаточно легко, главное понять, на основе чего работает данная функция операционной системы и для каких целей она используется.
Кого считать пользователем системы
Любого человека, который использует компьютер и средства ОС, можно считать пользователем. Ему назначается определенное уникальное имя (иное не допускается), которое может включать латинские буквы, арабские числа, символы «_» и «.». Любой пользователь имеет отдельный каталог. В него он попадает после авторизации. Там содержится ряд персональных файлов и папок. Обычно пользовательские каталоги находятся в директории /home. Администратор ОС может настраивать учетные записи для разграничения доступа к файлам, каталогам и периферийным устройствам.
Как вывести в Linux список пользователей
Каким же образом решить задачу вывода существующих учетных записей? В системе Linux список пользователей выводится командой (допускается использовать различные параметры):
# cat /etc/passwd
Почему это работает? Дело в том, что все необходимые данные содержит файл /etc/passwd. К нему непосредственно и обращается интересующийся учетными записями человек. После задания команды выводится перечень аккаунтов Linux. Список пользователей в системе может быть довольно обширным. Данные об имеющихся аккаунтах выводятся построчно.
Как это может выглядеть на экране? Каждая строка будет являть собой примерно следующее:
root:xD634Jhs5jH32:0:0:root:/root:/bin/bashnewuser:Xv7Q641g89oKK:1000:100:Ivan Fedorov:/home/newuser:/bin/bash
Расшифровка:
account (пользовательское имя):password (пароль, хранящийся в зашифрованном виде):UID (уникальный ID):GID (ID главной группы юзера):GECOS (дополнительные сведения):directory (пользовательский каталог):shell (используемый интерпретатор команд).
Как просмотреть активные аккаунты
Вышеприведенная команда позволяет вывести перечень всех юзеров, зарегистрированных в системе. Но что делать, если нужно вывести в Linux список пользователей, которые активны прямо сейчас? Для этого можно воспользоваться следующей командой:
# who
Напечатав данную инструкцию, человек сможет просмотреть перечень активных в системе аккаунтов. В данном случае в Linux список пользователейтакже выполняется построчно. Располагая администраторскими полномочиями, можно производить с активными учетными записями различные манипуляции. Так, можно дать людям доступ к определенным файлам либо папкам, ограничить использование определенных программ.
[spoiler title=”Источники”]- https://www.dmosk.ru/miniinstruktions.php?mini=linux-users
- https://ZaLinux.ru/?p=1407
- https://rtfm.co.ua/linux-dobavit-polzovatelya-v-gruppu/
- https://pingvinus.ru/note/user-groups-add
- https://andreyex.ru/operacionnaya-sistema-linux/kak-dobavit-polzovatelya-v-gruppu-v-linux/
- https://ITProffi.ru/kak-prosmotret-spisok-polzovatelej-i-grupp-v-linux/
- https://lumpics.ru/how-see-list-of-users-in-linux/
- https://FB.ru/article/300639/kak-vyivesti-v-linux-spisok-polzovateley