Я написал некоторый код, который позволил бы мне создать группу пользователей на основе файла с именами пользователей. Но в конечном итоге он сократился с нескольких строк до 50, и я удалил его. Должен быть лучший путь, и я застрял.
Моя цель - создать bash-скрипт, который бы создавал несколько пользователей с паролями, пользовательским UID и добавлял их в группы. Может ли кто-нибудь показать мне пример сценария, который бы сделал это?
Откройте терминал и тип:
sudo newusers /tmp/userlist.txt
В файле userlist.txt, каждая строка должна содержать пользовательские данные в следующем синтаксисе:
username:password:User ID:Group ID:Comments:Userhome directory:User shell
, Так как файл userlist.txt содержит пароли пользователей, он не должен быть сохранен в человекочитаемой форме после того, как Вы закончили создавать новых пользователей. Мой совет состоит в том, чтобы сохранить userlist.txt в файле, который шифруется с сильным паролем, и затем после того, как Вы хранили зашифрованный файл userlist.txt надежно, для удаления исходного файла userlist.txt из /tmp
каталог так, чтобы никто не мог считать пароли пользователя как простой текст.
Для получения дополнительной информации о синтаксисе newusers
тип команды:
man newusers
В результатах человека для newusers
поле GECOS также известно как поле комментария для пользователя.
Проверка /etc/passwd
файл, чтобы видеть, создаются ли новые пользователи. Простой способ сделать это состоит в том, чтобы показать список только имен пользователей (Существует менее ненужная информация для чтения того пути.) использование команды:
cut -d: -f1 /etc/passwd
Вам будет нужно , инструмент pwgen для создания случайных паролей
Делает файл (users.txt) с именами пользователей разграниченный с \n:
userA
userB
userC
Запись сценарий удара, который читает из stdin:
while read user
do
password=$(pwgen -N 1)
sudo useradd $user -m -s /bin/bash
sudo passwd $user $password
echo Created $user with password $password
done
Наконец, назовите сценарий: кошка users.txt |/bin/bash my_script.sh