Создать пользователя linux centos

Как добавить и удалить новых пользователей в CentOS

Когда вы устанавливаете свежую версию ОС CentOS или любой другой Linux, то вам изначально доступен только один пользователь с именем root. root — это суперпользователь, который имеет полный доступ ко всем параметрами и конфигурациям ОС. Использовать учетную запись root рекомендуется
только в особых случаях, т.к. это способствует случайному совершению деструктивных и необратимых ошибок, исправить которые будет крайне сложно. Чтобы этого избежать рекомендуется создать на сервере как минимум еще одного пользователя и наделить его правами root, а использовать права root лишь тогда когда это потребуется при помощи команды — sudo .

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

Как создать нового пользователя

Чтобы быстро добавить нового пользователя с логином, например username, выполните следующую команду.

При создании логина пользователя в CentOS можно использовать не более 32 знаков (a-z,A-Z,0-9,_,-). Имя логина не может начинаться с цифры. Хорошей практикой принято считать использование не более 8 символов, это позволит добиться большей совместимости со старыми программами, которые не принимают логины пользователей с количеством символов больше 8.

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

Команда adduser представляет собой perl-скрипт, позволяющий создавать пользователей в более удобной форме. Аналогом данной команды является — useradd . useradd является более низкоуровневой по отношению к системе, а также уступает команде adduser в некоторых возможностях.

Как создать пароль к учетной записи.

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

Если вдруг пользователь забыл свой пароль, то этой же командой можно установить новый пароль, а старый пароль будет сброшен.

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

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

  • Логин: johndoe
  • Имя пользователя: John Doe
  • Имя домашней директории: /home/Johnny
  • Пароль: klsKWR23 (пароль необходимо передавать в зашифрованном виде)
  • Группа: wheel (группа пользователей с правами root, в Ubuntu эта группа называется sudo)
Читайте также:  Устройство жестких дисков линукс

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

adduser johndoe -c «John Doe» -d /home/Johnny -G wheel -p «$(python -c ‘import crypt; print(crypt.crypt(«klsKWR23″, crypt.mksalt(crypt.METHOD_SHA512)))’)»

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

Как создать множество новых пользователей из списка

В linux можно создавать сразу несколько пользователей за раз с помощью команды newusers . Для этого вам понадобится список пользователей в текстовом файле. Формат списка должен совпадать с форматом записи файла /etc/passwd (подробнее о нем далее в статье). Единственное отличие это указание реального пароля во втором параметре. Учтите, что команда newusers не создает в домашнем каталоге стандартные файлы для всех пользователей, определенные в каталоге /etc/skel .

Для примера возьмем следующий список пользователей (students.txt), которых необходимо добавить в систему.

janedoe:DSsdf34l:3000:3000:Jane Doe,Southern Office,777-777,676-676:/home/janedoe:/bin/bash
johndoe:rTH421lp:3001:3001:John Doe,Eastern Office,888-888,878-878:/home/johndoe:/bin/bash

Теперь создадим пользователей из списка.

Как изменить информацию о пользователе

Для редактирования данных об учетной записи используется команда usermod. Посмотрим какие данные можно изменить с помощью usermod.

Изменение логина. Имя директории и остальные данные не изменятся.

Изменение домашней директории.

С остальными возможностями команды usermod можно ознакомится в мануале команды.

Как заблокировать учетную запись

Блокировка учетной записи не позволит пользователю зайти в свою учетную запись. В файле /etc/passwd в поле пароля появиться знак !! , который символизирует о блокировки пароля.

Также важно изменить оболочку пользователя на /sbin/nologin в ней указано сообщение о недоступности учетной записи.

[root@centos ~ ] # passwd -l johndoe
Locking password for user johndoe.
passwd: Success
[root@centos ~ ] # usermod -s /sbin/nologin johndoe
[root@centos ~ ] # su -l johndoe
Last login: Sat May 27 21:25:29 MSK 2017 on :4
Last failed login: Thu Jun 21 19:51:12 MSK 2018 from :0 on :0
There were 6 failed login attempts since the last successful login.
This account is currently not available.
Для разблокировки воспользуйтесь следующей командой.

Также верните прежнюю оболочку.

[root@centos ~ ] # passwd -u johndoe
Unlocking password for user johndoe.
passwd: Success
[root@centos ~ ] # usermod -s /bin/bash johndoe
[root@centos ~ ] # su -l johndoe
Last login: Tue Jun 26 23:03:02 MSK 2018 on pts/0
[johndoe@centos ~ ]

Как удалить пользователей

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

Для полноценного удаления пользователя желательно выполнить все представленные ниже шаги.

#Шаг 1: Удаление прав пользователя

Убедитесь что в файле /etc/sudoers у удаленного пользователя не осталось записей о правах.

Например если удаленный пользователь имел права root, то найдите и удалите запись:

#Шаг 2: Найти и удалить все процессы пользователя

Узнаем идентификаторы процессов, которые были запущены пользователем.

[root@centos ~ ] # pgrep -u johndoe
3973
4518

Узнаем название запущенных процессов по их идентификаторам.

[root@centos ~ ] # ps -f —pid $(pgrep -u johndoe)
johndoe 3973 8 22:13 ? Sl 0:01 /usr/lib64/firefox/plugin-container
johndoe 4518 1 1 22:13 ? Dl 0:00 /usr/bin/gedit —gapplication-service

Читайте также:  Mysql jdbc driver linux

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

Если у вас не оказалось команды killall , то установите пакет psmisc с помощью yum.
yum install psmisc

#Шаг 3: Сохранение файлов пользователя (back up)

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

[root@centos ~ ] # tar jcvf /user-backups/johndoe-homedir-backup.tar.bz2 /home/johndoe
tar: Removing leading `/’ from member names
/home/johndoe/
/home/johndoe/.bash_logout
/home/johndoe/.bash_profile
/home/johndoe/.bashrc
/home/johndoe/.mozilla/
/home/johndoe/.mozilla/extensions/
/home/johndoe/.mozilla/plugins/
/home/johndoe/.cache/
[root@centos ~ ] # ls /user-backups/
johndoe-homedir-backup.tar.bz2

#Шаг 4: Удаление пользователя и его домашнего каталога

Чтобы удалить учетную запись пользователя достаточно выполнить команду.

Чтобы удалить еще и домашний каталог пользователя нужно добавить флаг -r .

Список пользователей — /etc/passwd

Список всех созданных пользователей хранится в текстовом файле — /etc/passwd

Открыть список пользователей можно также следующей командой.

Формат данных в файле /etc/passwd выглядит следующим образом.

Формат записи файла - /etc/passwd

  1. Логин пользователя: используется для входа в учетную запись. Длина логина не должна превышать 32 символа.
  2. Пароль: если вместо пароля стоит символ «x», то это означает, что пароль зашифрован и хранится в файле /etc/shadow . Сам хеш пароля создается при создании пароля с помощью команды passwd
  3. Идентификатор пользователя (UID): при создании нового пользователя ему присваивается идентификатор — 32 битовое целое число (UID). Для пользователя root всегда используется идентификатор со значением 0. Идентификаторы в пределах 1-9 зарезервированы для предопределенных аккаунтов. UID в пределах 100-999 зарезервированы для прочих системных аккаунтов.
  4. Идентификатор основной группы (GID): — 32 битовое целое число. Учетная может принадлежать одной основной группе. Доступные группы и пользователей, которые к ним причислены можно увидеть в файле /etc/group.
  5. Контактная информация: добавляется с помощью команды chfn .
    5.1 Полное имя пользователя
    5.2 Рабочий адрес
    5.3 Рабочий номер телефона
    5.4 Домашний номер телефона
  6. Домашняя директория пользователя: полный путь директории в которую попадет пользователь после входа в учетную запись. Если директория не будет указана, то по умолчанию домашней директорией становится корень — / .
  7. Командная оболочка: полный путь к файлу командной оболочки. Изменить оболочку можно с помощью команды chsh .

Данные о паролях пользователей — /etc/shadow

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

Формат файла /etc/shadow выглядит следующим образом.

  1. Имя пользователя (логин)
  2. Пароль в зашифрованном виде: если стоит . то пароль не был создан. Формат пароля — $id$salt$hash . $id показывает каким методом был зашифрован пароль:
    $1 — MD5.
    $2a — Blowfish.
    $2y — Blowfish.
    $5 — SHA-256.
    $6 — SHA-512 (наиболее предпочтительный).
  3. Количество прошедших дней (начиная с 01.01.1970) после последнего изменения пароля.
  4. Количество дней, до смены пароля (0 означает, что менять пароль можно в любой день).
  5. Срок использования пароля в днях (число дней до следующей смены пароля)
  6. Количество дней, в течении которых пользователь будет получать уведомления о смене пароля.
  7. Число дней после окончания срока действия пароля, когда пользователь еще может войти в свою учетную запись. Если пароль не сменить, после данного срока, то аккаунт будет заблокирован.
  8. Количество дней (начиная с 01.01.1970), после которых пароль будет заблокирован.
  9. Зарезервировано для использования в будущем.
Читайте также:  Как сменить обои linux

Чтобы перевести число прошедших дней от 01.01.1970 (например 17701) в обычную дату (19.06.2018) воспользуйтесь командой.

Группы пользователей

В Linux нескольких пользователей можно объединять в группы. Чаще всего группы используются для наделения членов группы определенными правами и организации совместного доступа к файлам.

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

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

Узнать к каким группам принадлежит тот или иной пользователь.

Узнать группы текущего пользователя.

Узнать идентификаторы групп пользователя.

Узнать идентификаторы текущего пользователя.

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

Создание новой группы пользователей.

Удаление группы пользователей

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

Удаление пользователя из группы.

Список групп — /etc/group

Список групп хранится в файле — /etc/group . Чтобы просмотреть все имеющиеся в системе группы можно просто заглянуть внутрь /etc/group .

или воспользоваться следующей командой.

Формат записи данных в файле /etc/group .

Формат записи файла - /etc/group

  1. Имя группы.
  2. Пароль группы: если стоит x, значит пароль зашифрован и хранится в файле — /etc/gshadow .
  3. Идентификатор группы (GID): 32 битовое число.
  4. Список пользователей, которые состоят в группе.

Полезные команды относящиеся к учетным записям

— узнать имя текущего пользователя

— перейти к редактированию файла /etc/passwd в редакторе по умолчанию.

— перейти к редактированию файла /etc/shadow в редакторе по умолчанию.

— перейти к редактированию файла /etc/group в редакторе по умолчанию.

— перейти к редактированию файла /etc/sudoers в редакторе по умолчанию.

Файлы и каталоги, полезные в работе с учетными записями

Файлы

  • /etc/sudoers — настройки прав пользователей.
  • /etc/login.defs — параметры конфигурации для adduser.
  • /etc/passwd — информация о пользователях системы.
  • /etc/shadow — информация о зашифрованных паролях для всех пользователей.
  • /etc/group — информация о группах пользователей.
  • /etc/gshadow — информация о паролях для групп.
  • /etc/default/useradd — значения по умолчанию при создании учетной записи
  • /etc/shells — список доступных командных оболочек.

Каталоги

  • /etc/skel — здесь хранятся данные, которые будут скопированы в домашнюю директорию нового пользователя при его создании. В файле .bash_profile можно настроить оболочку bash для всех новых пользователей (добавить алиасы, настроить цветовую схему, параметры по умолчанию и т.п.).

Понравилась статья? Расскажите о ней друзьям!

Источник

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