@lxst
Нужно написать скрипт который будет создавать нового пользователя user_[N+1]
#!/bin/bash
N = $(($N+1))
sudo useradd user_$N -p pass_$N
echo "User added!"
Буду рад любой помощи!
Решения вопроса 1
@xotkot
такое ощущение что условие неполное, поэтому немного усложню, а при желании вы легко можете упростить скрипт до нужного результата
Предположим что нужно создать N пользователей(от 1 до N) и задать пароль к ним и всё это с соответствующей числовой приставкой . То есть, написать скрипт который на вход получает базовое имя и пароль, а также количество пользователей которых нужно создать.
допустим имя скрипта будет luser.sh
Предположим что нужно создать N пользователей(от 1 до N) и задать пароль к ним и всё это с соответствующей числовой приставкой . То есть, написать скрипт который на вход получает базовое имя и пароль, а также количество пользователей которых нужно создать.
допустим имя скрипта будет luser.sh
#!/usr/bin/env bash
USER=$1 # базовая часть имени пользователя
PASS=$2 # базовая часть пароля
N=$3 # количество пользователей
for (( i = 1; i <= $N; i++ )); do
useradd "${USER}_$i" && $(echo "${USER}_$i:${PASS}_$i" |chpasswd)
echo "User ${USER}_$i added!"
done
пример работы скрипта:
$ sudo ./luser.sh user pass 3
User user_1 added!
User user_2 added!
User user_3 added!
проверим что пользователи с основанием в имени user действительно создались:
$ grep -e "^user" /etc/passwd
user_1:x:1314:1314::/home/user_1:/bin/bash
user_2:x:1315:1315::/home/user_2:/bin/bash
user_3:x:1316:1316::/home/user_3:/bin/bash
Комментировать
Ответы на вопрос 2
@shambler81
#!/bin/bash
for ((i=1; i < 10; i++))
do
echo $i
done
@MadridianFox
Хотелось бы побольше подробностей, потому что не совсем ясно как будет использоваться скрипт и, соответственно, что именно он должен делать.
Предположу, что при вызове скрипта должен создаваться один новый пользоваетль с шаблонным именем.
Т.е. нужно как-то из системы получить список таких пользователей, найти последнего, взять из него цифру и увеличить на один.
Если обязательно нужен именно монотонно возрастающий номер, то примерно вот так:
Предположу, что при вызове скрипта должен создаваться один новый пользоваетль с шаблонным именем.
Т.е. нужно как-то из системы получить список таких пользователей, найти последнего, взять из него цифру и увеличить на один.
Если обязательно нужен именно монотонно возрастающий номер, то примерно вот так:
lastUserSuffix=$(cat /etc/passwd | awk 'BEGIN {FS=":"}; {print $1}' | grep systemd | sort -n | sed 's/systemd-//' | tail -1)
Я тут ищу пользователей с именем systemd-***, думаю вам не составит труда изменить пример для своих целей.