work hard work smart

专注于Java后端开发。 不断总结,举一反三。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

ftp 服务搭建

Posted on 2022-04-06 11:18  work hard work smart  阅读(46)  评论(0编辑  收藏  举报

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