ECS进阶学习第一天
什么是FTP协议:
FTP(File Transfer Protocal),是用于Internet上的控制文件的双向传输的协议。用于互联网双向传输,控制文件下载空间在服务器复制文件从本地计算机或本地上传文件复制到服务器上的空间。
FTP协议的用途:
搭建FTP服务器等
今天要实验的内容:
基于ECS搭建FTP服务
NO.1创建资源
- 在页面左侧,单击 云产品资源 下拉菜单,查看本次实验资源。
- 单击 免费开通 创建所需资源。
NO.2远程连接ECS服务器
1.打开系统安装的ssh连接工具,我这里使用的是xshell,你也可以使用windows自带的ssh连接工具连接
2.在主机处填写ECS服务器的ip,名称自拟。
3.选择用户身份验证选项,填写服务器对应的账户名和密码
4.点击连接即可,登陆成功后显示如下信息
NO.3安装vsftpd
1.系统环境为centos 运行 yum install -y vsftpd来安装vsftpd程序
系统环境为ubuntu 运行 apt install vsftpd 来安装vsfptd程序
2.运行以下命令设置FTP服务开机自启动。
systemctl enable vsftpd.service
3.启动FTP服务。
systemctl start vsftpd.service
4.运行以下命令查看FTP服务监听的端口。
netstat -antup | grep ftp
出现如下图所示界面,表示FTP服务已启动,监听的端口号为 21。此时,vsftpd默认已开启匿名访问功能,您无需输入用户名密码即可登录FTP服务器,但没有修改或上传文件的权限。
NO.3配置vsftpd
1.使用vim编辑器,修改配置文件vsftpd.conf,在命令窗口输出 vim /etc/vsftpd/vsftpd.conf
2.按i进入编辑模式,删除anon_upload_enable=YES的注释
3.按ESC键退出编辑模式,输入:wq 保存并退出vim
4.在命令窗口输出以下命令,更改/var/ftp/pub目录的权限,为FTP用户添加写权限。
chmod o+w /var/ftp/pub/
5.重启FTP服务。
systemctl restart vsftpd.service
6.为FTP服务创建一个Linux用户。
adduser ftptest
为用户设置密码。
passwd ftptest
7.创建一个供FTP服务使用的文件目录。更改/var/ftp/test目录的拥有者为ftptest。
mkdir /var/ftp/test
chown -R ftptest:ftptest /var/ftp/test
8.修改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 #设置本地用户登录后所在的目录
9.重启FTP服务。
systemctl restart vsftpd.service
输入用户名密码即可。