项目目录

  • ftp使用场合
  • ftp的作用
  • ftp属性
  • FTP服务配置
  • ftp基本安装
  • FTP设置匿名账号登录
  • FTP服务启动不了的一个解决办法
  • FTP设置允许本地用户登录
  • FTP及脚本部署
  • FTP设置匿名账号登录
  • FTP设置允许本地用户登录


ftp使用场合

用于文件的传输

ftp的作用

用于文件的上传和下载。

ftp属性

  • 属于tcp协议
  • 端口号:20,21
  • 21:控制层面,用于账户密码验证,权限的验证。
  • 20:数据层面,用于文件上传和下载。
  • ftp登录:匿名、系统、虚拟账户。

FTP服务配置

ftp基本安装

1、安装vsft服务

[root@ftp ~]# yum -y install vsftpd

2、给共享目录设置属主和属组用于匿名登录

[root@ftp ~]# chown -R ftp.ftp /var/ftp/pub

3、给共享目录设置访问权限

[root@ftp ~]# chmod -R 755 /var/ftp/pub

4、出创建一个文件用于客户机测试

[root@ftp ~]# echo "123456abc" > /var/ftp/pub/a1

FTP设置匿名账号登录

1、修改配置文件
[root@ftp ~]# vim /etc/vsftpd/vsftpd.conf

anonymous_enable=YES		#允许匿名账号登录
write_enable=YES				#允许本地账号写入权限
anon_umask=022					#设置匿名账号的权限为755
anon_upload_enable=YES			#允许匿名账号上传文件
anon_mkdir_write_enable=YES		#允许匿名账号新建文件
anon_other_write_enable=YES		#允许匿名账号其他写入权限
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

2、开启vsftp服务

[root@ftp ~]# systemctl start vsftpd

3、查看服务器是否启动

[root@ftp ~]# netstat -anptu|grep vsftpd

FTP服务启动不了的一个解决办法

  • 如果配置文件里每条命令后面有空格也启动不了服务
  • 解决办法:使用vim编辑配置输入 :set list查看每条命令后面是否有多的空格

FTP设置允许本地用户登录

1、修改配置文件

[root@ftp ~]# /etc/vsftpd/vsftpd.conf
#echo "local_enable=YES				#允许本地用户登录
#write_enable=YES					#允许本地用户写入权限
#local_umask=022					#设置本地用户权限为755
#chroot_local_user=YES				#本地用户只允许登录在宿主目录下
#allow_writeable_chroot=YES			#允许宿主目录写入权限
#userlist_enable=YES				#启用用户列表
#userlist_deny=NO					#只允许用户列表里的用户登录
#dirmessage_enable=YES
#xferlog_enable=YES
#connect_from_port_20=YES
#xferlog_std_format=YES
#listen=YES
#pam_service_name=vsftpd
#userlist_enable=YES
#tcp_wrappers=YES"

2、创建一个用户并设置密码

[root@ftp ~]# useradd lisi
[root@ftp ~]# echo "123456"|passwd --stdin lisi

3、给用户添加到白名单里

[root@ftp ~]# echo "lisi">>/etc/vsftpd/user_list

4、开启vsftp服务

[root@ftp ~]# systemctl start vsftpd

5、查看服务器是否启动

[root@ftp ~]# netstat -anptu|grep vsftpd

FTP及脚本部署

FTP设置匿名账号登录

#!/bin/bash
#ftp
#1、安装vsft服务
yum -y install vsftpd
#2、给共享目录设置属主和属组用于匿名登录
chown -R ftp.ftp /var/ftp/pub
#3、给共享目录设置访问权限
chmod -R 755 /var/ftp/pub
#4、出创建一个文件用于客户机测试
echo "123456abc" > /var/ftp/pub/a1
#5、允许匿名账号登录
echo "anonymous_enable=YES
#允许本地账号写入权限
write_enable=YES
#设置匿名账号的权限为755
anon_umask=022
#允许匿名账号上传文件
anon_upload_enable=YES
#允许匿名账号新建文件
anon_mkdir_write_enable=YES
#允许匿名账号其他写入权限
anon_other_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES" > /etc/vsftpd/vsftpd.conf
#6、开启vsftp服务
systemctl start vsftpd
#7、查看服务器是否启动
netstat -anptu|grep vsftpd

FTP设置允许本地用户登录

#!/bin/bash
#ftp
#1、安装vsft服务
yum -y install vsftpd
#2、给共享目录设置属主和属组用于匿名登录
chown -R ftp.ftp /var/ftp/pub
#3、给共享目录设置访问权限
chmod -R 755 /var/ftp/pub
#4、出创建一个文件用于客户机测试
echo "123456abc" > /var/ftp/pub/a1
#5、允许本地用户登录
echo "local_enable=YES
#允许本地用户写入权限
#write_enable=YES
#设置本地用户权限为755
#local_umask=022
#本地用户只允许登录在宿主目录下
#chroot_local_user=YES
#允许宿主目录写入权限
#allow_writeable_chroot=YES
#启用用户列表
#userlist_enable=YES
#只允许用户列表里的用户登录
#userlist_deny=NO
#dirmessage_enable=YES
#xferlog_enable=YES
#connect_from_port_20=YES
#xferlog_std_format=YES
#listen=YES
#pam_service_name=vsftpd
#userlist_enable=YES
#tcp_wrappers=YES" > /etc/vsftpd/vsftpd.conf
#设置白名单
useradd lisi
echo "123456"|passwd --stdin lisi
echo "lisi">>/etc/vsftpd/user_list
systemctl restart vsftpd