本文主要介绍了在Linux下使用vsftp构建FTP服务器的案例,具有一定的参考价值。有兴趣的朋友可以参考一下。希望你看完这篇文章后收获很大。让本站带你去了解一下。
知识点
linux中使用的FTP是vsftp
FTP有三种登录方式:
匿名登录方式:不需要用户密码
本地用户登录:使用本地用户和密码登录
虚拟用户模式:也使用用户和密码登录,但是这个用户不是在linux中创建的用户
安装FTP
使用YUM安装
yum -y安装vsftpd
文件配置
安装后,在/etc/vsftpd/路径中有三个配置文件。
vsftpd.conf: 主配置文件
Ftpusers:指定哪些用户不能访问FTP服务器,包括一些重要用户,如root用户。
User_list:指定用户是否可以访问FTP服务器,这是由vsftpd.conf文件中userlist_deny的配置决定的。userlist_enable=YES,userlist_deny=YES,user list _ file=/etc/vsftpd/user _ list允许文件中的用户访问FTP。
查看主配置文件的默认配置
cat/etc/vsftpd/vsftpd . conf | grep-v '^#';
匿名_启用=是#允许匿名用户
Local_enable=YES #允许使用本地用户帐户登录
写使能=是#允许文件传输协议用户写数据
从端口20连接=是#通过端口20传输数据
匿名_启用=是
本地_启用=是
写使能=是
local_umask=022
dirmessage _ enable=是
xferlog _ enable=是
从端口20连接=是
xferlog_std_format=YES
听=是
pam_service_name=vsftpd
tcp包装=是
chroot _ local _ user=是
其他参数描述包括:
欢迎使用FTP服务:连接服务器后设置欢迎信息
Idle_session_timeout=60:限制远程客户端连接后,建立的控制连接将中断多长时间而不执行任何操作(秒)
Data_connection_timeout=120:设置客户端传输数据时的空闲数据中断时间。
Accept_timeout=60设置自动建立连接的时间
Connect_timeout=60设置数据连接的最大激活时间,以及多长时间会断开并被他人使用;
Max_clients=200表示服务器的并发客户连接总数为200
Max_per_ip=3表示每个客户端的最大连接数是3
本地_最大_速率=50000(50k字节/秒)本地用户的最大传输速率限制
匿名_最大_速率=30000匿名用户的最大传输速率限制
Pasv_min_port=端口
Pasv-max-prot=端口号定义最大和最小端口,0表示任意端口;指示客户端连接的端口;
Listen_address=IP address设置ftp服务监听的地址,以及客户端可以使用哪个地址连接;
Listen_port=端口号设置FTP工作的端口号,默认为21
Local_root=path任何可以登录的用户都可以定义登录帐户的主目录。如果没有指定,每个用户都会进入个人用户主目录;
Chroot_local_user=yes/no是否锁定本地系统账号用户主目录(全部);锁定后,用户只能访问用户的主目录/home/user;
Chroot_list_enable=yes/no可解锁主目录中的用户列表
chroot _ list _ file=/etc/vsftpd/chroot _ list指定列表文件
Userlist_enable=YES/NO是否加载用户列表文件;
Userlist_deny=YES表示允许上面加载的用户登录;
user list _ file=/etc/vsftpd/user _ list指定列表文件
创建FTP连接用户
创建用户ftpuser
useradd ftpusr
将用户设置为仅ftp但不登录
usermod -s /sbin/nologin ftpuser
设置用户密码
passwd ftpusr
用户的默认主目录在/home下,所以当前用户只能访问主目录。
修改用户的主目录位/mnt
usermod -d /mnt ftpuser
启动文件传输协议服务
vsftpd服务启动
测试
在/mnt目录中创建一个测试文件
触摸/mnt/测试
连接ftp
解决普通FTP无法登录的问题
Linux默认有安全机制,所以不能用普通的ftp 21端口连接到FTP服务器,可以用sftp。此时,selinux需要关闭,服务器需要重新启动以修改配置文件。
vim /etc/sysconfig/selinux
更改为selinux=禁用
不重启服务器:的方法
setenforce 0
设置强制1:将SELinux设置为强制模式
设置强制0:将SELinux设置为许可模式
查看SELinux状态
/usr/sbin/sestatus -v
感谢您仔细阅读本文。希望本站分享的文章《Linux下用vsftp搭建FTP服务器的案例》对大家有所帮助。同时,希望大家支持本站,关注本站,更多相关知识等着你去学习!