策划需要在game服务器随时上传及修改文件,需要在服务器上搭建FTP,
本来以为修改几个配置,开个端口的问题,没想到折腾了一晚上,记录下来。
1 vsftpd服务器,如果没有安装 yum -y install vsftpd
为ftp服务新建用户帐号和密码
useradd username
passwd username
2 vsftpd相关文件介绍
ftpusers 是黑名单,禁止文件中用户访问FTP(安全考虑)
user_list
【1】userlist_enable=YES时启用user_list,
userlist_deny=YES时:user_list是一个黑名单,即:所有出现在名单中的用户都会被拒绝登入;
userlist_deny=NO时:user_list是一个白名单,即:只有出现在名单中的用户才会被准许登入
(user_list之外的用户都被拒绝登入);另外需要特别提醒的是:使用白名单后,
匿名用户将无法登入!除非显式在user_list中加入一行:anonymous
【2】userlist_enable=为NO时user_list不管用,本地全体用户都可访问FTP
3 修改vsftpd的配置 vsftpd.conf
pasv_enable=YES
userlist_enable=YES
userlist_deny=NO
tcp_wrappers=YES
pasv_min_port=61001
pasv_max_port=62000
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list #可返回上一级
修改完重启vsftpd
修改防火墙配置
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -p TCP --dport 61001:62000 -j ACCEPT
-A OUTPUT -p TCP --sport 61001:62000 -j ACCEPT
重启防火墙
【后续】
ftp搭建后可以顺利连接,但是,不能忘了一件事 -- 文件权限
如果用户登录ftp 后仅仅是查看文件内容 ,文件权限不需要做修改
但是 如果ftp 用户如果还想要修改文件内容,这个时候就要修改文件所属权限了
最简单粗暴的 chmod -R 777 file (-R 是将读取文件权限传递给子目录及文件)
或者 chown -R usergroup:user file
登录之后 比如 用户zhangsan 登录后只能访问自己用户目录下的文件 /home/zhangsan
想要访问/home/lisi目录下的文件 可以修改 /etc/passwd文件的工作目录
注意/home/lisi目录的权限