Назад | Перейти на главную страницу

Запустить локальный сценарий bash на нескольких удаленных машинах

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

Есть ли что-то, что мы можем сделать, чтобы этот сценарий извлекал IP-адреса из файла hosts.txt (запускает сценарий на нескольких серверах) один за другим и создавал пользователя на сервере. Кроме того, нам нужно быть пользователем root для запуска этого сценария.

1. запросите пароль один раз и используйте его в сценарии для остальной части сценария, где это необходимо. 2. войдите как обычный пользователь. 3. стать пользователем root и запустить скрипт

#!/bin/bash

#Script to Add User

read -p 'Please Enter The Username To Add: ' name
echo "$name" > /tmp/userlist.txt
clear
echo -e "Hallo $name\nYour Name Is Added To The List."
userfile=/tmp/userlist.txt
username=$(cat /tmp/userlist.txt | tr 'A-Z' 'a-z')
for user in $username
do
useradd $user -N -s /bin/bash
usermod -aG sudo $user
passwd $user
done
echo "=================================="

echo "User $name Have Been Created."

echo "=================================="
tail /etc/passwd | cut -d: -f1