怎么架设ftp服务器(虚拟账号方式搭建ftp)
怎么架设ftp服务器(虚拟账号方式搭建ftp)# ll /opt/ftp/# chown -R virtual. /opt/ftp/3) 创建一个用户提供给虚拟用户使用# useradd -s /sbin/nologin virtual4) 将ftp数据目录设置成virtual用户
1) 安装软件
# yum -y install vsftpd
2) 创建相应的ftp数据目录
# mkdir -pv /opt/ftp/{come out}
3) 创建一个用户提供给虚拟用户使用
# useradd -s /sbin/nologin virtual
4) 将ftp数据目录设置成virtual用户
# chown -R virtual. /opt/ftp/
# ll /opt/ftp/
5) 创建虚拟账号与密码的文本文件(一行账号,一行密码 注意不要有多余的空格)
# vim /etc/vsftpd/logins.txt
zhangs
zhangs1234
lisi
lisi1234
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)
# vi /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 对应上面创建的用户)
# vi /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
#2.3.5版本之后,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了,需新增加下面这条配置
#allow_writeable_chroot=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
# 启用vsftp日志
xferlog_enable=YES
xferlog_std_format=YES
xferlog_file=/var/log/xferlog
dual_log_enable=YES
vsftpd_log_file=/var/log/vsftpd.log
10) 创建上面配置文件中指定的子配置文件目录 user_conf
# mkdir -pv /etc/vsftpd/user_conf
11) 定义 zhangs 用户的配置文件(注意:这里创建配置用户配置文件的文件名必须与上面创建的用户名一致)
# vi /etc/vsftpd/user_conf/zhangs
write_enable=YES
anon_world_readable_only=no
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_umask=022
local_root=/opt/ftp/come
12) 定义 lisi 用户的配置文件
# vi /etc/vsftpd/user_conf/lisi
write_enable=YES
anon_world_readable_only=no
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_umask=022
local_root=/opt/ftp/out
13) 启动vsftpd
# service vsftpd start 或者 /etc/init.d/vsftpd start
14) 测试
用 logins.txt文件里的用户名去登陆
ftp://ip:端口