unix username что делать
🐧 Как правильно изменить имя пользователя на Linux
В этом кратком руководстве объясняется, как правильно изменить имя пользователя в операционной системе Linux.
Э то руководство также описывает, как изменить имя хоста, группу пользователей, домашний каталог, а также владельца и группу этого каталога на нового пользователя вместе со всеми файлами.
Если вы когда-нибудь искали правильный способ изменить имя пользователя в Linux, не нарушая существующие файлы конфигурации, далее объясняется, как это сделать!
Предупреждение:
Я бы не рекомендовал это в производственной среде.
Всегда лучше просто создать нового пользователя, а не переименовывать существующего.
Потому что переименование имени пользователя вызовет так много проблем, если на домашний каталог старого пользователя ссылаются некоторые другие файлы конфигурации.
Поэтому я рекомендую вам создать нового пользователя и перенести данные старого пользователя на нового.
Если это недавно установленная система или просто тестовая система, вы можете изменить имя пользователя, как описано ниже.
Правильный способ изменить имя пользователя на Linux
Изменить имя хоста в Fedora и других дистрибутивах Linux очень просто!
Войдите в систему как пользователь sudo или root.
Я вошел в систему как пользователь root.
Измените текущее имя хоста с помощью команды hostnamectl, как показано ниже:
Вы также можете проверить это с помощью команды hostname:
В этом руководстве я использовал одно и то же имя для пользователя и группы.
Вы можете использовать другое имя, если хотите.
А затем изменил имя пользователя с помощью команды usermod, как показано ниже:
Давайте разберем приведенную выше команду и посмотрим, что делает каждая опция.
Наконец, назначьте привилегии sudo новому пользователю с помощью команды:
Если вы используете системы на основе Debian, такие как Ubuntu, вы можете предоставить пользователю разрешения sudo с помощью этой команды:
Пользователи в Linux. Типы пользователей, управление пользователями.
Сегодня я хочу поговорить о пользователях в Linux. Мы познакомимся с типами пользователей и узнаем в каких файлах хранится связанная с ними информация. Изучим команды позволяющие управлять пользователями и изменять их данные. Рассмотрим примеры создания пользователей с различными параметрами и последующим изменениям пользовательских настроек.
Типы пользователей
В ОС Linux существует три типа пользователей:
Каждый пользователь помимо имени имеет числовой идентификатор пользователя UID (User IDentificator). Пользователь root имеет идентификатор 0. Системные пользователи имеют идентификаторы от 1 до 100. Обычные пользователи имеют UID от 100.
Пользователи могут объединяться в группы. Каждый пользователь обязательно входит в ту или иную группу. Группы имеют числовой идентификатор группы GID (Group IDentificator).
Информация пользователей
В системе присутствует следующая информация о каждом пользователе:
Вся информация о пользователях хранится в следующих файлах:
У файлов /etc/passwd и /etc/group всегда определенные права доступа: чтение и запись для root, для остальных только чтение.
Помимо основных, в системе присутствуют дополнительные файлы.
Команды управления
Для управления пользователями используются следующие команды:
Для управления группами используются следующие команды:
Обычное добавление пользователя
Для создания пользователя достаточно выполнить команду useradd и указать его имя.
Синтаксис команды: useradd options username
Теперь нужно задать пароль для созданного пользователя. Пароль задается командой passwd с указанием имени пользователя.
Можно задать пароль для пользователя сразу при создании, например так:
Проверим с какими параметрами был создан пользователь:
Подобным образом команда useradd работает в CentOS и других подобных ему системах, но в Debian или Ubuntu она просто создаст голого пользователя, а все остальное придется добавлять потом вручную.
Чтобы создать пользователя с подобными параметрами в Debian & Ubuntu команда useradd должна выглядеть следующим образом.
Поэтому в Ubuntu & Debian удобнее пользоваться утилитой adduser, при ее использовании нужно будет ответить на несколько вопросов, в процессе ее выполнения будут видны все шаги по созданию нового пользователя.
Проверим как создался пользователь.
Создание пользователя с домашней директорией, отличной от дефолтной директории
По умолчанию команда useradd создает домашний каталог пользователя в директории /home, имя домашнего каталога всегда совпадает с именем пользователя. Например при создании пользователя techlist, создается домашняя директория /home/techlist.
Допустим что возникла необходимость задать пользователю домашний каталог с размещением и именем отличающимися от стандартных настроек. При использовании опции -d можно задать свой каталог для пользователя.
Как можно видеть, пользователь techlist создался с домашним каталогом в /opt/tech.
Создание пользователя с определенным UID и GID
Каждому пользователю при его создании присваивается UID, присвоение идет по порядку: 1000, 1001 и т.д. При использовании опции -u пользователю можно задать определенный UID. Для примера создадим пользователя techlist c UID равным 777.
Сначала создадим группу techlist c GID равным 777.
Обратите внимание, группа создана но пользователей в нет, теперь можно создать пользователя с UID=777 и указать его принадлежность к группе techlist с помощью опции -g и указания GID 777.
Создание пользователя с указанием принадлежности к нескольким группам
Если пользователь должен принадлежать сразу к нескольким группам, то указывается опция -G, после чего через запятую указываются группы к которым будет принадлежать пользователь.
Допустим что новый пользователь techlist должен принадлежать к следующим группам: group_1, group_2 и group_3.
Создание пользователя без домашнего каталога
Иногда пользователю не требуется домашний каталог, для этого используется опция -M.
Создание пользователя с истекающим сроком действия аккаунта
По умолчанию каждый пользователь не имеет срока действия аккаунта. Срок действия можно установить задав дату истечения аккаунта. Для этого следует использовать опцию -e после которой указывается дата истечения аккаунта в формате YYYY-MM-DD. Создадим пользователя techlist с истечением аккаунта в 2017-05-01, по достижении даты аккаунт будет недействителен.
Создание пользователя с истекающим сроком действия пароля
Чтобы установить срок истечения пароля пользователя, можно выполнить следующую команду.
Создание пользователя с указанием доп. информации
Иногда может возникнуть необходимость указать примечание для пользователя, в виде краткой заметки или указания имени и фамилии пользователя. Для этого можно воспользоваться опцией -c. Создадим пользователя vasek, с указанием имени и фамилии Vasya Pupkin.
Создание пользователя с указанием командной оболочки
Для того чтобы указать командную оболочку для пользователя используется опция -s
Приведенные выше опции необязательно указывать по одной, их можно комбинировать друг с другом, в зависимости от того, что нужно указать при заведении нового пользователя.
Изменение существующего пользователя
Иногда может потребоваться внести некоторые изменения в аккаунт пользователя. Сделать это можно при помощи команды usermod.
Синтаксис команды: usermod options username
Рассматривать применение команды будем на примере пользователя techlist.
Пользователь был создан с дефолтными настройками.
Добавление доп. информации пользователю
Для начала добавим имя и фамилию пользователя, опцией -c.
Изменение домашнего каталога пользователя
По умолчанию домашним каталогом пользователя techlist является /home/techlist. Изменим его на каталог /opt/techlist, при помощи опции -d и опцией -m перенесем в новый каталог все содержимое старого.
Установка даты истечения срока аккаунта
Назначим дату истечения действия аккаунта, аккаунт будет действовать до 2017-05-01, дата задается опцией -e.
Изменение группы пользователя
Изменим группу пользователя techlist. Сначала посмотрим к каким группам он принадлежит.
Добавим пользователя techlist к группе group_1, используя опцию -g.
Как можно увидеть группа изменилась, если раньше была 1001(techlist), то теперь стала 1002(group_1).
Как добавить пользователя к новой группе без удаления из предыдущей? Для этого существует опция -G.
Теперь пользователь принадлежит одновременно к двум группам 1002(group_1) и 1003(group_2).
Добавление пользователя в дополнительные группы
Для добавления пользователя в одну из дополнительных групп, одновременно используются две опции -a и -G. В качестве дополнительной группы будет выступать группа wheel.
Теперь пользователь techlist относится к дополнительной группе wheel, что может наделить его привилегиями выполнять root-команды.
Изменение имени пользователя
Существующему пользователю можно изменить имя, изменим имя пользователя techlist на techlist_admin, делается это опцией -l.
Блокировка аккаунта пользователя
Для блокировки аккаунта пользователя достаточно выполнить команду с опцией -L.
Разблокировка аккаунта пользователя
Для того чтобы разблокировать аккаунт пользователя, достаточно выполнить команду с опцией -U.
Изменение командной оболочки пользователя
Чтобы изменить командную оболочку пользователя, надо выполнить следующую команду с опцией -s. Изменим пользовательскую оболочку для techlist_admin с /bin/bash/ на /bin/sh/.
Изменение UID и GID пользователя
Для изменения UID пользователя используется опция -u.
Для изменения GID пользователя используется опция -g.
Таким образом можно управлять пользователями и изменять их по своему усмотрению.
Удаление пользователей
userdel
синтаксис команды: userdel options username
Для того чтобы удалить пользователя, выполняем команду userdel. Команда userdel не удаляет пользователя если он работает в системе, сначала необходимо завершить все связанные с ним процессы. Для просмотра дополнительных опций команды userdel, используется ключ -h.
deluser
синтаксис команды: deluser options username
Настройки команды находятся в файле /etc/deluser.conf, здесь задается поведение утилиты при удалении пользователя.
Правильное удаление пользователя
Под правильным удалением пользователя нужно понимать определенную последовательность команд позволяющих удалить пользователя не оставив мусора и не обрушив систему.
Блокировка пользователя
Удаляемый пользователь не должен быть залогинен в системе и использовать какие либо файлы или программы.
Блокировку пользователя мы рассматривали выше.
Убить все пользовательские процессы
Если пользователь залогинен, то его нужно выкинуть из системы. Для этого найдем все процессы запущенные от его имени и завершим их.
Узнаем что это за процессы используя их pid.
Hичего серьезного нет, можно завершать все. Завершение всех процессов вышвырнет пользователя из системы, а заново войти он не сможет, ибо был заранее заблокирован.
Как я могу изменить свое имя пользователя?
Некоторое время назад, когда я установил Ubuntu, я выбрал довольно глупое имя пользователя для своей учетной записи, которое я больше не хочу использовать.
Как я могу изменить это (включая имя моего домашнего каталога и имя в терминале) без потери настроек для приложений?
Как мне сохранить разрешения и мои ключи для различных аутентификаций (например, электронная почта, SSH, GPG и т. Д.)?
Какие настройки могут быть потеряны, если я изменю свое имя пользователя?
8 ответов
Unix-подобные операционные системы отделяют имя пользователя от имени пользователя, поэтому вы можете смело менять имя, не влияя на идентификатор. Все разрешения, файлы и т. Д. Привязаны к вашей личности (uid), а не к вашему имени пользователя.
Для управления каждым аспектом пользовательской базы данных вы используете usermod инструмент.
Чтобы изменить имя пользователя (вероятно, лучше сделать это без входа в систему):
Это, однако, не переименовывает домашнюю папку.
Чтобы изменить домашнюю папку, используйте
после того, как вы изменили имя пользователя.
Некоторая дополнительная информация для таких неопытных пользователей, как я:
Поскольку у меня есть только ОДНА учетная запись пользователя (администратор), он не позволил бы мне изменить имя пользователя («Вы уже вошли в систему» был ответ в TTY1 ( Ctrl + Alt + F1 ). Чтобы обойти это:
Войдите со своими старыми учетными данными и добавьте нового пользователя, например, «временный» в TTY1:
Разрешите временному пользователю запускать sudo, добавив его в группу sudo:
[Пост] Управление доступом в Linux
Jan 10, 2018 • zinvapel
Основные правила управления доступом
Объекты (например, файлы и процессы) имеют владельцев. Владельцы обладают обширным (но необязательно неограниченным) контролем над своими объектами.
Основное
Под каждого пользователя, создается свой каталог, пользователю назначается командная оболочка (командный интерпретатор, используемый в операционных системах семейства UNIX). Например: /bin/bash, /bin/zsh, /bin/sh и другие.
Каждому пользователю назначается идентификационный номер (User ID). Сокращенно номер обозначается как UID, является уникальным идентификатором пользователя. Операционная система отслеживает пользователя именно по UID, а не по их имени.
Также, каждому пользователю назначается пароль для входа в систему.
Каждый пользователь принадлежит минимум к одной или нескольким группам.
Помимо пользователей, существуют группы. Так же как и пользователь, группа обладает правам доступа к тем или иным каталогам, файлам, периферии. Для каждого файла определён не только пользователь, но и группа. Группы группируют пользователей для предоставления одинаковых полномочий на какие-либо действия.
Каждой группе назначается идентификационный номер (group ID). Сокращённо GID, является уникальный идентификатором группы. Принадлежность пользователя к группе устанавливается администратором.
Управление пользователями
Просмотр
Каждый аккаунт занимает одну строку, в формате account:password:UID:GID:GECOS:directory:shell
Получение информации о пользователях
Добавление пользователя
Добавление пользователя осуществляется при помощи команды useradd.
sudo useradd vasyapupkin
Изменение пользователя
Изменение параметров пользователя происходит с помощью утилиты usermod. Пример использования:
Изменить пароль пользователю можно при помощи утилиты passwd.
sudo passwd vasyapupkin
Утилита passwd может использоваться и обычным пользователем для смены пароля.
Основные ключи passwd:
Установка пустого пароля пользователя
Супер пользователь с помощью утилит командной строки passwd и usermod или путем редактирования файла /etc/shadow может удалить пароль пользователь, дав возможность входить в систему без указания пароля.
После этого имеет смысл принудить пользователя установить себе новый пароль при следующем входе в систему.
Удаление пользователя
Для того, чтобы удалить пользователя воспользуйтесь утилитой userdel.
sudo userdel vasyapupkin
Управление группами
Создание группы
Программа groupadd создаёт новую группу согласно указанным значениям командной строки и системным значениям по умолчанию.
sudo groupadd testgroup
Изменение группы
Сменить название группы, ее GID или пароль можно при помощи groupmod.
Удаление группы
Утилита groupdel не имеет никаких дополнительных параметров.
sudo groupdel testgroup
Управление пользователями группы
Для управления пользователями группы используется утилита gpasswd. Чтобы занести пользователя в группу:
Вывод пользователя из группы:
Файлы конфигурации
/etc/passwd
В файле /etc/passwd, который упоминался ранее, хранится вся информация о пользователях кроме пароля. Одна строка из этого файла соответствует описанию одного пользователя. Примерное содержание строки таково:
Строка состоит из нескольких полей, каждое из которых отделено от другого двоеточием. Значение каждого поля:
Второе и последнее поля необязательные и могут не иметь значения.
/etc/group
В /etc/group, как очевидно из названия хранится информация о группах. Она записана в аналогичном /etc/passwd виде:
Строка состоит из нескольких полей, каждое из которых отделено от другого двоеточием. Значение каждого поля:
В этом файле второе и четвертое поля могут быть пустыми.
/etc/shadow
Файл /etc/shadow хранит в себе пароли, по этому права, установленные на этот файл, не дают считать его простому пользователю. Пример одной из записей из этого файла:
Sudo и su
Программа su служит для выполнения от имени указанного пользователя (по умолчанию — root) указанной команды/программы (по умолчанию — той программы, что определена в качестве оболочки (shell) для указанного пользователя) и запрашивает она пароль указанного пользователя.
О программе sudo можно сказать почти то же самое, за двумя исключениями:
Управление доступом
Собственно inode является, как идентификатором файла/каталога, так и сущностью, которая содержит в себе информацию о файле/каталоге. Например такую, как: принадлежность к владельцу/группе, тип файла и права доступа к файлу.
Для каждого объекта файловой системы в модели полномочий Linux есть три типа полномочий:
В полномочия записи входят также возможности удаления и изменения объекта. Право выполнения можно установить для любого файла. Потенциально, любой файл в системе можно запустить на выполнение, как программу в Windows. В Linux является ли файл исполняемым или нет, определяется не по его расширению, а по правам доступа. Кроме того, эти полномочия указываются отдельно для владельца файла, членов группы файла и для всех остальных.
Кроме указанного представления полномочий доступа (символьного), существует так же и числовое представление. Для общего понимания, приведу таблицу соответствия числового (двоичного и десятичного) значения прав доступа и буквенного:
владелец | группа | остальные | |
---|---|---|---|
буквенное | rwx | r-x | r– |
двоичное | 111 | 101 | 100 |
двоичное в десятичных | 421 | 401 | 400 |
десятичное | 7 | 5 | 4 |
Управление правами доступа
Управление правами доступа происходит с помощью команды chmod, управление владельцем файла происходит с помощью команды chown. Синтаксис команд следующий:
Использование команды chown выглядит следующим образом: chown user:group file (-R рекурсивно)
Права доступа к символьным ссылкам
Если посмотреть на права символьных ссылок, то они всегда выглядят так: rwxrwxrwx. Дело в том, что права на символьную ссылку не имеют особого значения. При использования ссылки драйвер файловой системы пересчитывает реальный путь к файлу и применяет права доступа, определенные для реального пути уже без учета символьной ссылки.
Специальные атрибуты
Хотелось бы так же провести аналогию с ОС Windows. В указанной операционной системе права регулируются на основе списков ACL. В Linux тоже такое возможно, это реализуется с помощью пакета acl, но данный вопрос в текущей теме я рассматривать не буду. Еще одно важное замечание! В Windows можно определить права доступа на каталог, и они автоматически распространяются на все файлы и поддиректории (если вы явно не указали иного). В Linux права доступа сохраняются в inode файла, и поскольку inode у каждого файла свой собственный, права доступа у каждого файла свои. Так же, права доступа пользователя и группы не суммируются, как в Windows. Если программа выполняется с правами пользователя и группы, которым принадлежит файл — работают только права хозяина файла.
Исполняемый файл с установленным атрибутом suid является “потенциально опасным”. Без установленного атрибута, файл не позволит обычному пользователю сделать то, что выходит за пределы прав пользователя (пример, программа passwd позволяет пользователю изменить только собственный пароль). Но, даже незначительная ошибка в такой программе может привести к тому, что злоумышленник сможет заставить её выполнить ещё какие-нибудь действия, не предусмотренные автором программы. Стоит очень осторожно относиться к данным атрибутам! Как найти в системе файлы с атрибутом SIUD и др.
При создании новой директории в директории с уже установленным SGID-битом, у созданной директории SGID-бит устанавливается автоматически!
Обозначение атрибутов Sticky, SUID, SGID
Права доступа по-умолчанию для вновь создаваемых объектов файловой системе.
В Linux, при создании какого-либо файла или каталога предоставляемые права определяются по определенному алгоритму (формуле). Не вдаваясь в подробности и для большего понимания сути скажу, что есть исходные права доступа:
Узнать текущий umask можно, введя команду umask без параметров. Пример:
Пользователи и группы в Linux
Различные типы пользователей
В этой главе вы узнаете, как создавать и управлять учетными записями пользователей. Прежде чем углубляться в детали управления пользователями, вы узнаете, как пользователи используются в среде Linux.
Пользователи в Linux
Чтобы получить информацию об учетной записи пользователя, вы можете использовать команду id. При использовании этой команды из командной строки вы можете увидеть подробности о текущем пользователе.
Вы также можете использовать его в других учетных записях пользователей, чтобы получить подробную информацию об этих учетных записях.
Ниже показан пример вывода команды.
Работая как root
Поскольку учетная запись root очень полезна для управления средой Linux, некоторые люди имеют привычку входить в систему как root напрямую. Это не рекомендуется, особенно если вы входите в графическую среду. Когда вы входите в систему как пользователь root в графической среде, все выполняемые задачи также выполняются как пользователь root, что создает ненужную угрозу безопасности. Поэтому вы должны вместо этого использовать один из следующих альтернативных методов. В таблице представлен обзор этих методов.
Использование su
Команда su позволяет пользователям открывать окно терминала и с этого терминала запускать вспомогательную оболочку, в которой у пользователя есть другой идентификатор. Например, для выполнения административных задач вы можете войти в систему с учетной записью обычного пользователя и набрать su, чтобы открыть root-оболочку. Это приносит то преимущество, что только в root-оболочке используются root-привилегии.
Если набрана только команда su, подразумевается имя пользователя root. Но su можно использовать для запуска задач от имени другого пользователя. Например, введите su user, чтобы открыть подоболочку от имени пользователя user. При использовании su в качестве обычного пользователя вам будет предложено ввести пароль, и после ввода вы получите учетные данные целевого пользователя:
Использование sudo
Вместо использования учетной записи root, непривилегированные пользователи могут быть настроены на использование разрешений администратора для определенных задач с помощью sudo. Когда sudo настроен, обычные пользователи имеют привилегии sudo, и для использования этих привилегий они запускают команду с помощью sudo. Таким образом, вместо использования таких команд, как useradd в качестве пользователя root, вы используете обычную учетную запись пользователя и набираете sudo useradd. Это определенно более безопасно, потому что вы сможете действовать так, как если бы у вас были права администратора при выполнении этой конкретной команды.
PolicyKit
Большинство программ администрирования с графическим интерфейсом пользователя используют PolicyKit для аутентификации в качестве пользователя root. Если обычный пользователь не входит в группу доступа wheel, ему будет предложено пройти аутентификацию. Если он входит в группу wheel, откроется приложение PolicyKit.
Пример переключения учетных записей пользователей
Управление аккаунтами пользователей
Теперь, когда вы знаете, как выполнять задачи как пользователь с правами администратора или без прав администратора, настало время научиться управлять учетными записями пользователей в Linux. В этом разделе вы узнаете, что в этом участвует.
Обычные и системные аккаунты
В типичной среде Linux существуют два типа учетных записей пользователей. Существуют учетные записи пользователей, которым необходимо работать на сервере и которым требуется ограниченный доступ к ресурсам на этом сервере. Эти учетные записи обычно имеют пароль, который используется для аутентификации пользователя в системе. Существуют также системные учетные записи, которые используются службами, которые предлагает сервер. Обе учетные записи пользователей имеют общие свойства, которые хранятся в файлах /etc/passwd и /etc/shadow. Ниже показано содержимое файла /etc/passwd.
Как видите, для определения учетной записи пользователя в /etc/passwd используются разные поля. Поля отделены друг от друга двоеточием. Ниже приводится краткое изложение этих полей, а затем краткое описание их назначения.
Имя пользователя (Username): это уникальное имя для пользователя. Имена пользователей важны для соответствия пользователя его паролю, который хранится отдельно в /etc/shadow. В Linux в имени пользователя не должно быть пробелов.
Пароль: в старые времена второе поле /etc/passwd использовалось для хранения хеш-пароля пользователя. Поскольку файл /etc/passwd доступен для чтения всем для пользователей это создает угрозу безопасности, и по этой причине в современных системах Linux пароли хэшей хранятся в /etc/shadow.
UID: каждый пользователь имеет уникальный идентификатор пользователя (UID). Это числовой идентификатор. Именно UID действительно определяет, что может делать пользователь. Когда для пользователя установлены разрешения, UID сохраняется в метаданных файла (а не в имени пользователя). UID 0 зарезервирован для root, неограниченной учетной записи пользователя. Более низкие UID (обычно до 999) используются для системных учетных записей, а более высокие UID (по умолчанию от 1000) зарезервированы для людей, которым необходимо подключить каталог к серверу. Диапазон UID, которые используются для создания учетных записей обычных пользователей, задается в /etc/login.defs.
GID: в Linux каждый пользователь является членом хотя бы одной группы. Эта группа называется основной, и эта группа играет центральную роль в управлении разрешениями.
Поле комментариев (Comment field): поле комментариев, как можно догадаться, используется для добавления комментариев к учетным записям пользователей. Это поле является необязательным, но его можно использовать для описания того, для чего создается учетная запись пользователя. Некоторые утилиты, такие как устаревшая утилита finger, могут использоваться для получения информации из этого поля. Это поле также называется полем GECOS, которое обозначает General Electric Comprehensive Operating System и имело конкретную цель для определения рабочих мест в начале 1970-х годов, когда General Electric была еще важным производителем серверов.
Каталог (Directory): это начальный каталог, в который пользователь помещается после входа в систему, также называемый домашним каталогом. Если учетная запись пользователя используется человеком, именно здесь он будет хранить свои личные файлы и программы. Для системной учетной записи пользователя это среда, в которой служба может хранить нужные файлы во время работы.
Часть пользовательских свойств хранится в /etc/passwd, который только что обсуждался.
Другая часть конфигурации пользовательских свойств находится в /etc/shadow. Настройки в этом файле используются для определения срока действия пароля. Типичным для /etc/shadow является то, что никто, кроме суперпользователя root и процессов, запущенных с правами root, такими как механизмы аутентификации на сервере, не имеет разрешений для доступа к нему, что имеет смысл, так как содержит всю информацию, необходимую для подключения в систему.
Пример содержимого /etc/shadow.
Следующие поля определены в /etc/shadow:
■ Имя для входа: обратите внимание, что /etc/shadow не содержит никаких UID, а только имена пользователей. Это открывает возможность для нескольких пользователей использовать один и тот же UID, но разные пароли (что, кстати, не очень рекомендуется);
■ Зашифрованный пароль: в этом поле содержится все, что необходимо для безопасного хранения пароля;
■ Дни с 1 января 1970 года, когда пароль последний раз изменялся: многие вещи в Linux относятся к этой дате, которая в Linux считается началом дней. Это также упоминается как эпоха;
■ За несколько дней до того, как пароль может быть изменен: это позволяет системным администраторам использовать более строгую политику паролей, когда невозможно сразу вернуться к исходному паролю, если пароль был изменен. Обычно это поле имеет значение 0;
■ Дни, после которых пароль должен быть изменен: в этом поле указан максимальный срок действия паролей. Обратите внимание, что по умолчанию он установлен на 99 999 (около 273 лет);
■ За несколько дней до истечения срока действия пароля пользователь получает предупреждение: это поле используется для предупреждения пользователя о предстоящей смене пароля. Обратите внимание, что по умолчанию установлено значение 7 (даже если срок действия пароля установлен на 99 999 дней!);
■ Через несколько дней после истечения срока действия пароля эта учетная запись отключена: используйте это поле для принудительного изменения пароля. После истечения срока действия пароля пользователи больше не могут входить в систему;
■ Дни с 1 января 1970 года эта учетная запись отключена: администратор может установить это поле, чтобы отключить учетную запись. Обычно это лучший подход, чем удаление учетной записи, поскольку все связанные свойства и файлы этой учетной записи будут сохранены, но больше не могут использоваться для аутентификации на вашем сервере;
■ Зарезервированное поле, которое когда-то было добавлено «для будущего использования»: это было давно; это поле, вероятно, никогда не будет использовано;
Большинством свойств пароля можно управлять с помощью команды passwd или chage, которые обсуждаются далее.
Создание пользователей
Существует множество решений для создания пользователей на сервере Linux. Для начала вы можете отредактировать содержимое файлов /etc/passwd и /etc/shadow напрямую (с риском сделать ошибку, из-за которой вход в систему невозможен для кого-либо; лучше просто этого не делать).
Изменение файлов конфигурации
Использование useradd
Каталог home
Как администратор, вы, как правило, не будете изменять параметры, связанные с домашним каталогом, для системных учетных записей, поскольку они создаются автоматически из сценариев постустановки RPM при установке соответствующих пакетов программного обеспечения. Если у вас есть люди, которым нужна учетная запись пользователя, вы, вероятно, хотите немного управлять содержимым домашнего каталога.
Управление свойствами пользователя
Файлы конфигурации для управления пользователями по умолчанию
При работе с инструментами как useradd предполагаются некоторые значения по умолчанию. Эти значения по умолчанию установлены в двух файлах конфигурации: /etc/login.defs и /etc/default/useradd. Ниже показано содержимое /etc/default/useradd.
Как показано выше файл /etc/default/useradd содержит некоторые значения по умолчанию, которые применяются при использовании useradd.
В файле /etc/login.defs установлены различные переменные, связанные с логином. Этот файл используется различными командами и относится к настройке соответствующей среды для новых пользователей.
Список некоторых наиболее важных свойств, которые можно установить в /etc/login.defs:
MOTD_FILE: Определяет файл, который используется как файл «сообщения дня». В этот файл можно включить сообщения, которые будут отображаться после успешного входа пользователя на сервер.
PASS_MAX_DAYS, PASS_MIN_DAYS и PASS_WARN_AGE: определение свойств срока действия пароля по умолчанию при создании новых пользователей.
UID_MIN: первый UID, который будет использоваться при создании новых пользователей.
CREATE_HOME: указывает, следует ли создавать домашний каталог для новых пользователей.
USERGROUPS_ENAB: установите yes, чтобы создать личную группу для всех новых пользователей. Это означает, что у нового пользователя есть группа с тем же именем, что и пользователь, в качестве группы по умолчанию. Если установлено значение no, все пользователи становятся членами группы users.
Управление свойствами пароля
Чтобы увидеть текущие настройки управления паролями, используйте chage –l.
Создание пользовательской среды
/.profile: специальные настройки для одного пользователя, применяемые при запуске оболочки входа;
/.bashrc: специальные настройки для одного пользователя, применяемые при запуске подоболочки.
При входе в систему файлы читаются в этом порядке, и к ним применяются переменные и другие параметры, определенные в этих файлах. Если переменная или параметр встречаются в более чем одном файле, побеждает последний.
В этом примере вы применяете общие решения для создания учетных записей пользователей.
1. Введите vim /etc/login.defs, чтобы открыть файл конфигурации /etc/login.defs, и измените несколько параметров, прежде чем приступить к настройке параметров файла. Найдите параметр CREATE_HOME и убедитесь, что он установлен на «yes». Также установите параметр USERGROUPS_ENAB на «no», что означает, что новый пользователь добавляется в группу с тем же именем, что и пользователь, и больше ничего;
3. Введите useradd linda, чтобы создать учетную запись для пользователя linda. Затем введите id linda, чтобы убедиться, что linda является членом группы с именем linda и больше ничего. Также убедитесь, что каталоги Pictures и Documents были созданы в домашнем каталоге linda;
4. Используйте passwd linda, чтобы установить пароль для пользователя, которого вы только что создали;
7. Введите grep lori /etc/passwd /etc/shadow/ etc/group. Это покажет, что пользователь lori создан во всех трех критических файлах, и подтверждает, что они были установлены правильно.
Создание и управление аккаунтами групп
Каждый пользователь Linux должен быть членом хотя бы одной группы. В этом разделе вы узнаете, как управлять настройками учетных записей групп Linux.
Группы в Linux
Пользователи Linux могут быть членами двух разных типов групп. Во-первых, есть основная группа. Каждый пользователь должен быть членом основной группы, и существует только одна основная группа. При создании файлов основная группа становится владельцем группы этих файлов. Пользователи также могут получить доступ ко всем файлам, к которым имеет доступ их основная группа. Членство в основной группе пользователей определено в /etc/passwd; сама группа хранится в файле конфигурации /etc/group.
Помимо обязательной первичной группы пользователи также могут быть членами одной или нескольких вторичных групп. Вторичные группы важны для получения доступа к файлам. Если группа, в которую входит пользователь, имеет доступ к определенным файлам, пользователь также получит доступ к этим файлам. Работа со вторичными группами важна, особенно в средах, где Linux используется в качестве файлового сервера, чтобы люди, работающие в разных отделах, могли обмениваться файлами друг с другом.
Создание групп с помощью vigr или groupadd
Как и в случае с созданием пользователей, существуют также различные варианты создания групп.
Файлы конфигурации группы можно изменить напрямую, используя vigr или утилиту командной строки groupadd.
Создание групп с помощью vigr
С помощью команды vigr вы открываете интерфейс редактора непосредственно в файле конфигурации /etc/group. В этом файле группы определены в четырех полях на группу как показано ниже.
Создание групп с помощью groupadd
Управление свойствами группы
Пример работы с группами
В этом примере вы создаете две группы и добавите в эти группы некоторых пользователей.
1. Введите groupadd sales, а затем groupadd account, чтобы добавить группы с именами sales и account.
2. Используйте usermod, чтобы добавить пользователей linda и lisa в группу продаж, а lori и bob в групповую учетную запись:
3. Введите id linda, чтобы убедиться, что пользователь linda правильно добавлен в группу sales. В результатах этой команды вы видите, что Линда назначена группе с gid=100(users). Это ее основная группа. С параметром groups упоминаются все группы, членом которых она является в качестве вторичной группы: