莱因电博

Li-e.cn

Li Internet Electronic Blog
@rss

设置 VSFTPD 服务:仅本地用户

————————————————————

这是一个在 嵌入式 ARM 平台上的安装示例,全部使用源码编译,打包成为 deb 。

vsftpd: version 3.0.5

在 OpenEmbedded 中,这个版本的相关配置已经默认是 local 状态。

安装

dpkg -i pam-plugin-listfile_1.5.2_arm64.deb
dpkg -i vsftpd_3.0.5_arm64.deb

找不到 pam-plugin-listfile ? 在 libpam 里面编出来。

检查配置

以IPV4设置为例:

listen=YES

listen_ipv6=NO

编辑文件:/etc/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=YES
listen_ipv6=NO
pam_service_name=vsftpd
userlist_enable=YES # 用户名单
tcp_wrappers=YES

# 设置userlist属性,YES 黑 NO 白
userlist_deny=YES

# 设置本地所有帐户都只能在自家目录
chroot_local_user=YES

# 可选:设置本地用户白名单,文件中的用户不受限制
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list

# 可选:设置可访问目录
local_root=/public/

# 可选:允许用户写入非用户目录
allow_writeable_chroot=YES

温馨提示:

本地用户可能需要修改/etc/pam.d/vsftpd的pam限制

无论如何设置,要确保设置的 chroot_list_file 存在,否则可能出错

添加本地 FTP 用户

添加用户: ftpusr

设置密码:

useradd -d /home/ftpusr -s /bin/bash ftpusr
passwd ftpusr

可选:添加白名单

vi /etc/vsftpd.chroot_list

重启 VSFTPD 服务

/etc/init.d/vsftpd restart
(C) 2019 - 2024 Li-e.cn莱因电博(立网电子博客) | Powered by Vercel , based on Hugo with Gists theme.