FTP介绍
FTP是FILE Transfer Protocol 文件传输协议,用于在Internet上控制文件的双向传输。
小公司用的多,大企业不用FTP,因为不安全。
1、安装vsftpd
yum install -y vsftpd
2、创建一个普通的系统用户
useradd -s /sbin/nologin virftp
指定用户的shell为nologin,不允许登录
3、创建虚拟ftp用户配置文件
vi /etc/vsftpd/vsftpd_login
写入虚拟用户的用户名和密码:
test1 奇数行 写用户名
123 偶数行 写密码
test2 多个用户就写多组,中间不能有空行和空格
456
更改权限
chmod 600 /etc/vsftpd/vsftpd_login
将文本文件转换成二进制文件
db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
4、创建虚拟用户的配置文件目录
mkdir /etc/vsftpd/vsftpd_user_conf
cd /etc/vsftpd/vsftpd_user_conf
创建虚拟用户的配置文件:
vim test1
此处的文件名必须和/etc/vsftpd/vsftpd_login文件里的用户名一致。
local_root=/home/virftp/testuser1 定义虚拟用户的家目录 anonymous_enable=NO 不允许匿名用户登陆,如果允许则用YES write_enable=YES 写权限,允许 local_umask=022 设定umask,用来控制用户创建文件和目录的默认权限 anon_upload_enable=NO 不允许匿名用户上传 anon_mkdir_write_enable=NO 不允许匿名用户创建目录和写权限 idle_session_timeout=600 空闲时限600秒,超时自动断开 data_connection_timeout=120 数据连接(请求)时限120秒,超时会自动断开 max_clients=10 客户端的最大连接数
5、创建虚拟ftp用户的家目录,并创建测试文件
mkdir /home/virftp/test1 touch /home/virftp/test1/1.txtx
修改权限 chown -R virftp:virftp /home/virftp
6、定义用户验证文件路径
vi /etc/pam.d/vsftpd 编辑ftp的用户认证文件
在最前面加上:注意区分系统是32位还是64位
指定密码验证形式为文件形式,并指定路径路径
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
指定账户存储形式为文件,并指定账户存储文件路径
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
7、配置vsftp服务
vi /etc/vsftpd/vsftpd.conf
将anonymous_enable=YES 改为 anonymous_enable=NO 不允许匿名用户登录
将#anon_upload_enable=YES 改为 anon_upload_enable=NO 不允许匿名用户上传
将#anon_mkdir_write_enable=YES 改为 anon_mkdir_write_enable=NO 不允许匿名用户创建目录和写入
再增加如下内容
chroot_local_user=YES 允许切换到系统用户
guest_enable=YES 打开来宾用户
guest_username=virftp 定义来宾用户为virftp
virtual_use_local_privs=YES 允许虚拟用户映射到系统用户
user_config_dir=/etc/vsftpd/vsftpd_user_conf 定义用户配置文件目录
allow_writeable_chroot=YES 允许写权限
8、启动vsftpd服务
systemctl start vsftpd
9、使用客户端(FileZilla Client)连接
使用系统用户登录到服务器,端口22
参考: https://blog.csdn.net/langyue919/article/details/80796369