Михаил

смена паролей скриптом

добрый день! 

пытаюсь массово сменить пароли скриптом 

for user in `cat /root/1.txt`
do
pw=$(pwgen -s 16 1)
/usr/local/mgr5/sbin/mgrctl -m ispmgr user.edit name=$user passwd=$pw confirm=$pw sok=ok
/usr/local/mgr5/sbin/mgrctl -m ispmgr ftp.user.edit name=$user owner=$user passwd=$pw confirm=$pw sok=ok
echo -e "$user  $pw" >> /root/p.txt
done

получаю ошибку 

ERROR exists(user): User with 'new' already exists
ERROR exists(ftp_users): FTP user with 'new' already exists

что нужно добавить чтобы сработало ?

22.05.2025 16:35

IgorG

Ошибка указывает, что скрипт, похоже, пытается зарегистрировать нового пользователя вместо редактирования существующего.

В первую очередь убедитесь, что в файле /root/1.txt:

  • все имена пользователей перечислены корректно,
  • нет пустых строк,
  • нет строк с пробелами или символами, которые не являются частью имени пользователя.

Ну и вместо name=$user должно быть elid=$user Подробности в документации посмотрите: https://www.ispmanager.ru/docs/ispmanager/ispmanager-api

23.05.2025 02:26

Михаил

спасибо! так сработало

for user in `cat /root/1.txt`
do
pw=$(pwgen -s 16 1)
/usr/local/mgr5/sbin/mgrctl -m ispmgr user.edit elid=$user passwd=$pw confirm=$pw sok=ok
/usr/local/mgr5/sbin/mgrctl -m ispmgr ftp.user.edit elid=$user owner=$user passwd=$pw confirm=$pw sok=ok
echo -e "$user  $pw" >> /root/p.txt
done

23.05.2025 06:31