Если вы управляете сервером Linux, то, скорее всего, вам нужно управлять множеством учетных записей пользователей, а также контролировать множество файлов и настроек. Ниже приведены некоторые команды и вопросы, которые важны при настройке и управлении учетными записями пользователей и разрешениями доступа.
Обработка удостоверений личности
Во-первых, при управлении учетными записями пользователей необходимо знать идентификатор пользователя (UID) и идентификатор группы (GID). Большинство учетных записей устроены таким образом, что каждый пользователь является единственным членом группы с тем же именем, что и учетная запись пользователя. Фактически, оба параметра задаются при создании учетной записи с помощью команды useradd. Когда вы перечисляете домашний каталог пользователя, вы должны увидеть что-то вроде этого:
$ ls -ld /home/dbell
drwxr-xr-x. 8 dbell dbell 4096 Mar 23 2021 /home/dbell
^ ^
| |
группа пользователей
Обратите внимание, что и имя пользователя, и имя группы - “dbell”. Чтобы увидеть числовые эквиваленты этих значений, используйте следующую команду:
$ ls -ldn dbell
drwxr-xr-x. 8 1003 1003 4096 Mar 23 2021 dbell
^ ^
| |
UID GID
И имя пользователя, и имя группы имеют числовое значение 1003. Отображаемая информация получена из файлов /etc/passwd и /etc/group, в которых имена объединены с их числовыми значениями.
$ grep dbell /etc/passwd /etc/group
/etc/passwd:dbell:x:1003:1003:Dana Bell:/home/dbell:/bin/bash
/etc/group:dbell:x:1003:
Обработка важных документов
Одними из самых важных файлов, с которыми приходится иметь дело при управлении учетными записями пользователей, являются файлы /etc/passwd, /etc/shadow и /etc/group. Как показано выше, в файлах /etc/passwd и /etc/group хранятся UID и GID, а также домашний каталог пользователя. Все группы, к которым принадлежит пользователь, включая его личные группы, хранятся в файле /etc/group. Файл /etc/shadow содержит параметры хеширования и старения паролей, чтобы обеспечить их сохранность и заставить пользователей регулярно менять пароли.
Эти записи устанавливаются при использовании команды useradd, которая добавляет строки в файл /etc/passwd, файл /etc/group и файл /etc/shadow.
$ sudo useradd newuser
$ sudo grep newuser /etc/passwd /etc/group /etc/shadow
/etc/passwd:newuser:x:1019:1019::/home/newuser:/bin/bash
/etc/group:newuser:x:1019:
/etc/shadow:newuser:!!:19372:0:99999:7:::
Обратите внимание, что для создания учетной записи и просмотра файла /etc/shadow требуется sudo.
Учетной записи пользователя будет автоматически присвоен следующий доступный номер UID новой учетной записи. В большинстве систем Linux первая учетная запись пользователя имеет значение 1000, а каждый последующий пользователь будет на единицу выше предыдущего. UID с меньшим значением является системной учетной записью. Как показано в нижней строке приведенного выше результата, при первоначальной настройке учетной записи хэш пароля отсутствует. Поле будет выглядеть как ! ! пока не будет назначен пароль. При установке пароля вместо двух восклицательных знаков появится длинная строка, представляющая собой хэш пароля.
Системные администраторы часто устанавливают временный пароль для новых пользователей, затем истекают срок действия пароля с помощью второй команды sudo, как показано ниже, а затем требуют от пользователя установить новый пароль при первом входе в систему. Таким образом, пароль учетной записи знает только сам пользователь.
$ sudo passwd newuser
Новый пароль:
Повторите новый пароль:
$ sudo passwd -e newuser
Пятое (разделенное двоеточием) поле в файле /etc/passwd предназначено для полного имени и/или описания пользователя, которое часто называют полем комментария.
Его можно добавить при создании учетной записи или позже с помощью команды usermod -c. С другой стороны, имея привилегии суперпользователя, вы можете просто отредактировать файл /etc/password, чтобы добавить полное имя.
$ sudo usermod -c “Dana Bell” dbell
$ grep dbell /etc/passwd
dbell:x:1003:1003:Dana Bell:/home/dbell:/bin/bash
^
|
имя пользователя или описание
Чтобы включить полное имя при первоначальной настройке учетной записи, выполните следующую команду:
$ sudo useradd -c “Dana Bell” dbell
Удалить учетную запись пользователя
В то время как команда useradd создает учетные записи, а команда usermod позволяет вносить изменения в учетные записи, команда userdel может использоваться для удаления учетных записей. Однако важно понимать, что команда userdel не удаляет домашний каталог пользователя, если вы не включите опцию -r, как показано ниже:
$ sudo userdel newuser -r
Просмотр настроек пользователя
Хотя информацию из файлов /etc/passwd и /etc/group легко извлечь с помощью grep, еще одной очень полезной командой для извлечения информации об учетных записях пользователей является команда id, которая показывает, что UID, GID и членство в группе представляют собой единое целое в очень удобном формате.
$ id newuser
uid=1019(newuser) gid=1019(newuser) groups=1019(newuser)
$ id shs
uid=1000(shs) gid=1000(shs) groups=1000(shs),10(wheel),900(techs)
Добавление пользователя во вторичную группу l
Команда usermod также позволяет добавлять пользователей во вторичные группы. Для этого добавьте пользователя в группу Technicians с помощью команды, показанной ниже. Затем вы можете использовать команду id для проверки изменений.
$ sudo usermod -a -G techs newuser
$ id newuser
uid=1019(newuser) gid=1019(newuser) groups=1019(newuser),20(techs)
Подведите итоги
В Linux очень легко создавать, изменять и удалять учетные записи, но вам необходимо знать несколько важных команд, чтобы правильно управлять учетными записями и разрешениями пользователей.
l