Linux-ftp虚拟用户配置
程序员文章站
2023-02-26 12:14:56
云服务器ESC 部署vsftpd 虚拟用户 说明:云服务器部署和本地服务器部署一样,都需要开通指定的相应端口,只不过云服务器需要在安全组规则中打开相应的端口允许通过。 环境说明: 对应的用户对应不同的密码,对应不同的数据目录,如下图: 具体步骤 1) 安装软件 2) 创建相应的ftp数据目录 3) ......
云服务器esc 部署vsftpd 虚拟用户
说明:云服务器部署和本地服务器部署一样,都需要开通指定的相应端口,只不过云服务器需要在安全组规则中打开相应的端口允许通过。
环境说明:
对应的用户对应不同的密码,对应不同的数据目录,如下图:
具体步骤
1) 安装软件
# yum -y install vsftpd
2) 创建相应的ftp数据目录
# mkdir -p /opt/ftp/{come,out}
3) 创建一个用户提供给虚拟用户使用
# useradd -s /sbin/nologin virtual
4) 将ftp数据目录设置成virtual用户
# chown virtual. /opt/ftp/ -r # ll /opt/ftp/ total 8 drwxr-xr-x 2 virtual virtual 4096 apr 17 12:07 come drwxr-xr-x 2 virtual virtual 4096 apr 17 12:07 out
5) 创建虚拟帐号与密码的文本文件(一行账号,一行密码, 注意不要有多余的空格)
# vim /etc/vsftpd/logins.txt ftpcomessbq ftp_come_#@ukieo9 ftpoutssbq ftp_out_#@45oukie
6) 将创建好的密码文件txt格式转换db格式
# db_load -t -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/login.db
7) 定义db文件的权限
# chmod 600 /etc/vsftpd/login.db
8) 定义pam认证文件(注意:db=/etc/vsftpd/login 文件就是上面生成的login.db文件;省略后缀.db)
# vim /etc/pam.d/ftp auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/login account required /lib64/security/pam_userdb.so db=/etc/vsftpd/login
9) 配置vsftpd主配置文件 (guest_username=virtual 对应上面创建的用户)
# vim /etc/vsftpd/vsftpd.conf #禁止匿名登录ftp服务器 anonymous_enable=no #允许本地用户登录ftp服务器 local_enable=yes #可以上传(全局控制) write_enable=no #匿名用户可以上传 anon_upload_enable=no #匿名用户可以建目录 anon_mkdir_write_enable=no #匿名用户修改删除 anon_other_write_enable=no #全部用户被限制在主目录 chroot_local_user=yes #将所有用户看成虚拟用户guest guest_enable=yes #指定虚拟用户,也就是将guest用户映射到virtual用户 guest_username=virtual #指定为独立服务 listen=yes #指定监听的端口 listen_port=21 #开启被动模式 pasv_enable=yes #ftp服务器公网ip pasv_address=<ftp服务器公网ip> #设置被动模式下,建立数据传输可使用port范围的最小值 pasv_min_port=10000 #设置被动模式下,建立数据传输可使用port范围的最大值 pasv_max_port=10088 #是否允许匿名用户下载全局可读的文件 anon_world_readable_only=no #指定虚拟用户配置文件的路径 user_config_dir=/etc/vsftpd/user_conf
10) 创建上面配置文件中指定的子配置文件目录 user_conf
# mkdir /etc/vsftpd/user_conf
11) 定义 ftpcomessbq 用户的配置文件
# vim /etc/vsftpd/user_conf/ftpcomessbq write_enable=yes anon_world_readable_only=no anon_upload_enable=yes anon_mkdir_write_enable=yes anon_other_write_enable=yes local_root=/opt/ftp/come
12) 定义 ftpoutssbq 用户的配置文件
# vim /etc/vsftpd/user_conf/ftpoutssbq write_enable=yes anon_world_readable_only=no anon_upload_enable=yes anon_mkdir_write_enable=yes anon_other_write_enable=yes local_root=/opt/ftp/out
13) 启动vsftpd
# service vsftpd start
14) 测试
- 使用 lftp 测试,格式为:lftp 用户名:密码@ftp地址:传送端口(默认21端口,如果是21端口则可以不用添加)
[root@srt_aliyun_39 ~]# lftp ftpcomessbq:ftp_come_#@ukieo9@120.79.xx.xx lftp ftpcomessbq@120.79.xx.xx:~> pwd ftp://ftpcomessbq:ftp_come_#%40ukieo9@120.79.xx.xx lftp ftpcomessbq@120.79.xx.xx:~> mkdir test mkdir ok, `test' created lftp ftpcomessbq@120.79.xx.xx:/> ls drwx------ 2 506 506 4096 apr 17 05:32 test lftp ftpcomessbq@120.79.xx.xx:/> rm -rf test/ rm ok, `test/' removed
- 使用 windows 文件夹测试 格式:ftp:ftp地址 (说明:打开ftp被动模式,控制面板 > 网络和internet )
- 浏览器测试:ftp://ftp地址
至此就完成了 ftp 虚拟用户的部署。
上一篇: 14nm最后的绽放!Intel 11代i5-11600KF/11400F测试偷跑
下一篇: LVS