FTP服务
FTP文件传输协议
Samba使用NetBIOS协议,所以只能在局域网内部使用,如果需要其他网络也可以访问到文件资源,可以使用FTP服务器来实现.
FTP(File Transfer Protocol) 实现的服务(FTP服务)
FTP使用端口:
tcp21:建立控制连接,发送命令
tcp20:建立数据连接,传输数据
主动模式:服务器主动从20端口建立连接
被动模式:服务器等待建立连接
传输模式:
文本(ASCII)模式: 纯字符数据
二进制(binary)模式: 图片 , 音频等带有特殊字符的数据
配置文件
/etc/vsftpd/vsftpd.conf 是核心配置文件。
/etc/vsftpd/ftpusers 是黑名单文件,此文件里的用户不允许访问 FTP 服务器。
/etc/vsftpd/user_list 是白名单文件,是允许访问 FTP 服务器的用户列表。
/etc/vsftpd/vsftpd_conf_migrate.sh 是vsftpd操作的一些变量和设置
默认为匿名登入,默认的ftp根目录在/var/ftp
改变匿名根目录可以在配置文件中加入 anon_root=???
并且需要将目录权限修改为555,修改属主属组为ftp用户
安装vsftpd服务
systemctl stop firewalld #关闭防火墙
yum -y install vsftpd
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES #是否开启匿名
anon_root=/abc #修改匿名根目录
local_enable=NO #关闭本地用户验证
anon_other_write_enable=YES #写入权限
anon_umask=022 #上传文件的权限
anon_upload_enable=YES #上传权限
anon_mkdir_write_enable=YES #创建目录权限
chmod 777 /var/ftp/pub #赋予pub写入权限,可以上传文件服务
systemctl start vsftpd #启动
访问验证:权限
ftp://192.168.10.30
配置本地用户登录
useradd 用户名
passwd用户名
chmod 777 / 修改本地权限
ftpusers:黑名单,文件内的用户名不可以登入FTP服务
vim /etc/vsftpd/ftpusers
user_list:控制用户列表 手动控制允许或拒绝
vim /etc/vsftpd/user_list
本地用户验证:
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
chroot_local_user=YES #将用户限制在根目录里
allow_writeable_chroot=YES #允许写入权限
userlist_enable=YES #启用名单
userlist_deny=YES #拒绝 yes代表拒绝访问
systemctl restart vsftpd #重启服务
userlist_enable=YES #启用名单
userlist_deny=YES #拒绝 yes代表拒绝访问
no 代表允许访问
文件末尾添加
allow_writeable_chroot=YES #对vsftpd有用,否则,因home目录权限为root权限而无法登录