基于AI的centos系统FTP服务器搭建

背景:

公司需要一个ftp的文件服务器来进行文件的上传和下载。利用公司原来的的centos阿里云搭建了一个ftp服务器,最近买了个带gpt4.0的AI工具,想测试以下,能否更高效的辅助我完成服务的搭建。

因为用的centos是服务器,我们服务器很多时候可以做bash脚本来帮我们自动完成一系列的操作,我就直接对AI说帮我做一个bash脚本自动安装配置ftp,AI就自动生成脚本的脚本内容如下:

bash 复制代码
#!/bin/bash

# Update system repositories and packages
echo "Updating system packages..."
yum update -y

# Install vsftpd
echo "Installing vsftpd..."
yum install vsftpd -y

# Backup original vsftpd configuration
echo "Backing up original vsftpd configuration file..."
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.orig

# Disable anonymous FTP access
echo "Disabling anonymous FTP access..."
sed -i 's/anonymous_enable=YES/anonymous_enable=NO/' /etc/vsftpd/vsftpd.conf

# Allow local users to access FTP service
echo "Allowing local users to access FTP service..."
sed -i 's/local_enable=NO/local_enable=YES/' /etc/vsftpd/vsftpd.conf

# Enable write permission
echo "Enabling write permissions for local users..."
sed -i 's/write_enable=NO/write_enable=YES/' /etc/vsftpd/vsftpd.conf

# Set up passive mode options
echo "Setting up passive mode options..."
echo "pasv_min_port=40000" >> /etc/vsftpd/vsftpd.conf
echo "pasv_max_port=40100" >> /etc/vsftpd/vsftpd.conf

# Start and enable vsftpd service
echo "Starting vsftpd service..."
systemctl start vsftpd
systemctl enable vsftpd

# Adjust firewall
echo "Adjusting firewall settings..."
firewall-cmd --zone=public --add-service=ftp --permanent
firewall-cmd --reload

echo "FTP server setup is complete."

看了以下挺全面的就,自己拷贝的空白文件,加上执行权限执行了,执行的时候,貌似很顺利,实际用的时候发现,ftp的用户还没有创建,还需要创建一个ftp用户,这时又让AI做了一个脚本是创建用户名的,内容如下

bash 复制代码
#!/bin/bash

# User and password definitions
FTP_USER="OTA"
FTP_PASSWORD="msbota168" # Replace this with a strong password

# Add system user for FTP access
if ! id "$FTP_USER" &>/dev/null; then
    # Add user with no login shell and specified home directory
    useradd -m -s /sbin/nologin -d /home/$FTP_USER $FTP_USER

    # Set the password for the user
    echo "$FTP_USER:$FTP_PASSWORD" | chpasswd

    echo "User $FTP_USER added successfully."
else
    echo "User $FTP_USER already exists."
fi

# Specific configurations for vsftpd:
# Make sure that vsftpd is installed and the vsftpd.conf configuration file has the following lines:
# local_enable=YES
# chroot_local_user=YES
# This enables local users to log in and confines them to their home directories.

# Restart the vsftpd service to apply changes
systemctl restart vsftpd

echo "FTP user $FTP_USER setup complete."

把内容拷贝到脚本里面,加执行权限,执行也没有太大的问题。但是使用工具来登录ftp的时候你会发现,缺少文件,因为文件路径都是默认的,需要创建对应的文件,

使用工具连的时候你会发现工具报如下问题
1.could not read chroot() list file:/etc/vsftpd/chroot_list

打开vsftpd.conf你会找到chroot_list_file=/etc/vsftpd/chroot_list,这个是默认没有创建的,需要创建,可以用如下命令

sudo touch /etc/vsftpd/chroot_list

sudo chmod 644 /etc/vsftpd/chroot_list

2.vsftpd: refusing to run with writable root inside chroot()

需要在vsftpd.conf最后添加allow_writeable_chroot=YES

3.could not be opened by server: 553 Could not create file.

这个是文件夹权限问题,需要把ftp目录权限目录改为777,方便使用。

成功

总的来说并没有一步到位,应该还是提问方式问题,应该可以持续完善提问,得到一个最终的脚本。一开始只想着建个服务器,忘记说用户名了,这个就没有做ftp用户名添加脚本也遇到了一些小的问题,不过可以把报错内容发给ai分析也可以给一些思路。会提问确实很省事。

相关推荐
lolo大魔王9 小时前
Linux 文件系统超全面详解(原理、结构、挂载、分区、inode、日志、管理命令)
linux·运维·服务器
古月方枘Fry12 小时前
MGRE实验
运维·服务器
博客-小覃12 小时前
Zabbix之华为交换机的日志记录信息操作详细教程
服务器·网络·华为·zabbix
stolentime12 小时前
FreeDomain 本地开发环境快速搭建指南
运维·服务器·网络
向量引擎13 小时前
从零起步,如何打造专属向量引擎 API 中转工作流?
java·服务器·前端
z2005093013 小时前
【Linux学习】Linux中的进程程序替换
linux·服务器·学习
lihao lihao15 小时前
软硬链接
linux·运维·服务器
TOWE technology15 小时前
智能安防监控系统如何做好防雷?——视频信号SPD综合应用方案解析
运维·服务器·防雷产品·信号保护·信号防雷·spd
雪度娃娃15 小时前
存储器层次结构——磁盘硬盘存储
服务器·网络·数据库·计算机组成原理
大明者省16 小时前
IIS 端口绑定正常访问的原理说明与常见误区澄清
运维·服务器·笔记