ECS云服务器学习笔记(一)
基于ECS搭建FTP服务
一、创建资源
云产品资源下拉菜单中,查看本次实验资源。并单击免费开通,创建所需资源。
二、远程连接ECS服务器(本次实验我使用的是Xhell5)
新建连接以后,把弹性IP以及用户密码输入到会话中并连接到该服务器
三、安装vsftpd
1. 运行以下命令安装vsftpd
yum install -y vsftpd
返回以下界面以后,表示安装成功
2. 运行以下命令设置FTP服务器开机自启动
systemctl enable vsftpd.service
3. 启动FTP服务
systemctl start vsftpd.service
4. 运行以下命令查看FTP服务监听的端口
netstat -antup | grep ftp
出现以下界面后,表示FTP服务已启动,监听的端口为21。此时,vsftpd默认已开启匿名访问功能
四、配置vsftpd
匿名用户模式
1.修改配置文件vsftpd.conf。
vim /etc/vsftpd/vsftpd.conf
按 i 建进入编辑模式,将匿名上传权限 anon_upload_enable=YES 的注释解开
2.按ECS键退出编辑模式,输入 :wq 保存并退出 vim。
3.更改 /var/ftp/pub目录的权限,为FTP用户添加写入权限。
chomd o+w /var/ftp/pub/
4.重启FTP服务。
systemctl restart vsftpd.service
-
本地用户模式
1.为FTP服务创建一个Linux用户。 adduser ftptest 为用户设置密码。 passwd ftptest
2.创建一个供FTP服务使用的文件目录。
mkdir /var/ftp/test
3.更改 /var/ftp/test 目录的拥有者为ftptest
chown -R ftptest:ftptest /var/ftp/test
4.修改 vsftpd.conf 配置文件。
配置FTP为主动模式请执行如下命令:
sed -i 's/anonymous_enable=YES/anonymous_enable=NO/' /etc/vsftpd/vsftpd.conf #禁止匿名登录FTP服务器
sed -i 's/listen=NO/listen=YES/' /etc/vsftpd/vsftpd.conf #监听IPv4 sockets
sed -i 's/listen_ipv6=YES/#listen_ipv6=YES/' /etc/vsftpd/vsftpd.conf #关闭监听IPv6 sockets
sed -i 's/#chroot_local_user=YES/chroot_local_user=YES/' /etc/vsftpd/vsftpd.conf #全部用户被限制在主目录
sed -i 's/#chroot_list_enable=YES/chroot_list_enable=YES/' /etc/vsftpd/vsftpd.conf #启用例外用户名单
sed -i 's/#chroot_list_file=/chroot_list_file=/' /etc/vsftpd/vsftpd.conf #指定例外用户列表文件,列表中的用户不被锁定在主目录
echo "allow_writeable_chroot=YES" >> /etc/vsftpd/vsftpd.conf
echo "local_root=/var/ftp/test" >> /etc/vsftpd/vsftpd.conf #设置本地用户登录后所在的目录
配置FTP为被动模式请执行如下命令:
echo "pasv_enable=YES" >> /etc/vsftpd/vsftpd.conf #开启被动模式
echo "pasv_address=<FTP服务器公网IP地址>" >> /etc/vsftpd/vsftpd.conf #本教程中为ECS服务器弹性IP
echo "pasv_min_port=20" >> /etc/vsftpd/vsftpd.conf #设置被动模式下,建立数据传输可使用的端口范围的最小值
echo "pasv_max_port=21" >> /etc/vsftpd/vsftpd.conf #设置被动模式下,建立数据传输可使用的端口范围的最大值
5.在 /etc/vsftpd 目录下创建 chroot_list 文件,并在文件中写入例外用户名单。
[root@iZuf6hc9ky50i3r559us8kZ ~]# cd /etc/vsftpd
[root@iZuf6hc9ky50i3r559us8kZ vsftpd]# ls
ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh
[root@iZuf6hc9ky50i3r559us8kZ vsftpd]# touch chroot_list
[root@iZuf6hc9ky50i3r559us8kZ vsftpd]# ls
chroot_list ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh
[root@iZuf6hc9ky50i3r559us8kZ vsftpd]# vim chroot_list
ftptest
#使用vim命令编辑chroot_list文件,添加例外用户名单。此名单中的用户不会被锁定在主目录,可以访问其他目录。
vim /etc/vsftpd/chroot_list
说明: 没有例外用户时,也必须创建chroot_list文件,内容可为空。
6.重启 FTP 服务。
systemctl restart vsftpd.service
五、客户端测试
FTP客户端、Windows命令行工具或浏览器均可用来测试FTP服务器。(此步骤仅适用于本地用户,匿名模式无需进行测试操作)
说明:用浏览器访问FTP服务器出错时,建议您清除浏览器缓存后再尝试。
1.打开Chrom浏览器,在地址栏中输入ftp://:FTP端口,FTP服务器公网IP地址为ECS服务器的弹性IP地址。例如:ftp://139.0.0.1:21。
2.在弹出的对话框中,输入用户名和密码。
3.登录成功界面如下,此时可对FTP文件进行相应权限的操作。