Назад | Перейти на главную страницу

Добавьте обычного пользователя unix в WHM, чтобы использовать cPanel

Я использовал 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