ubuntu

Ubuntu vsftpd自动化脚本编写

小樊
52
2025-03-20 11:31:55
栏目: 智能运维

在Ubuntu系统中,使用vsftpd(Very Secure FTP Daemon)作为FTP服务器时,可以通过编写自动化脚本来简化配置和管理过程。以下是一个基本的示例,展示如何编写一个自动化脚本来安装、配置和启动vsftpd服务。

自动化脚本示例

#!/bin/bash

# 更新包列表
sudo apt-get update

# 安装vsftpd
sudo apt-get install -y vsftpd

# 备份原始的vsftpd配置文件
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak

# 创建一个新的vsftpd配置文件
cat <<EOF | sudo tee /etc/vsftpd.conf
# 基本设置
listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

# 用户列表设置
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO

# PAM认证设置
auth required pam_shells.so
auth required pam_unix.so
account required pam_unix.so
EOF

# 创建用户列表文件
echo "ftpuser" | sudo tee /etc/vsftpd.userlist

# 创建chroot目录
sudo mkdir -p /var/run/vsftpd/empty

# 设置chroot目录权限
sudo chown root:root /var/run/vsftpd/empty
sudo chmod 755 /var/run/vsftpd/empty

# 重启vsftpd服务
sudo systemctl restart vsftpd

# 启用vsftpd服务开机自启
sudo systemctl enable vsftpd

echo "vsftpd has been installed and configured successfully."

脚本说明

  1. 更新包列表:使用sudo apt-get update更新包列表,确保安装的是最新版本的vsftpd。
  2. 安装vsftpd:使用sudo apt-get install -y vsftpd安装vsftpd。
  3. 备份原始配置文件:使用sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak备份原始配置文件,以便在需要时恢复。
  4. 创建新的配置文件:使用cat <<EOF | sudo tee /etc/vsftpd.conf创建一个新的vsftpd配置文件,并添加所需的配置项。
  5. 创建用户列表文件:使用echo "ftpuser" | sudo tee /etc/vsftpd.userlist创建一个用户列表文件,并添加需要允许FTP访问的用户。
  6. 创建chroot目录:使用sudo mkdir -p /var/run/vsftpd/empty创建chroot目录,并设置其权限。
  7. 重启vsftpd服务:使用sudo systemctl restart vsftpd重启vsftpd服务,使配置生效。
  8. 启用开机自启:使用sudo systemctl enable vsftpd启用vsftpd服务开机自启。

使用脚本

  1. 将上述脚本保存为一个文件,例如setup_vsftpd.sh
  2. 赋予脚本执行权限:
    chmod +x setup_vsftpd.sh
    
  3. 运行脚本:
    sudo ./setup_vsftpd.sh
    

运行脚本后,vsftpd将会被安装并配置好,允许指定的用户通过FTP访问服务器。

0
看了该问题的人还看了