- [email protected] ~]# useradd -d /data/ftp_data -m ftp_user 创建 ftp_user 用户并制定家目录为 / data/ftp_data, 如果是录音服务器的话, 把家目录设定为录音文件的地址如:/data/recordings/3030-f8a0-3d40-5f16/
- [[email protected] ~]# passwd ftp_user 设置密码
密码为 ftp123FTP
- [[email protected] ~]# chown -R ftp_user:ftp_user /data/ftp_data / 修改属主: 属组
- [[email protected] ~]# ll -ld /data/ftp_data/
drwx------ 3 ftp_user ftp_user 4096 10 月 30 22:16 /data/ftp_data/
- [[email protected] ~]# yum -y install vsftpd 安装 vsftpd 软件
- [[email protected] ~]# cd /etc/vsftpd/
- [[email protected] vsftpd]# ls
- ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh
- [[email protected] vsftpd]# cp vsftpd.conf vsftpd.conf.bak 备份配置文件
- [[email protected] vsftpd]# VIM vsftpd.conf
- :% g/^#/d 删除注释行
- 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
- chroot_local_user=YES
- chroot_list_enable=NO
- chroot_list_file=/etc/vsftpd/chroot_list
- listen=YES
- use_localtime=YES
- pam_service_name=vsftpd
- userlist_enable=YES
- tcp_wrappers=YES
- [[email protected] vsftpd]# /etc/init.d/vsftpd restart 重启服务
然后就可以测试了
在客户端 ftp://192.168.80.3 跳出登陆界面, 输入设置的账户 ftp_user 密码: ftp123FTP 就可以登陆了, 能创建文件也能上传下载
新增知识点一:
如果要想实现新增一个 ftp 账户, 并且不同的 ftp 账户各自访问各自的家目录, 只需要新增一个 ftp 账户, 指定这个账户的家目录就可以实现了
以下为解释配置文件
- anonymous_enable=NO // 关闭匿名访问
- local_enable=YES // 打开本地账户登录
- write_enable=YES // 可写
- local_umask=022 // 本地用户上传的文件权限为 755
- dirmessage_enable=YES
- xferlog_enable=YES
- connect_from_port_20=YES
- xferlog_std_format=YES
- chroot_local_user=YES // 开启本地用户的家目录锁定
- chroot_list_enable=NO
- chroot_list_file=/etc/vsftpd/chroot_list
- listen=YES // 启动监听
- use_localtime=YES
- pam_service_name=vsftpd //pam 认证模块名
- userlist_enable=YES // 允许的用户清单打开
- tcp_wrappers=YES
新增知识点二:
ftp 传输有两种模式: 主动模式和被动模式, 默认使用的是 20,21 端口, 21 端口是用来建立连接的端口, 20 端口是模式的传输数据的端口, 不管使用主动模式还是被动模式, 建立连接的端口都使用的是 21, 传输数据时, 主动和被动就有区别了
如果使用被动模式 PASV, 是服务器端打开了某一个或多个端口, 等待客户端来连接传输数据, 这时候, 就需要服务器端, ftp 配置文件中添加下面几行, 把被动模式打开, 并规定传输数据的端口段, 如下图:
如果防火墙有限制, 除了开通必须的 21 端口后, 那么一定要放开 50000-50010 端口才可以
如果使用主动模式 PORT, 是客户端主动打开某一个和多个端口 (这个是自动的, 不用专门设置端口), 服务端去主动连接客户端并传输数据, 这时候, 就需要客户端这边的电脑把防火墙关闭, 就可以传输数据了, 这种的服务端传输数据是一个随机的 > 1024 的一个端口, 防火墙要开通出去的不受限制才行, 如果要限制, 只能用被动模式
来源: http://www.bubuko.com/infodetail-3297862.html