Я пытаюсь разработать сценарий оболочки, который создает новых пользователей в машине linux. Где имя пользователя и пароль извлекаются из файла конфигурации. Может ли кто-нибудь помочь мне создать скрипт, который создает пользователей со всеми именами пользователей в файле конфигурации.Сценарий оболочки для создания пользователей Linux, где имя пользователя и пароль считываются из файла конфигурации
Моего конфигурационного файл содержит (myconf.cfg)
username="tempuser"
password="passXXX"
username="newuser"
password="ppwdXXX"
.....
.....
username="lastuser"
password="pass..."
Использования сценария Я пытаюсь создать пользователь с вышеперечисленным именем пользователя и паролем. Сценарий:
#!/bin/sh
echo "Reading config...." >&2
. /root/Downloads/guest.cfg
pass=$(perl -e 'print crypt($ARGV[0], "password")' $password)
sudo useradd -m -p $pass $username -s /bin/bash
Я могу создать только 1 пользователя с этим скриптом (то есть с последним). Может ли кто-нибудь помочь мне изменить скрипт и файл конфигурации, чтобы он создавал всех пользователей, упомянутых в файле конфигурации. Моя цель - сохранить неповрежденный сценарий и вносить изменения только в файл конфигурации. Сценарий должен иметь возможность создавать «N» количество пользователей, перечисленных в файле конфигурации.
Заранее спасибо.
, я хочу, чтобы улучшить сценарий так, чтобы при создании пользователя я могу передать группу также. я буду использовать useradd -m -p $ pass $ username -g $ usergroup -s/bin/bash. мой файл конфигурации guest.cfg также будет содержать информацию о группе пользователей. т.е. usergroup = guest и список имени пользователя и пароля, который был там ранее. Когда я попробовал команду sed, которую вы предложили, цикл while не работает. Можете ли вы предоставить решение – Adhz
, я хочу улучшить скрипт, чтобы при создании пользователя я мог также передать группу. я буду использовать useradd -m -p $ pass $ username -g $ usergroup -s/bin/bash. мой файл конфигурации guest.cfg также будет содержать информацию о группе пользователей. т.е. usergroup = guest и список имени пользователя и пароля, который был там ранее. Когда я попробовал команду sed, которую вы предложили, цикл while не работает. Можете ли вы предложить решение - – Adhz