Курсовая работа: Управление учетными записями пользователей
# Чтение строки входных данных.
# Формат входного файла:
# имя_пользователя : имя фамилия
# Чтобы в качестве разделителя использовалась запятая, замените
# IFS=":$IFS" на IFS=",$IFS"
while IFS=":$IFS" read username realname: do
# Сначала удаляем пустые строки и комментарии
case "Susername" in
'' | \#*) continue ;
esac
# Чтение /etc/passwd и /etc/group и вычисление
# следующих свободных значений UID and GID.
# Программа начинает с {id=1000}, измените для своей системы
id=$({ getent passwd; getent group: } | cut -f3 -d: | sort -un
awk 'BEGIN { id=1000 }
$1 == id { id++ }
$1 > id { print id: exit }')
# Добавление новых пользователей в /etc/group и /etc/passwd.
# Создание домашних каталогов командой chmod 700
# Все параметры groupadd, useradd и chmod
# можно изменить в соответствии со спецификой системы.
groupadd -g $id $username
useradd -m -c "$realname" -g $username -u $id $username
chmod 700 /home/$username
# Назначение пароля. Для этой цели вызывается другой сценарий
# mass_passwd, который может использоваться независимо.
# Сценарий mass_passwd выводит имя пользователя, пароль
# и идентификатор пользователя.
$(dirname $0)/lmass_passwd -M $username