我正在尝试开发一个脚本来自动在我的服务器上设置一个新的虚拟主机域,我在我的服务器上有一个自定义设置,它为每个域提供用户名和密码,但没有外壳访问权限。(这是使用系统用户对 vsftpd 所做的)它还在 /var/www/sites/"domainname.com" 中创建一个目录,其中包含所有默认文件。然后为虚拟主机创建了一个 /etc/apache2/sites-available/domaindname.com Apache Conf 文件。这个脚本出错了,但看起来好像完成了所有事情。不过,我希望错误消失。
#!/bin/bash
#\
args=("$@")
# Copy Site Hosting Directory
cp -a /var/www/sites/skeleton /var/www/sites/${args[0]}
# Copy Apache Config File
cp -a "/etc/apache2/sites-available/skeleton" "/etc/apache2/sites-available/$1"
# Replace 'skeleton' with '$1' in config file
sed -i "s/skeleton/$1/g" /etc/apache2/sites-available/$1
# Create User
useradd -d /var/www/sites/$1 -s /usr/sbin/nologin $1
chown -R $1:www-data /var/www/sites/$1
chmod -R 0775 /var/www/sites/$1
# Set new password for user
exec expect -f $0 ${1+"$@"}
set password [lindex $argv 1]
spawn passwd [lindex $argv 0] …
Run Code Online (Sandbox Code Playgroud)