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

背景:
公司需要一个ftp的文件服务器来进行文件的上传和下载。利用公司原来的的centos阿里云搭建了一个ftp服务器,最近买了个带gpt4.0的AI工具,想测试以下,能否更高效的辅助我完成服务的搭建。
因为用的centos是服务器,我们服务器很多时候可以做bash脚本来帮我们自动完成一系列的操作,我就直接对AI说帮我做一个bash脚本自动安装配置ftp,AI就自动生成脚本的脚本内容如下:

#!/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做了一个脚本是创建用户名的,内容如下

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

相关推荐

  1. centosftp踩坑记录

    2024-04-08 16:06:02       25 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-08 16:06:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-08 16:06:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-08 16:06:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-08 16:06:02       18 阅读

热门阅读

  1. C++ STL中Queue和Stack的用法

    2024-04-08 16:06:02       13 阅读
  2. ElasticSearch 常用查询优化方式

    2024-04-08 16:06:02       11 阅读
  3. Nginx基础(03)

    2024-04-08 16:06:02       13 阅读
  4. 顺序表(C语言)

    2024-04-08 16:06:02       12 阅读
  5. 室内设计专业MR混合现实情景实训教学系统应用

    2024-04-08 16:06:02       11 阅读
  6. 渗透测试漏洞之XSS漏洞

    2024-04-08 16:06:02       8 阅读
  7. Electron 是一个流行的框架

    2024-04-08 16:06:02       13 阅读
  8. 冶炼金属 二分法 十四届蓝桥杯省赛真题B组

    2024-04-08 16:06:02       15 阅读