Linux配置FTP(vsftpd)

参考:CSDN

1、安装vsftpd相关

sudo yum install -y vsftpd
# 安装db工具,能够识别数据库加密文件
yum install db4 db4-utils -y

2、创建虚拟用户数据库

# 进入vsftpd配置文件
cd /etc/vsftpd
# 创建虚拟用户数据
vim vusers.txt
# 内容如下(奇数行是用户名,偶数行是密码
vuser1
password1 vuser2
password2

3、生成虚拟用户数据库

db_load -T -t hash -f /etc/vsftpd/vusers.txt /etc/vsftpd/vusers.db
# 仅文件拥有者可读可写
chmod 600 vusers.db

4、配置 PAM 认证

vim /etc/pam.d/vsftpd
# 在底部添加以下内容,并将其他内容全部注释
auth required pam_userdb.so db=/etc/vsftpd/vusers
account required pam_userdb.so db=/etc/vsftpd/vusers

5、创建系统用户

# 创建名为ftp的用户(用户家目录为/ftp,且不允许登录shell)
useradd -d /ftp -s /sbin/nologin ftpuser

6、修改用户目录权限

# 设置用户只读
chmod -R 555 /ftp

7、修改vsftpd配置文件

cd /etc/vsftpd
# 备份配置文件
mv vsftpd.conf vsftpd.conf.bak
# 再复制一份出来去掉“#”号的配置文件
grep -v "#" vsftpd.conf.bak > vsftpd.conf
# 编辑
vim vsftpd.conf

配置文件内容如下:

#允许本地用户登录FTP服务器
local_enable=YES
#禁止匿名登录FTP服务器
anonymous_enable=NO
#禁止匿名用户读写
anon_upload_enable=NO
#启动虚拟用户功能
guest_enable=YES
#虚拟用户绑定系统用户
guest_username=ftpuser
#设置本地用户登录后所在目录。
local_root=/ftp
#全部用户被限制在主目录
chroot_local_user=YES
#禁止写
write_enable=NO

# 启动ftp被动模式
pasv_enable=YES
# 设置被动模式端口的范围
pasv_min_port=10000
pasv_max_port=10100

#允许chroot 环境中创建可写目录(使用虚拟用户这里一定要写YES!!)
allow_writeable_chroot=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
#监听IPv4 sockets
listen=YES

pam_service_name=vsftpd
userlist_enable=NO
tcp_wrappers=YES

8、命令

# 启动
systemctl start vsftpd
# 开机自启
systemctl enable vsftpd
# 重启
systemctl restart vsftpd

9、开放端口

开放21端口,以及配置文件中被动模式的端口范围10000-10100。

10、连接

使用虚拟用户进行登录访问。

 

posted @ 2024-07-17 17:09  维新派丁真  阅读(30)  评论(0编辑  收藏  举报