Скрипт добавления пользователей linux

Содержание
  1. Три способа создать учетную запись пользователя в Linux
  2. Как создать учетные записи пользователей в Linux с помощью команды useradd?
  3. Как создать учетные записи пользователей в Linux с помощью команды adduser?
  4. Как создать массовые учетные записи пользователей в Linux с помощью команды newusers?
  5. Как создать несколько учетных записей пользователей в Linux с помощью команды useradd скриптом оболочки?
  6. Создание пользователя в Linux. Команды adduser и useradd
  7. В чем отличия adduser и useradd?
  8. Команда adduser
  9. Создание пользователя командой adduser
  10. Команда useradd
  11. Синтаксис команды useradd
  12. Создание нового пользователя
  13. Создание нового пользователя с домашней директорией в /home
  14. Создание нового пользователя с произвольной домашней директорией
  15. Создание нового пользователя с произвольными UID, GID
  16. Создание пользователя с указанием оболочки (shell)
  17. Создать пользователя и добавить его в группы
  18. Заключение
  19. Как автоматически добавить учетную запись пользователя и пароль с помощью скрипта Bash?
  20. 19 ответов
  21. BASH создание пользователя из скрипта

Три способа создать учетную запись пользователя в Linux

Создание учетной записи пользователя – это одна из основных задач администратора Linux, которую все знают.

Зачем мы пишем статью об этом?

Мы собираемся показать вам что-то особенное в этой статье.

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

Это поможет вам выполнить вашу задачу более эффективно и быстро.

Мы должны выполнять эту задачу всякий раз, когда новый сотрудник присоединяется к нашей организации.

Но вам не нужно создавать учетную запись для нового сотрудника, если система Linux интегрирована с AD для единого входа (SSO).

Однако вам необходимо назначить пользователя в соответствующей локальной группе на основе его роли и отдела.

Всем известно, что пользовательская информация находится в файле /etc/passwd.

Это текстовый файл, который содержит важную информацию о каждом пользователе.

Когда мы создаем нового пользователя, новые данные пользователя будут добавлены в этот файл.

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

  • /etc/passwd: информация о пользователе будет обновлена ​​в этом файле.
  • /etc/shadow: информация о пароле пользователя будет обновлена ​​в этом файле.
  • /etc/group: информация о группе будет обновлена ​​для нового пользователя в этом файле.
  • /etc/gshadow: информация о пароле группы будет обновлена ​​для нового пользователя в файле.

Это можно сделать с помощью трех команд.

  • useradd: создайте нового пользователя или обновите информацию о новом пользователе по умолчанию.
  • adduser: создайте нового пользователя со всеми параметрами по умолчанию или обновите информацию о новом пользователе.
  • newusers: обновляйте и создавайте новых пользователей в пакетном режиме.

Как создать учетные записи пользователей в Linux с помощью команды useradd?

Команда useradd создает новую учетную запись пользователя, используя значения по умолчанию, которые были указаны в выходных данных команды useradd -D.

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

Если вы создаете новую учетную запись, вы должны установить пароль для этой учетной записи. Используйте команду passwd для установки пароля.

Как создать учетные записи пользователей в Linux с помощью команды adduser?

adduser не является стандартной командой Linux.

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

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

Кроме того, она добавляет пароль для пользователя при создании.

Как создать массовые учетные записи пользователей в Linux с помощью команды newusers?

Команда newusers читает данный файл и использует эту информацию для обновления набора существующих пользователей или для создания новых.

Каждая строка имеет тот же формат, что и стандартный файл паролей.

Читайте также:  Windows 10 xml не открывается

Перед выполнением этого нам нужно получить последние GID и UID из файла passwd.

Создайте файл с именем user-add.txt и детали должны быть в следующем формате.

Каждая пользовательская строка должна быть в отдельной строке.

Я добавил пять пользователей в файл. Перечислите пользователей с помощью команды cat.

Запустите команду newusers с именем файла, чтобы создать несколько пользователей в системе Linux.

Мы можем дважды подтвердить это, выполнив следующую команду.

Как создать несколько учетных записей пользователей в Linux с помощью команды useradd скриптом оболочки?

Используйте приведенный ниже скрипт, если вы хотите создать несколько пользователей в системе Linux.

Я добавил ниже трех пользователей в файл.

Используйте любую файловую команду, чтобы вывести список пользователей, которые были в файле.

Создайте следующий небольшой скрипт для достижения этой цели.

Установите исполняемое разрешение для файла user-add.sh.

Наконец, запустите скрипт.

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

Источник

Создание пользователя в Linux. Команды adduser и useradd

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

Для создания пользователей из командной строки обычно используют утилиты adduser или useradd. Рассмотрим, использование данных утилит.

В чем отличия adduser и useradd?

useradd — это низкоуровневая утилита для создания пользователей в Linux.

adduser — представляет собой более простое решение для создания пользователей и по факту является надстройкой над useradd, groupadd и usermod.

Утилита adduser доступна не во всех дистрибутивах Linux. Реализация adduser также может отличаться. Если в дистрибутиве присутствует утилита adduser, то для создания пользователей рекомендуется использовать именно ее.

Команда adduser

Создание пользователя командой adduser

Рассмотрим, как создать обычного пользователя командой adduser

Чтобы создать нового пользователя, выполняем команду adduser и указываем имя пользователя (вместо pupkin укажите имя пользователя, которого вы создаете):

После запуска данной команды, вы должны ввести пароль для нового пользователя. Затем будет предложено ввести дополнительную информацию о пользователе: имя, номер комнаты (кабинета), телефоны и комментарий. Вводить эту информацию необязательно. Просто нажимайте Enter , чтобы пропустить ввод данных.

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

  • Создается новый пользователь с именем, которое вы указали при выполнении команды.
  • Создается группа с тем же именем.
  • Создается домашний каталог пользователя в директории /home/имяпользователя
  • В домашний каталог копируются файлы из директории /etc/skel

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

Команда useradd

Синтаксис команды useradd

Команда useradd принимает в качестве аргумента имя пользователя, а также различные опции.

Синтаксис команды следующий:

Создание нового пользователя

Чтобы просто создать пользователя используется команда useradd без каких-либо опций. Указывается только имя пользователя.

Данная команда создает нового пользователя с системными параметрами по умолчанию, которые прописаны в файле /etc/default/useradd

Чтобы пользователь мог войти в систему, необходимо задать для него пароль. Для этого используем команду:

Создание нового пользователя с домашней директорией в /home

Создадим пользователя и его домашнюю директорию.

Домашняя директория создается по умолчанию в каталоге /home . Имя директории совпадает с именем пользователя.

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

Чтобы создать пользователя с домашней директорией, расположенной в произвольном месте, используется опция -d , после которой указывается путь до директории. Директорию необходимо создать заранее.

Создаем домашнюю директорию для будущего пользователя:

Копируем файлы и директории, которые по умолчанию создаются в домашней директории пользователя в данной системе. Данные файлы находятся в директории /etc/skel

Создаем пользователя и указываем домашнюю директорию:

Меняем права доступа у домашней директории:

Задаем пароль для пользователя:

Можно просмотреть информацию о пользователе, которая сохранена в файле /etc/passwd

Создание нового пользователя с произвольными UID, GID

Каждый пользователь в Linux имеет свой числовой идентификатор — UID, а также идентификатор основной группы пользователя — GID.

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

Создание пользователя с указанием оболочки (shell)

По умолчанию новые пользователи создаются с оболочкой /bin/sh Чтобы задать другую оболочку, используется опция -s /путь/до/оболочки

Создать пользователя и добавить его в группы

Обычно пользователи в Linux принадлежат нескольким группам. Чтобы при создании нового пользователя задать группы, к которым он будет принадлежать, используется опция -G список,групп

Заключение

Мы рассмотрели примеры создания нового пользователя в Linux с использованием команд adduser и useradd . Команда adduser более простая и в большинстве случаев рекомендуется использовать именно ее.

Источник

Как автоматически добавить учетную запись пользователя и пароль с помощью скрипта Bash?

мне нужно иметь возможность создавать учетные записи пользователей на моем Linux (Fedora 10) и автоматически назначать пароль через скрипт bash(или иначе, если это необходимо).

легко создать пользователя через Bash, например:

можно ли назначить пароль в Bash, что-то функционально похожее на это, но автоматически:

19 ответов

вы можете запустить команду passwd и отправить ее по конвейеру. Итак, сделайте что-нибудь вроде:

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

Итак, вы меняете пароль для to new_password .

Я задавал себе тот же вопрос и не хотел полагаться на скрипт Python. Это строка для добавления пользователя с определенным паролем в одну строку bash:

ниже код работал в Ubuntu 14.04. Попробуйте, прежде чем использовать его в других версиях / Linux.

мне понравился подход Тралемонки echo thePassword | passwd theUsername —stdin хотя это не совсем Работа для меня, как написано. Это, однако, сработало для меня.

-e — это признать \n как новую строку.

sudo — это права доступа root для Ubuntu.

двойные кавычки признать $ и разверните переменные.

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

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

одинарных кавычек должно хватить здесь.

следующее работает для меня и протестировано на Ubuntu 14.04. Это один вкладыш который не требует никакого входного сигнала потребителя.

взято из @Tralemonkey

вы можете использовать опцию-P.

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

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

пару предупреждения, о которых нужно знать.

  1. пока pcrypt работает, открытый текст будет виден любому пользователю с помощью команды ps.
  2. pcrypt использует функцию крипты старого стиля — Если вы используете что-то более современное, как хэш MD5, вам нужно будет изменить pcrypt.

—stdin не работает в Debian. Он говорит:

Это сработало для меня:

здесь мы можем найти некоторые другие хорошие стороны:

вы можете использовать expect в своем скрипте bash.

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

черт, на всякий случай, если кто-то хочет сделать это на старом HPUX вы можете использовать usermod.sam .

The-F требуется только в том случае, если человек, выполняющий сценарий, является текущим пользователем. Конечно, вам не нужно использовать Perl для создания хэша. Вы можете использовать openssl или многие другие команды вместо него.

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

Источник

BASH создание пользователя из скрипта

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

Для начала внимательно читаем man useradd:

-p passwd The encrypted password as returned by crypt(3).

хм,не понял, я же передаю параметр а не достаю его.

Я не понял этой фразы.

Объясняю: ты передаешь в useradd тот пароль, что пользователь ввёл с клавиатуры. Ты же не думаешь, что пользователь введёт уже зашифрованный пароль?

А за это надо руки отрывать. А если в системе есть пользователь ‘abcxuser’? Правильно так:

Это тоже. А если юзер ввёл пустой пароль? Скрипт вылетит с ошибкой. Правильно так:

Здесь тоже нужны кавычки на всякий случай и ‘-eq’ для сравнения чисел:

Ты же не думаешь, что пользователь введёт уже зашифрованный пароль?

Разве useradd воспринимает только шифрованные пароли? это новость. 🙂 век живи век учись. Надо как то привязать mkpasswd или использовать какой то алгоритм для передачи хеша пароля?

postinst.sh: строка 18: [: eq: ожидается использование бинарного оператора

Разве useradd воспринимает только шифрованные пароли? это новость. 🙂

Я же говорю: внимательно читаем ман. А еще четыре звезды.

Надо как то привязать mkpasswd

Значит, $PLINE почему-то пуст.

звезды ничего не значат.

getent passwd $username >/dev/null && echo «$usename already exists!» || adduser $username

нет просто, правильно -eq. 🙂

я сразу не заметил, сорри.

>нет просто, правильно -eq

Там как бы и написано ‘-eq’.

от perl еще не успел отойти, мешанина в голове.

внезапно: создание пользователя из скрипта. Пароль — plaintext’ом. newusers конвертит созданный файлик с юзерами в нужный формат (т.е., шифрует пароли, распихивает данные в /etc/ и т.п.)

Может и прокатит — я просто вытащил строчки из одного своего старого скрипта. Там создавалось несколько пользователей, потом они обрабатывались через newuser в чруте

Ну и набыдлокодил я 🙂

неа не прокатило.

>Как бы теперь шифрованный пароль передавать

А просто создать пользователя без пароля через useradd, а потом вызвать ‘passwd xuser’, чтобы пользователь ввёл пароль, не подходит?

можно конечно, но хотелось сделать через параметры $PASSWD.

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

Задать пароль можно с помощью chpasswd:

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

> Как бы теперь шифрованный пароль передавать, конструкции а-ля md5($passwd) не подходят?

Чем не устраивает первый вариант с newusers?

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

Да не надо паранойи. Чрут тут ещё зачем-то.

use pwgen, Luke! и таки да

а по-поводу первого вопроса:

Да не надо чрут, я ж писал — это пример из моего старого скрипта. Ключевая команда: newusers.

Это аналогично md5pass ?

нет в стандартном наборе убунты 🙁

так поставь, про md5pass ниразу не слышал. mkpasswd есть в default install.

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

вот кусок моего скрипта для автоматического создания пользователей на сервере:
[quote]
# make pass
PASS=`/usr/bin/pwgen -s1 10` #generate pass(10 symbols)
echo $PASS >$PSWF #файл лежащий хз где и «root:root 600»
echo $PASS >>$PSWF

# make user account
useradd -m $USER -d $HOMEROOT/$USER -s /bin/false
cat $PSWF | passwd $USER 2>/dev/null
[/quote]

Источник

Читайте также:  C windows system32 taskeng exe
Оцените статью