内网传文件还在U盘拷?十分钟架一台vsftpd文件服务器
内网传大文件不必再靠U盘来回倒手:在服务器上装好vsftpd,同事用资源管理器输入服务器地址就能上传下载,传输有日志可查,十分钟就能架好一台内网文件服务器。
为什么选vsftpd当文件服务器?
小公司内部互传大文件,最常见的画面是U盘、聊天软件的传文件助手来回倒腾,既慢又留不下记录。其实在Linux服务器上装一个vsftpd,各部门用资源管理器就能上传下载,传输时间、文件大小都有日志可查。
vsftpd(Very Secure FTP Daemon)是FTP协议较为安全的守护进程实现,最初的发展理念就是构建一个以安全为中心的FTP服务器:服务的启动身份为一般用户,具有较低的系统权限;还使用chroot改变根目录,把用户限定在自己的主目录里,不允许访问系统的重要目录。FTP使用两个端口:命令通道默认端口21,数据通道默认端口20。
装好之后怎么启动和验证?
在已经配置软件源的情况下,通过root权限执行如下命令,即可完成vsftpd的安装:
# dnf install vsftpd
启动服务:
# systemctl start vsftpd
可以通过netstat命令查看通信端口21是否开启,如下显示说明vsftpd已经启动:
# netstat -tulnp | grep 21
tcp6 0 0 :::21 :::* LISTEN 19716/vsftpd
如果没有netstat命令,可以执行dnf install net-tools命令安装后再使用。停止和重启服务分别用systemctl stop vsftpd和systemctl restart vsftpd。
几个配置文件分别管什么?
vsftpd的行为都由几个配置文件控制,最常用的几个:
- /etc/vsftpd/vsftpd.conf:主配置文件,配置内容格式为"参数=参数值",详细介绍可用man 5 vsftpd.conf查看;
- /etc/vsftpd/ftpusers:禁止使用vsftpd的用户列表文件,默认系统帐号都在其中,因此系统帐号默认无法使用vsftpd;
- /etc/vsftpd/user_list:禁止或允许登录的用户列表文件,是否生效取决于主配置文件中的userlist_enable(是否启用userlist机制)和userlist_deny(YES为禁止名单中的用户登录,NO为允许名单中的用户登录);
- /var/ftp/:匿名用户登录的默认根目录。
默认配置里哪些参数要认清?
openEuler系统中vsftpd默认不开放匿名用户,用vim查看主配置文件,其内容如下:
# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
几个核心参数的含义:anonymous_enable是否允许匿名用户登录(YES为允许,NO为不允许);local_enable是否允许本地用户登入;write_enable是否允许登录用户有写权限,即启用上传写入功能;xferlog_enable是否记录使用者上传与下载文件的操作——对账和追溯就靠它;userlist_enable是否支持user_list文件内的帐号登录控制。注意listen和listen_ipv6不能同时开启。
开放给同事之前还要做什么?
改完配置重启服务后,建议先在客户端实际登录一次,验证上传、下载、删除各动作是否符合预期,再开放给同事使用。文中的配置内容仅供参考,请根据实际情况(例如安全加固需要)进行修改。
依据:openEuler 官方文档。
把一台闲置服务器变成全公司顺手的文件中转站,机器不用新添,流程也不复杂。企业文件服务器搭建、内网存储规划这类需求,贵州诚鑫致达科技可以帮你从装机、配服务到交付使用一条线理顺,有需要欢迎电话沟通:155-8529-8584。