/* 看板娘 */ canvas#live2dcanvas { border: 0 !important; left: 0; }

Linux搭建VSFTPD服务FTP

Linux搭建VSFTPD(FTP)服务

FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中应用层的协议之一

 

 

提供文件共享服务

互联网上多的媒体资源和软件资源。绝大部分都是通过FTP服务器传递。

作用:

     

 

 

 

下面开始安装使用方法:

一、首先关闭防火墙以及SELinux

setenforce 0     # 临时关闭SELinux
sed -i 's/SELINUX=.*/SELINUX=disabled/' /etc/selinux/config # 修改SELinux永久关闭,需要重开机reboot
sestatus # 查看是否关闭
SELinux status:disabled # 已关闭状态
systemctl stop firewalld    # 停止关闭防火墙
systemctl enable firewalld  # 开机关闭防火墙
systemctl disable firewalld # 开机关闭防火墙

  

二、安装vsftpd软件包

yum -y install vsftpd

 

三、配置vsftpd.conf文件、配置匿名用户登陆

write_enable=YES
anon_umask=022
anonymous_enable=YES     # 是否允许匿名用户登录ftp
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

 

四、开启FTP服务

systemctl restart vsftpd

直接访问linux主机IP地址ftp://xxx.xxx.xxx.xx即可。

 

下面配置虚拟用户登陆FTP

虚拟用户只能访问FTP服务,而不能访问本机系统

一、一样首先关闭SElinux和防火墙、创建虚拟FTP不可登陆用户账号

setenforce 0     # 临时关闭SELinux
sed -i 's/SELINUX=.*/SELINUX=disabled/' /etc/selinux/config     # 修改SELinux永久关闭,需要重开机reboot
sestatus # 查看是否关闭
SELinux status:disabled  # 已关闭状态
systemctl stop firewalld    # 停止关闭防火墙
systemctl enable firewalld  # 开机关闭防火墙
systemctl disable firewalld # 开机关闭防火墙

useradd -s /sbin/nglogin vu # 用vn代表虚拟用户

 

二、创建虚拟用户文件

[root@localhost ~]# cd /etc/vsftpd/
[root@localhost vsftpd]# vim user

 

 

 

三、创建数据文件

通过 db_load 工具创建出 Berkeley DB 格式的数据库文件

[root@localhost vsftpd]# db_load -T -t hash -f user user.db
[root@localhost vsftpd]# ls
app  data  ftpusers  user  user.db  user_dir  user_list  vsftpd.conf  vsftpd_conf_migrate.sh

备注:
-f 指定数据原文件
-T 允许非Berkeley DB的应用程序使用文本格式转换的DB数据文件
-t hash 读取文件的基本办法
注意:
如果想多创建多个虚拟用户登陆,需要在user文件创建账号跟密码,删除user.db数据库文件,在重新创建数据库文件,即可

 

四、建立支持虚拟用户的PAM认证文件

[root@localhost pam.d]# cd /etc/pam.d/
[root@localhost pam.d]# vim /etc/pam.d/vsftpd.vu
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/user
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/user

# 备注:
# 需对应刚出生成user.db文件

 

五、修改配置文件、修改之前可以先备份,以免发生错误

[root@localhost vsftpd]# vim vsftpd.conf 

write_enable=YES
anonymous_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
userlist_enable=YES
tcp_wrappers=YES
allow_writeable_chroot=YES
guest_enable=YES
guest_username=vu
pam_service_name=vsftpd.vu
local_enable=YES
local_umask=077
chroot_local_user=YES
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/user_dir

  

六、常用的全局配置项

listen = YES                # 是否以独立运行的方式监听服务
listen_address= 192.168.4.1    #  设置监听FTP服务的IP地址
listen_port = 21            # 设置监听FTP服务的端口号
write_enable = YES           # 是否启用写入权限(上传、删除文件)
download_enable = YES           # 是否允许下载文件
dirmessage_enable = YES        # 用户切换进入目录时,显示.message文件
xferlog_enable = YES           # 启用日志文件,记录到/var/log/xferlog
xferlog_std_format = YES         # 启用标准的xferlog日志格式,禁用此项将使用vsftpd自己的格式
connect_from_port_20 = YES       # 允许服务器主动模式(从20端口建立数据连接)
pasv_anable = YES             # 允许服务器被动模式
pasv_max_port = 24600          # 设置被动模式服务器的最大端口号
pasv_min_port = 24500           # 设置被动模式服务器的最小端口号
pam_service_name = vsftpd         # 用户认证的PAM文件设置(/etc/pam.d/vsftpd.vu)
userlist_enable = YES           # 是否启用user_list列表文件
userlist_deny = YES           # 是否禁用user_list中的用户
max_clients = 0               # 限制并发客户端连接数
max_per_ip = 0               # 限制同一IP地址的并发连接数
tcp_wrappers = YES             # 是否启用tcp_wrappers主机访问控制
chown_username = root           # 表示匿名用户上传的文件的拥有人是root,默认关闭
ascii_upload_enable = YES         # 表示是否允许用户可以上传一个二进制文件,默认是不允许的
ascii_download_enable = YES        # 这个是代表是否允许用户可以下载一个二进制文件,默认是不允许的
nopriv_user = vsftpd           # 设置支撑 vsftpd服务的宿主用户为手动建立的vsftpd用户
async_abor_enable = YES           # 设定支持异步传输功能
ftpd_banner = Welcome to Awei FTP servers     # 设定vsftpd的登陆标题
guest_enable = YES             # 设置启用虚拟用户功能
guest_username = ftpuser           # 指定虚拟用户的宿主用户
virtual_use_local_privs = YES         # 设定虚拟用户的权限符合他们的宿主用户
user_config_dir = /etc/vsftpd/vconf     # 设定虚拟用户个人vsftpd的配置文件存放路径

  

七、为用户建立独立的配置目录及文件

[root@localhost vsftpd]# mkdir /etc/vsftpd/user_dir
[root@localhost vsftpd]# ls
ftpusers  user  user.db  user_dir  user_list  vsftpd.conf  vsftpd_conf_migrate.sh
[root@localhost vsftpd]# cd /etc/vsftpd/user_dir
[root@localhost vsftpd]# vim zhao
local_root=/etc/vsftpd/data   # 虚拟用户数据的存放路径

 

八、创建虚拟用户数据存放目录

[root@localhost user_dir]# cd ../
[root@localhost vsftpd]# mkdir data
[root@localhost vsftpd]# chmod 777 data/
[root@localhost vsftpd]# ll
drwxrwxrwx 2 root root    84 11月 13 15:43 data

# 在重启vsftpd服务
systemctl restart vsftpd

 

测试

先使用匿名登录

 

 

 

 

接下来使用虚拟用户登陆

 

 

 

 

 

 

 

posted @ 2020-11-17 16:04  群临天下  阅读(222)  评论(0编辑  收藏  举报
/* 看板娘 */