ПРЕДПОЛОЖЕНИЯ:
У меня есть файл с именем users.txt.
username:password:groups
user1:password:group1,group2,group3
user2:password:group3
user3:password:group1,group3
user4:password:group2,group3
КОД
#!/bin/bash
FILENAME="users.txt"
while IFS=':' read USERNAME PASSWORD GROUPS
do
echo "USERNAME" $USERNAME "PASSWORD" $PASSWORD "GROUPS" $GROUPS
done < "$FILENAME"
Я хочу иметь возможность добавить группу пользователей, чтобы иметь возможность делиться samba. У меня есть полный список пользователей для ввода. У меня трудности в основном с группами.
Два самых больших вопроса: как получить группы как одну строку и как зашифровать пароль.
Я прошел все уроки на этом сайте, и ни один из них не работает.
Простой для понимания код действительно поможет. Спасибо.
ОБНОВЛЕН ГОТОВЫЙ РАБОЧИЙ ПРИМЕР
#!/bin/bash
# set filename
FILENAME="users.txt"
# loop through file
while IFS=':' read USERNAME PASSWORD GROUPNAMES
do
# add user and assign groups
echo " "
echo "ADDING USER: " $USERNAME
useradd $USERNAME -G $GROUPNAMES
# add password
echo -e "$PASSWORD\n$PASSWORD\n" | passwd $USERNAME
# add user to samba
echo -e "$PASSWORD\n$PASSWORD\n" | smbpasswd -a $USERNAME
done < "$FILENAME"