FTP 主要用于文件传输,在 Linux 上一般用 vsftpd 来实现,通过搭设 FTP 服务器,可以实现文件的共享,至少比坑爹的某度网盘强多了。
搭设 FTP 服务器有三种可选的认证方式:匿名认证、本地用户认证、虚拟用户认证,安全性:匿名认证<本地用户认证<虚拟用户认证,配置复杂度:匿名认证<本地<虚拟用户认证。
Linux 中文件都有对应的所有者,虚拟用户认证指的是,创建一个或多个 FTP 用户,并将这些 FTP 用户与 Linux 本地的某个用户(如 vftpuser )进行映射,这样完成映射的用户在对 FTP 目录进行操作时等同于用户 vftpuser 进行操作。此外,虚拟用户认证模式可以允许对多个 FTP 分别进行配置,非常灵活方便。从灵活性与安全性两个方面考虑,本文选择使用虚拟用户认证模式。
为了看起来更简洁,仅列出搭设基本流程及相关命令。
1、安装 vsftpd
yum install vsftpd
2、创建虚拟用户
用你喜欢的任何编辑器创建并编辑 /etc/vsftpd/vuser.list 文件,内容如下:
lilei
lileipasswd
hanmeimei
hmmpasswd
口令认证文件奇数行为用户名,偶数行为对应的密码
db_load -T -t hash -f /etc/vsftpd/vuser.list /etc/vsftpd/vuser.db
chmod 600 /etc/vsftpd/vuser.db
-T:转换
-t:指定hash算法
-f:指定用户名
4、编辑 PAM
认证文件
创建并编辑 /etc/pam.d/vsftpd.vu
,内容如下:
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser
db指定口令认证数据库,不含后缀名
5、建立本地用户
useradd -d /home/vftpuser -s /sbin/nologin vftpuser
chmod 755 /home/vftpuser
-d:指定用户主目录
-s:指定用户登录shell,/sbin/nologin表示禁止用户通过shell登录,提高安全性
6、映射 FTP
用户到 vftpuser
编辑 /etc/vsftpd/vsftpd.conf
,修改下列行:
pam_service_name=vsftpd.vu # 指定pam认证文件
guest_enable=YES # 启用映射
guest_username=vftpuser # 指定映射的本地用户
user_config_dir=/etc/vsftpd/vusers_dir # 指定FTP用户配置文件位置,如果不需要对每个用户进行分别配置,可将此行注释掉
7、为每个用户进行单独配置
创建 /etc/vsftpd/vuser_dir
,针对每个 FTP
用户创建同名配置文件,此处以 lilei
为例。创建并编辑 /etc/vsftpd/vuser_dir/lilei
,内容如下:
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/var/www/html
默认根目录为映射用户的家目录,可通过 local_root 指定某个用户的根目录,注意需要将此目录所有者改为 vftpuser 。
8、重启 vsftpd
systemctl start vsftpd
来源链接:https://www.zyhot.com/article/2750.html
本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。
免责声明:本站发布的内容(图片、视频和文字)以原创、来自本网站内容采集于网络互联网转载等其它媒体和分享为主,内容观点不代表本网站立场,如侵犯了原作者的版权,请告知一经查实,将立刻删除涉嫌侵权内容,联系我们QQ:712375056,同时欢迎投稿传递力量。
Copyright © 2009-2022 56dr.com. All Rights Reserved. 特网科技 特网云 版权所有 特网科技 粤ICP备16109289号
域名注册服务机构:阿里云计算有限公司(万网) 域名服务机构:烟台帝思普网络科技有限公司(DNSPod) CDN服务:阿里云计算有限公司 百度云 中国互联网举报中心 增值电信业务经营许可证B2
建议您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流浏览器浏览本网站