Я использовал useradd для создания учетной записи пользователя на моем сервере CentOS, хотя на сервере была установлена cPanel. По некоторым причинам я создал их по команде, а не с помощью WHM.
Теперь некоторые из них хотят использовать богатые возможности cPanel. Какое здесь лучшее решение для добавления этих учетных записей с помощью cPanel без повторного создания их с помощью WHM?
cPanel создает целый набор файлов конфигурации, когда вы запускаете Мастер создания учетной записи, поэтому выполнение этого процесса вручную, вероятно, будет более трудоемким и утомительным, чем использование мастера. При этом, если у вас есть только данные домашнего каталога, о которых нужно беспокоиться для каждого пользователя, вы можете легко собрать сценарий Bash (как тот, что ниже :)), чтобы переместить данные домашнего каталога в сторону (скажем, / home / user.bak), убиваем аккаунт (userdel -r user
), создайте учетную запись и, наконец, переместите данные обратно. Обратите внимание, что если домашний каталог пользователя содержит веб-контент, в схеме каталога cPanel этот контент необходимо переместить в ~/public_html
.
Вот очень простой сценарий bash, который берет список учетных записей из текстового файла и выполняет то, что я упоминал выше. Обратите внимание, что текстовый файл отформатирован domain.com:user
поскольку cPanel не создаст учетную запись без доменного имени. Вам придется настроить это сопоставление вручную при создании этого файла или придумывать способ создания сценария с использованием awk / grep из существующей конфигурации. Сценарий также создает пароль для всех учетных записей temppass - не забудьте его изменить! :)
#!/bin/bash
# Replace this with the file you use
FILE=/root/acctlist
for USER in `awk -F':' {'print $2'} $FILE`
do
mv /home/$USER /home/$USER.bak
userdel -r $USER
DOMAIN=`grep $USER|awk -F':' {'print $1'}`
/scripts/createacct $DOMAIN $USER temppass
cp -a /home/$USER.bak/* /home/$USER/
#Uncomment this if you're sure you want to remove the old dir
# rm -rf /home/$USER.bak
done