基于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分析也可以给一些思路。会提问确实很省事。

相关推荐
远游客07134 小时前
centos stream 8下载安装遇到的坑
linux·服务器·centos
LIKEYYLL6 小时前
GNU Octave:特性、使用案例、工具箱、环境与界面
服务器·gnu
云云3217 小时前
搭建云手机平台的技术要求?
服务器·线性代数·安全·智能手机·矩阵
云云3217 小时前
云手机有哪些用途?云手机选择推荐
服务器·线性代数·安全·智能手机·矩阵
CircleMouse7 小时前
Centos7, 使用yum工具,出现 Could not resolve host: mirrorlist.centos.org
linux·运维·服务器·centos
木子Linux8 小时前
【Linux打怪升级记 | 问题01】安装Linux系统忘记设置时区怎么办?3个方法教你回到东八区
linux·运维·服务器·centos·云计算
不惑_8 小时前
小白入门 · 腾讯云轻量服务器部署 Hadoop 3.3.6
服务器·hadoop·腾讯云
阿甘知识库9 小时前
宝塔面板跨服务器数据同步教程:双机备份零停机
android·运维·服务器·备份·同步·宝塔面板·建站
zhou周大哥10 小时前
linux 安装 ffmpeg 视频转换
linux·运维·服务器
loong_XL11 小时前
服务器ip:port服务用nginx 域名代理
服务器·tcp/ip·nginx