将常规 unix 用户添加到 whm 以使用 cPanel

将常规 unix 用户添加到 whm 以使用 cPanel

尽管服务器上已经安装了 cPanel,但我一直使用 useradd 在 CentOS 服务器上创建用户帐户。出于某些原因,我使用命令创建它们,而不是使用 WHM。

现在,他们中的一些人想要使用 cPanel 的丰富功能。使用 cPanel 添加这些帐户而无需通过 WHM 重新创建它们的最佳解决方案是什么?

答案1

当您运行“创建帐户向导”时,cPanel 会创建一大堆配置文件,因此手动执行此过程可能比使用向导更耗时且繁琐。话虽如此,如果您只需要担心每个用户的主目录数据,您可以轻松地编写一个 Bash 脚本(如下所示 :))来将主目录数据移开(例如 /home/user.bak),终止帐户(userdel -r user),创建帐户,最后将数据移回。请注意,如果用户的主目录包含 cPanel 目录架构下的 Web 内容,则需要将该内容移入~/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

相关内容