Linux создание пользователя домашний каталог

Содержание
  1. Linux создание пользователя домашний каталог
  2. Полное руководство по использованию команды «useradd» в Linux — 15 практических примеров
  3. Часть I — 10 базовых примеров использования команды «useradd»
  4. 1. Как добавить нового пользователя в Linux
  5. 2. Создание пользователя с нестандартным размещением домашней директории
  6. 3. Создание пользователя с заданным User ID
  7. 4. Создание пользователя с заданным Group ID
  8. 5. Добавление пользователя в несколько групп
  9. 6. Добавление пользователя без домашней директории
  10. 7. Добавление пользовательского аккаунта с ограниченным сроком действия
  11. 8. Создание пользователя с ограниченным временем действия пароля
  12. 9. Добавление различных комментариев к учетной записи
  13. 10. Смена командной оболочки пользователя
  14. Часть II: продвинутые возможности команды useradd
  15. 11. Добавление пользователя с заданными домашней директорией, командной оболочкой и комментариями
  16. 12. Добавление пользователя с заданными домашней директорией, командной оболочкой, комментариями и UID/GID.
  17. 13. Добавление пользователя с домашней директорией, без оболочки, с комментариями и User ID
  18. 14. Добавление пользователя с домашней директорией, skeleton directory, комментариями и User ID
  19. 15. Добавление пользователя без домашней директории, без оболочки, без групп, и с комментариями

Linux создание пользователя домашний каталог

Ядро Linux работает с идентификаторами, присвоенными пользователям. Каждый пользователь имеет личный числовой идентификатор user id или uid , потому что обрабатывать числа для компьютера проще, чем строковые имена пользователей. Отдельная база данных, вынесенная за пределы ядра, связывает текстовое имя пользователя username (аккаунт) , с соответствующими user id. База данных хранит также немало полезной информации о каждом пользователе.

Для создания пользователя надо добавить сведения о нем в базу данных пользователей и создать домашний каталог для него. Также возможна установка начальных файлов настроек.

Большинство дистрибутивов Linux имеют программу для создания пользователей. Хуже то, что такие программы везде разные. Есть две наиболее распространенные команды: adduser и useradd ; возможно применение графического интерфейса. Пользователя можно добавить и в ручном режиме.

База данных о пользователях в Unix системах является текстовым файлом /etc/passwd (называется файл паролей (password file) ), который хранит все имена пользователей и сведения о них. Каждому имени пользователя (логину) соответствует одна строка из семи полей, разделенных двоеточиями:


Имя пользователя в системе (его аккаунт).

Пароль (в зашифрованном виде).

Числовой user id.

Числовой group id.

Полное имя и другие сведения о пользователе.

Login shell (программа, запускаемая при входе в систему).


Формат полей детально описан в man-руководстве на passwd .

Каждый пользователь может читать файл паролей, например для поиска имени другого пользователя. К тому же, такая возможность позволяет разлиным командам показывать имена полльзователей вместо их числовых мдентификаторов. Увы, зашифрованные пароли также доступны на чтение всем. Конечно, они зашифрованы, но теоретически (да и практически, судя по опыту переводчика) это не проблема.

Многие Linux-системы применяют теневые пароли (shadow passwords) . Это альтернативный путь хранения паролей: они пишутся в отдельный файл. /etc/shadow , который доступен уже только для root. Файл /etc/passwd вместо пароля будет во втором поле каждой строки хранить только специальный маркер. Любая программа, которой надо проверять пароли, выполняется с setuid от имени root и может обращаться к затененному файлу паролей. Нормальные программы, которым нужны только другие поля из файла паролей, не смогут получить пароли.

На большинстве систем не имеет значения, что числовые значения идентификаторов пользователя и группы, но если Вы используете сетевую файловую систему (Network filesystem, NFS), Вы должны иметь одни и те же uid и gid на всех системах. Это потому, что NFS также идентифицирует пользователей по числовым uid. Если Вы не используете NFS, Вы можете позволить вашему инструменту создания пользоваьелей выбирать их автоматически.

Если Вы используете NFS, вы должны изобрести механизм для синхронизирования информации о пользователях и группах. Одним из вариантов является система NIS.

Читайте также:  Acer extensa 2519 драйвер windows

Вы должны избегать многократно использовать числовой uid (и текстовое имя пользователя), потому что новый владелец uid (или имени пользователя) может получить доступ к файлам старого владельца (почте, например).

Когда создается домашний каталог для нового пользователя, он инициализируется файлами из каталога /etc/skel . Администратор системы может создавать файлы в /etc/skel , которые будут обеспечивать хорошую заданную по умолчанию среду для пользователей. Например, он мог бы создавать конфигурацию /etc/skel/.profile , которая устанавливает системную переменную EDITOR равной некоторому редактору, который является дружественным к новым пользователям.

Однако, обычно самое лучшее пробовать хранить в /etc/skel как можно меньше, так как будет почти невозможно модифицировать файлы существующих пользователей. Например, если имя дружественного редактора измененится, все существующие пользователи должны будут отредактировать свои .profile . Администратор системы мог бы попробовать сделать это автоматически с применением какого-либо скрипта, но это равнозначно попытке разрушить чей-то файл.

Всякий раз, когда возможно, лучше поместить глобальную конфигурацию в глобальные файлы, типа /etc/profile . Этим путем можно модифицировать все без того, чтобы разрушить собственные установки пользователей.

Чтобы создавать нового пользователя вручную, выполните следующее:


Отредактируйте файл паролей /etc/passwd редактором vipw и добавьте строку для нового пользователя. Будьте внимательным с синтаксисом. Не редактируйте каким попало редактором! vipw блокирует файл, так, чтобы другие команды не пробовали модифицировать его в то же самое время. Вы должны записать в поле пароля ` * ‘ так, чтобы было невозможно войти.

Точно так же редактируйте /etc/group редактором vigr , если надо создать новую группу

Создайте основной каталог пользователя командой mkdir .

Скопируйте файлы из /etc/skel в домашний каталог нового пользователя.

Смените владельца и права доступа для свежесозданных файлов и каталогов командами chown и chmod . Опция -R весьма полезна. Правильные разрешения немного разные для разных систем, но обычно следующие команды делают то, что надо:

Установите пароль командой passwd .

После того, как Вы устанавливаете пароль в последнем шаге, пользователь сможет работать. Вы не должны устанавливать пароль, пока все остальное не сделано, иначе пользователь может неосторожно войти, в то время как вы еще копируете файлы.

Иногда необходимо создать псевдопользователя. Такой пользователь никогда не используется как обычный. Например, чтобы установить анонимный сервер FTP станция (так, чтобы любой мог сгружать и загружать файлы без необходимости иметь логин в системе), Вы должны создать пользователя ftp. В таких случаях, пароль задавать не надо. Значит, файл пароля имеет всю информацию относительно пользователя за исключением его пароля.

Источник

Полное руководство по использованию команды «useradd» в Linux — 15 практических примеров

Все мы знаем об очень популярных в мире Linux командах «useradd» и «adduser». Время от времени администраторы системы используют их для создания пользовательских профилей с какими-либо специфическими свойствами или ограничениями.

Команда «useradd» в Linux или других системах на базе Unix — это низкоуровневая утилита, которая используется для добавления/создания пользовательского аккаунта. Команда «adduser» очень похожа на «useradd», поскольку является просто символьной ссылкой на нее.

Версии команды useradd в некоторых дистрибутивах Linux могут иметь небольшие отличия. Я полагаю, что вы прочитаете документацию своего дистрибутива, перед тем, как начнете экспериментировать.

Когда мы в терминале запускаем команду useradd, происходит следующее:

1. Она редактирует файлы /etc/passwd, /etc/shadow, /etc/group и/etc/gshadow, внося в них нового пользователя.
2. Создается и заполняется домашняя директория для нового пользователя.
3. Устанавливаются права доступа и владелец домашней директории.

Базовый синтаксис команды:

В этой статье мы покажем 15 наиболее часто встречающихся примеров использования команды useradd в Linux. Мы разделим наше повествование на две части:

Часть I: основы с 10 примерами;
Часть II: продвинутые возможности с 5 примерами.

Читайте также:  What is windows shared hosting

Часть I — 10 базовых примеров использования команды «useradd»

1. Как добавить нового пользователя в Linux

Для создания/добавления нового пользователя используется команда «useradd» с аргументом «username», где username — это имя нового пользователя, которое будет использоваться для входа в систему.
За один раз можно добавить только одного пользователя, и его имя должно быть уникальным (то есть отличаться от имен других пользователей, уже существующих в системе).

Например, добавляем пользователя «techmint»:

После выполнения данной команды, новый пользователь будет создан в заблокированном состоянии. Чтобы разблокировать пользовательский аккаунт, необходимо задать его пароль с помощью команды «passwd».

После создания нового пользователя его запись автоматически добавляется в пароль «/etc/passwd» и имеет следующий вид:

Она состоит из семи разделенных двоеточием полей, каждое из которых имеет свое назначение:

Username: имя пользователя, используемое для входа в систему. Может иметь длинц от 1 до 32 символов.
Password: пользовательский пароль (или символ x), который хранится в зашифрованном виде в файле /etc/shadow.
User ID (UID): каждый пользователь должен иметь User ID (UID) — идентификатор пользователя. По умолчанию UID 0 зарезервирован для root, а UID в диапазоне 1-99 для других предопределенных аккаунтов. UID в диапазоне 100-999 предназначены для пользовательских аккаунтов и групп.
Group ID (GID): идентификатор группы — Group ID (GID), хранится в файле /etc/group file.
User Info: это опциональное поле и оно позволяет вам задать дополнительную информацию о пользователе, например полное имя. Это поле заполняется с помощью команды «finger».
Home Directory: абсолютный путь к домашней директории пользователя.
Shell: абсолютный путь к командной оболочке пользователя, например /bin/bash.

2. Создание пользователя с нестандартным размещением домашней директории

По умолчанию команда «useradd» создает домашнюю директорию пользователя в /home и называет ее именем пользователя. Поэтому, например, для приведенного выше примера, мы увидим домашнюю директорию созданного нами пользователя «tecmint» в «/home/tecmint».
Однако это действие можно изменить с помощью опции «-d», указав после нее расположение новой домашней директории. Например, приведенная ниже команда создаст пользователя «anusha» с домашней директорией «/data/projects».

Вы можете просмотреть расположение домашней директории пользователя, а также другую информацию о нем:

3. Создание пользователя с заданным User ID

В Linux каждый пользователь имеет свой собственный UID (Unique Identification Number). По умолчанию при создании нового пользователя ему присваивается userid 500, 501, 502 и т.д.
Но мы можем создать пользователя с заданным userid с помощью опции «-u». Например, приведенная ниже команда создает пользователя «navin» с userid «999».

Теперь мы можем проверить, что пользователь создан действительно с этим идентификатором.

Замечание: Обратите внимание, что user ID должен отличаться от user ID пользователей, уже существующих в системе.

4. Создание пользователя с заданным Group ID

Аналогично, каждый пользователь имеет свой GID (Group Identification Number). Мы можем создавать пользователей с заданным group ID с помощью опции -g.

В этом примере мы добавим пользователя «tarunika» с заданными UID и GID:

Проверим, правильно ли сработала команда:

5. Добавление пользователя в несколько групп

Опция «-G» используется для добавления пользователя в дополнительные группы. Названия групп разделяются запятой без пробелов.
В приведенном ниже примере мы добавляем пользователя «tecmint» в группы admins, webadmin и developer.

Теперь проверим, в каких группах числится пользователь, с помощью команды id.

6. Добавление пользователя без домашней директории

В некоторых ситуациях мы не хотим, по соображениям безопасности, давать пользователям домашние директории. В таком случае, когда пользователь авторизуется в системе сразу после ее запуска, его домашней директорией будет root. Если такой пользователь использует команду su, то он авторизуется в домашней директории предыдущего пользователя.
Для создания пользователя без домашней директории используется опция «-M». Например, создадим пользователя «shilpi» без домашней директории.

Читайте также:  Windows programs in order

Давайте проверим, что пользователь создан без домашней директории, с помощью команды ls:

7. Добавление пользовательского аккаунта с ограниченным сроком действия

По умолчанию, когда мы добавляем пользователя с помощью команды «useradd», его аккаунт не имеет сроков действия, то есть дата истечения сроков его жизни установена в 0 (никогда не истекает).
Однако мы можем установить дату истечения с помощью опции «-e», задав дату в формате YYYY-MM-DD. Это полезно при создании временных аккаунтов для каких-то конкретных задач.
В приведенном ниже примере мы создаем пользователя «aparna» со сроком жизни его аккаунта до 27 апреля 2015 года в формате YYYY-MM-DD.

Далее, проверяем сроки действия аккаунта и пароля с помощью команды «chage».

8. Создание пользователя с ограниченным временем действия пароля

Аргумент «-f» используется для того, чтобы задать количество дней, через которое пароль перестанет действовать. По умолчанию его значение равно -1, при этом время действия пароля не ограничивается.
В примере мы задаем для пользователя «tecmint» время действия пароля 45 дней с помощью опций «-e» и «-f».

9. Добавление различных комментариев к учетной записи

Опция «-c» позволяет вам добавлять произвольные комментарии, такие как полное имя пользователя или его номер телефона, в файл /etc/passwd. Например, следующая команда добавляет пользователя «mansi» и вставляет в поле комментария его полное имя Manis Khurana.

Вы можете просмотреть комментарии в файле ‘/etc/passwd’ с помощью команды:

10. Смена командной оболочки пользователя

Иногда мы добавляем пользователей, которые никогда не работают с командными оболочкми, или могут использовать другие командные оболочки. Мы можем задать отдельную оболочку для любого пользователя с помощью опции «-s».
В примере мы добавляем пользователя «tecmint» без командной оболочки, то есть задаем оболочку «/sbin/nologin».

Вы можете проверить командную оболочку пользователя с помощью команды:

Часть II: продвинутые возможности команды useradd

11. Добавление пользователя с заданными домашней директорией, командной оболочкой и комментариями

Приведенная ниже команда создает пользователя «ravi» с домашней директорией «/var/www/tecmint», командной оболочкой «/bin/bash» и дополнительной информацией о пользователе.

В этой команде опция «-m -d» создает пользователя с заданной домашней директорией, а опция «-s» задает командную оболочку, т.е. /bin/bash. Опция «-c» добавляет дополнительную информацию о пользователе, а опция «-U» создает/добавляет группу с тем же именем, что и у пользователя.

12. Добавление пользователя с заданными домашней директорией, командной оболочкой, комментариями и UID/GID.

Эта команда очень похожа на предыдущую, но здесь мы определяем оболочку как «/bin/zsh», и задаем UID и GID для пользователя «tarunika». Здесь «-u» задает новый UID пользователя (т.е. 1000), а «-g» задает GID (т.е. 1000).

13. Добавление пользователя с домашней директорией, без оболочки, с комментариями и User ID

Следующая команда очень похожа на две предыдущие, единственное отличие в том, что мы отключаем командную оболочку для пользователя «avishek» с заданным User ID (т.е. 1019). Это значит, что пользователь «avishek» не сможет авторизоваться в системе из командной оболочки.

14. Добавление пользователя с домашней директорией, skeleton directory, комментариями и User ID

Единственное, что меняется в этой команде, мы используем опцию «-k», чтобы задать skeleton directory, то есть /etc/custom.skel, а не умолчательную /etc/skel. Мы также используем опцию «-s», чтобы задать отдельную оболочку /bin/tcsh.

15. Добавление пользователя без домашней директории, без оболочки, без групп, и с комментариями

Приведенная ниже команда отличается от показанных ранее. Здесь мы используем опцию «-M», чтобы создать пользователя без домашней директории, и «-N», чтобы создать только пользователя (без группы). Аргумент «-r» используется для создания системного пользователя.

Источник

Оцените статью