• Регистрация
Поделиться в соц.сетях

Как установить всем пользователям ISPmanager доступ к ssh с помощью API?

0 голосов
3,245 просмотров
Для импорта пользователей из ISPmanager4 в ISPmanager5 надо включить всем пользователям shell. Как это сделать сразу сотне-другой пользователей?
спросил 10 Окт, 14 от аноним

1 Ответ

0 голосов
 
Лучший ответ

Если всей кучей, то "однострочник" на bash получается таким:

for i in `/usr/local/ispmgr/sbin/mgrctl -m ispmgr user | awk '{print $1}' | awk -F= '{print $2}'`; do echo -n "/usr/local/ispmgr/sbin/mgrctl -m ispmgr user.edit "; /usr/local/ispmgr/sbin/mgrctl -m ispmgr user.edit elid=$i |tr '\n' ' ' |tr -d '\n'; echo "shell=on sok=ok"; done|bash

 

если разобрать по частям:

командой

/usr/local/ispmgr/sbin/mgrctl -m ispmgr user | awk '{print $1}' | awk -F= '{print $2}'

получаем список всех пользователей

командой

echo -n "/usr/local/ispmgr/sbin/mgrctl -m ispmgr user.edit "

начинаем формировать запрос по API для изменения параметров каждого пользователя.

командой

/usr/local/ispmgr/sbin/mgrctl -m ispmgr user.edit elid=$i |tr '\n' ' ' |tr -d '\n';

выводим список всех параметров для каждого пользователя и форматируем из данных в виде таблицы в один столбик:

/usr/local/ispmgr/sbin/mgrctl -m ispmgr user.edit elid=user
name=user
disklimit=0
domain
preset=custom
phpmod=on
bandwidthlimit=100000000
baselimit=1
baseuserlimit=1
domainlimit=1
ftplimit=1
maildomainlimit=1
maillimit=10
mailrate=0
webdomainlimit=1

в полный запрос к ISPmanager, согласно документации, такого плана

/usr/local/ispmgr/sbin/mgrctl -m ispmgr user.edit elid=user name=user disklimit=0 shell=on domain=domain preset=custom phpmod=on php=on bandwidthlimit=100000000 baselimit=4 baseuserlimit=1 domainlimit=1 ftplimit=1 maildomainlimit=1 maillimit=10 mailrate=0 webdomainlimit=1

и уже командой:

echo "shell=on sok=ok"

добавляем новый параметр и окончание запроса. после чего скармливаем сформированные запросу снова командной оболочке bash.

 

ответил 10 Окт, 14 от vadim s. sabinich (5,440 баллов)
выбран 10 Окт, 14 от vadim s. sabinich
...