В том числе и ОС Linux, со всеми её многочисленными оболочками. Эта статья поможет всем интересующимся разобраться, как добавить пользователя в группу Linux, а также создать, изменить и удалить их. Поехали!
Настройка грyпп и юзеров происходит в консольном режиме
Начнём с разбора процедуры создания. Как и всё остальное, эта операция выполняется посредством специальной команды, которая в нашем случае имеет следующий синтаксис:
Обратите внимание, что для внесения подобных изменений в систему, вам необходимы root-права. Если вы их не имеете, то добавляйте «sudo» в начале каждой вводимой вами команды, чтобы они успешно выполнялись.
Таким образом создаётся новая учётная запись. Чтобы создание проходило со специальными настройками , можно утилизировать определённые ключи, ознакомиться с их списком вы можете ниже:
В том случае, если создание с параметрами не удалось осуществить, попробуйте прописать следующее:
Указанная строка позволит вам просмотреть все настройки.
Изменить эти параметры вам позволит строка:
Для изменения информации и параметров используйте утилиту usermod. Команда будет иметь следующий синтаксис:
Задать или поменять пароль дозволено следующим образом. Введите:
После этого потребуется написать желаемый пароль либо, если он уже был установлен, ввести старый, а после - новый.
Также у вас есть возможность задать пустой пароль . В таком случае команда будет иметь вид:
С точки зрения безопасности, не следует создавать «юзера» без соответствующего пароля. Однако, это актуально только для администраторов фирм и компаний. Для домашнего использования в этом нет необходимости.
Для удаления используйте userdel. Синтаксис в нашем случае будет иметь вид:
Также можно создавать группы, в которые впоследствии будут перемещены учётные записи. Чтобы сделать это, пропишите:
Как и в предыдущих случаях, вы можете эксплуатировать специальные ключи для установки дополнительных параметров:
Теперь рассмотрим, как добавить созданного «юзера» в созданную группу. Для этого необходимо прописать следующую строку:
sudo usermod -aG testgroup vasyapupkin
Для тех, кто использует не «голый» Linux, а самую популярную его оболочку - Ubuntu, разберём работу с учётными записями через графический интерфейс. Изначально в Ubuntu отсутствует необходимая утилита для работы с ними, и все операции проводятся через командную строку. Однако, нужную утилиту можно установить, прописав:
sudo apt-get install gnome-system-tools
После того как установка будет завершена, вы легко сможете выполнить те же операции, что и через командную строку. Достаточно перейти в «Свойства», а там уже вы сможете добавить, изменить и удалить их по своему усмотрению.
Просмотреть список всех созданных пользователей вместе с информацией о них можно в специальном системном файле -/etc/passwd.
Теперь вы знаете, как работать с пользователями и группами в операционной системе Linux. Оставляйте свой отзыв об этой статье и задавайте интересующие вас вопросы в комментариях.
Создание новой группы в системе
Этой командой можно создать новую группу пользователей (далее группу) group
в системе:
Добавление нового пользователя в систему
Нового пользователя user
можно добавить командой :
Он автоматически будет помещен в индивидуальную группу, названную в честь его.
Чтобы добавить пользователя user в уже существующую группу group прописываем:
Этой командой пользователя можно добавить сразу в несколько групп. Для этого имена групп перечисляем через запятую.
Для добавления пользователя в новую группу, с именем отличным от имени пользователя, выполняем следующее:
useradd -g groupname user
Эта группа для пользователя будет являться основной.
Задание пароля пользователю
Пароль для пользователя user
задается командой:
Эта команда попросит ввести пароль дважды. Никогда не оставляйте пользователя без пароля!
Иногда необходимо запретить пользователю вход в систему. Например если нужен доступ только к сетевому общему ресурсу. (Подробнее об этом .) Для этого следует изменить файл passwd следующей командой:
В поле пароля добавляю символ звездочки "*" перед самим паролем (подробнее этот файл описан в конце статьи). Сохраняем сделанные изменения и выходим клавишами Ctrl+X , клавишей Y подтверждаем наш выбор.Для большей безопасности этот файл можно отредактировать командой vipw . Чтобы выйти из редактора с сохранением изменений требуется выполнить :wq . Для выхода без сохранения изменений прописываем :q или :q! , если были произведены какие либо изменения.
Файлы с информацией о пользователях
Следующая информация приведена для лучшего понимания создания пользователей системы и более тонкой настройки. Для редактирования пользователей в большинстве случаев будет проще использовать команду usermod
. Подробнее об этой команде можно узнать выполнив
Вся информация о пользователях системы и о группах хранится в следующих файлах:
- /etc/passwd в этом файле содержится весь список пользователей, о которых известно системе. Каждая строка этого файла описывает пользователя и содержит семь полей, в которых указана пользовательская информация. Поля разделены двоеточиями.
1.
2. Шифрованный пароль пользователя (никогда не оствляйте это поле пустым);
3. Идентификатор пользователя (UID);
4. Идентификатор группы (GID);
5. Поле GECOS, в котором можно указать полное имя пользователя, рабочий домашний телефон, место работы и прочее;
6. Путь к домашнему каталогу;
7. Регистрационная оболочка.
- /etc/shadow
здесь хранятся пароли в зашифрованном виде. Этот файл доступен суперпользователю только для чтения. Каждая строка соответствует одному пользователю. В нем содержится девять полей, разделенных двоеточиями:
1.
Регистрационное имя пользователя;
2.
Зашифрованный пароль пользователя;
3.
Дата последнего изменения пароля;
4.
Минимальное число дней между изменениями пароля;
5.
Максимальное число дней между изменениями пароля;
6.
Количество дней до предупреждения об окончании действия пароля;
7.
Количество дней до окончания действия пароля;
8.
Срок действия учетной записи;
9.
Зарезервированное пустое поле, которое не используется.
Поля дат в данном файле заполняются числом дней, прошедших от 1 января 1970 года. Обязательно заполнены должны быть первые два поля!
- /etc/group
содержит список групп и имена пользователей, входящие в эти группы. Подобно предыдущим файлам каждая строка соответствует одной группе и имеет четыре поля, которые разделены двоеточиями:
1.
Имя группы;
2.
Зашифрованный пароль или символ x
указывающий на использование файла gshadow
(когда для подключения пользователя к группе с помощью утилиты newgrp
нужно ввести пароль);
3.
Идентификатор группы (GID);
4.
Список членов данной группы, которые разделены запятой.
Оригинал: Linux Fundamentals
Автор: Paul Cobbaut
Дата публикации: 16 октября 2014 г.
Перевод: А.Панин
Дата перевода: 23 декабря 2014 г.
Глава 29. Группы пользователей
Учетные записи пользователей системы могут объединяться в рамках групп. Концепция групп пользователей позволяет устанавливать права доступа на уровне групп пользователей вместо установки аналогичных прав доступа для каждого отдельного пользователя.
В каждом дистрибутиве Unix или Linux имеется инструмент с графическим интерфейсом для управления группами пользователей. Пользователям, не имеющим опыта работы с данными системами, рекомендуется использовать именно эти инструменты. Более опытные пользователи могут использовать инструменты с интерфейсом командной строки для управления учетными записями пользователей, проявляя при этом осторожность: некоторые дистрибутивы не позволяют работать одновременно с инструментами для управления группами пользователей с графическим интерфейсом и интерфейсом командной строки (примером может служить инструмент YaST из состава дистрибутива Novell Suse). Опытные системные администраторы могут осуществлять непосредственное редактирование соответствующих файлов с помощью текстового редактора vi или утилиты vigr .
Утилита groupadd
Группы пользователей могут создаваться с помощью утилиты groupadd . В примере ниже показана методика создания пяти групп (без добавления в них пользователей). root@laika:~# groupadd tennis root@laika:~# groupadd football root@laika:~# groupadd snooker root@laika:~# groupadd formula1 root@laika:~# groupadd salsa
Файл group
Пользователи могут состоять в нескольких группах. Членство пользователей в группах описывается в файле /etc/group . root@laika:~# tail -5 /etc/group tennis:x:1006: football:x:1007: snooker:x:1008: formula1:x:1009: salsa:x:1010: root@laika:~#
Первым полем в строке с описанием группы пользователей является имя группы. Во втором поле размещается (зашифрованный) пароль группы (это поле может быть пустым). В третьем поле размещается идентификатор группы или значение GID . Четвертое поле является списком членов группы, который в данном случае является пустым, так как в группах нет пользователей.
Команда groups
Пользователь может выполнить команду groups для ознакомления со списком групп, в которых он состоит. $ groups harry sports $
Утилита usermod
Членство пользователя в группах может быть изменено с помощью утилиты useradd или usermod . root@laika:~# usermod -a -G tennis inge root@laika:~# usermod -a -G tennis katrien root@laika:~# usermod -a -G salsa katrien root@laika:~# usermod -a -G snooker sandra root@laika:~# usermod -a -G formula1 annelies root@laika:~# tail -5 /etc/group tennis:x:1006:inge,katrien football:x:1007: snooker:x:1008:sandra formula1:x:1009:annelies salsa:x:1010:katrien root@laika:~#
Проявляйте осторожность при использовании утилиты usermod для добавления пользователей в группы. По умолчанию утилита usermod будет удалять пользователя из всех групп, в которых он состоял, если имена данных групп не были переданы в составе команды! Использование параметра -a (append - дополнение) позволяет избежать данного поведения.
Утилита groupmod
Вы можете изменить имя группы пользователей с помощью утилиты groupmod . root@laika:~# groupmod -n darts snooker root@laika:~# tail -5 /etc/group tennis:x:1006:inge,katrien football:x:1007: formula1:x:1009:annelies salsa:x:1010:katrien darts:x:1008:sandra
Утилита groupdel
Вы можете навсегда удалить группу пользователей с помощью утилиты groupdel . root@laika:~# groupdel tennis root@laika:~#
Утилита gpasswd
Также вы можете делегировать функции контроля над членством в определенной группе пользователей другому пользователю с помощью утилиты gpasswd . В примере ниже мы делегируем права на добавление пользователей в группу sports и удаление их из нее пользователю serena. После этого мы используем команду su для добавления пользователя harry в группу sports от лица пользователя serena. # gpasswd -A serena sports # su - serena $ id harry uid=516(harry) gid=520(harry) группы=520(harry) $ gpasswd -a harry sports Добавление пользователя harry в группу sports $ id harry uid=516(harry) gid=520(harry) группы=520(harry),522(sports) $ tail -1 /etc/group sports:x:522:serena,venus,harry $
Администраторы групп пользователей не обязаны быть членами этих групп. Они могут удалить свои учетные записи из администрируемых ими групп пользователей и это никак не повлияет на их возможности добавления пользователей в эти группы или удаления пользователей из них. $ gpasswd -d serena sports Удаление пользователя serena из группы sports $ exit
Информация об администраторах групп пользователей хранится в файле /etc/gshadow . # tail -1 /etc/gshadow sports:!:serena:venus,harry #
Для удаления всех учетных записей администраторов из группы пользователей следует использовать утилиту gpasswd с параметрами для задания пустого списка администраторов. # gpasswd -A "" sports
Утилита newgrp
Вы можете запустить дочернюю командную оболочку с новой временной основной группой пользователя, воспользовавшись командой newgrp . root@rhel65:~# mkdir prigroup root@rhel65:~# cd prigroup/ root@rhel65:~/prigroup# touch standard.txt root@rhel65:~/prigroup# ls -l итого 0 -rw-r--r--. 1 root root 0 апр 13 17:49 standard.txt root@rhel65:~/prigroup# echo $SHLVL 1 root@rhel65:~/prigroup# newgrp tennis root@rhel65:~/prigroup# echo $SHLVL 2 root@rhel65:~/prigroup# touch newgrp.txt root@rhel65:~/prigroup# ls -l итого 0 -rw-r--r--. 1 root tennis 0 апр 13 17:49 newgrp.txt -rw-r--r--. 1 root root 0 апр 13 17:49 standard.txt root@rhel65:~/prigroup# exit exit root@rhel65:~/prigroup#
Утилита vigr
По аналогии с утилитой vipw, утилита vigr может использоваться для редактирования файла /etc/group в ручном режиме, так как она осуществляет корректную блокировку этого файла в процессе редактирования. Текстовый редактор vi или утилита vigr может использоваться для управления группами пользователей исключительно опытными системными администраторами.
Практическое задание: группы пользователей
Корректная процедура выполнения практического задания: группы пользователей
1. Создайте группы пользователей tennis, football и sports.
Groupadd tennis ; groupadd football ; groupadd sports
2. С помощью одной команды сделайте пользователя venus членом групп tennis и sports.
Usermod -a -G tennis,sports venus
3. Переименуйте группу пользователей fotball в foot.
Groupmod -n foot football
4. Используйте текстовый редактор vi для добавления пользователя serena в группу пользователей tennis.
5. Используйте команду id для того, чтобы убедиться, что пользователь serena состоит в группе пользователей tennis.
Id (после выхода из системы и входа в нее пользователь serena должен быть членом группы)
6. Сделайте кого-либо из пользователей ответственным за управление членством пользователей в группах foot и sports. Проверьте работоспособность использованного механизма.
Gpasswd -A (для того, чтобы сделать пользователя ответственным за управление членством в группе пользователей) gpasswd -a (для того, чтобы сделать пользователя членом группы пользователей)
Учетные записи пользователей могут быть назначены одной или нескольким группам в Linux. Вы можете настроить права доступа к файлам и другие привилегии по группам. Например, на Ubuntu только пользователи из группы sudo могут использовать команду sudo для получения повышенных разрешений.
Как создать новую группу в Linux
Если вы хотите создать новую группу в своей системе, используйте команду groupadd , заменив new_group на имя группы, которую вы хотите создать. Вам также нужно будет использовать sudo с этой командой (или в дистрибутивах Linux, которые не используют sudo , вам нужно будет запустить команду su , чтобы получить повышенные разрешения перед запуском команды).
Sudo groupadd new_group
Добавление существующей учетной записи пользователя в группу
Чтобы добавить существующую учетную запись пользователя в группу в вашей системе, используйте команду usermod , заменив group_name на имя группы, в которую вы хотите добавить пользователя, в user_name на имя пользователя, которого хотите добавить.
Usermod -a -G group_name user_name
Например, для добавления пользователя mial в группу sudo , используйте следующую команду:
Usermod -a -G sudo mial
Изменение первичной группы пользователя
Хотя учетная запись пользователя может входить в нескольких групп, одна из групп всегда является «основной группой», а остальные являются «вторичными группами». Процесс входа пользователя, файлы и папки, созданные пользователем, будут назначены первичной группе.
Чтобы изменить основную группу, которой назначен пользователь, запустите команду usermod , заменив group_name на имя группы, а user_name на имя учетной записи пользователя.
Usermod -g group_name user_name
Обратите внимание здесь на -g . Когда вы используете маленькую g , вы назначаете главную группу. Когда вы используете заглавную -G , как в примерах выше, вы назначаете вторичную группу.
Как узнать, в какие группы входит пользователь
Чтобы просмотреть группы, которым назначена текущая учетная запись пользователя, выполните команду groups . Вы увидите список групп.
Чтобы просмотреть числовые идентификаторы, связанные с каждой группой, выполните команду id :
Для просмотра групп в которые входит другая учетная запись пользователя, запустите команду groups и укажите имя учетной записи пользователя.
Groups user_name
Вы также можете просмотреть числовые идентификаторы, связанные с каждой группой, запустив команду id и указав имя пользователя.
Id user_name
Первой группой в списке групп или группой, показанной после «gid= » в списке идентификаторов, является первичная группа учетной записи пользователя. Другие группы - это вторичные группы. Итак, на скриншоте ниже основной группой учетной записи пользователя является mial .
Создание нового пользователя и назначение группы в одной команде
Иногда вам может понадобиться создать новую учетную запись пользователя, которая имеет доступ к определенному ресурсу или каталогу, например, новому пользователю FTP. С помощью команды useradd при создании учетной записи пользователя вы можете указать группы, которым будет назначена учетная запись пользователя, например:
Useradd -G group_name user_name
Например, чтобы создать новую учетную запись пользователя с именем jsmith и назначить эту учетную запись группе ftp , вы должны запустить:
Useradd -G ftp jsmith
Конечно, вы захотите назначить пароль для этого пользователя:
Passwd jsmith
Добавление пользователя в несколько групп
Вы можете добавить пользователя сразу в несколько вторичных групп, разделив список запятой:
Usermod -a -G group1,group2,group3 user_name
Например, чтобы добавить пользователя с именем mial в группы ftp , sudo и example , вы должны запустить:
Usermod -a -G ftp,sudo,example mial
Вы можете указать столько групп, сколько хотите - просто разделите их все запятой.
Как просмотреть все группы в системе
Если вы хотите просмотреть список всех групп в вашей системе, вы можете использовать команду getent :
Getent group
Этот вывод также покажет вам, какие учетные записи пользователей являются членами групп. Итак, на скриншоте ниже мы видим, что учетные записи пользователей syslog и mial являются членами группы adm .
Это должно охватывать все, что вам нужно знать о добавлении пользователей в группы в командной строке Linux.