1>安装vsftpd
#查看是否已经安装vsftpd
rpm -qa | grep vsftpd
#如果没有,就安装
yum -y install vsftpd
#并设置开机启动
chkconfig vsftpd on
2>关闭firewall,使用iptables
3>关闭selinux
4>查看iptables是否开启21端口
5>vsftpd配置文件
配置文件在:/etc/vsftpd/目录下,文件说明如下
vsftpd.conf 为主要配置文件
ftpusers 配置禁止访问 FTP 服务器的用户列表
user_list 配置用户访问控制
在vsftpd.conf配置文件中,这几个个参数决定了用户访问权限
chroot_list文件是不存在的,需要自己创建
6>用户配置
6.1>宿主用户
增加用户名为ftpuser的用户:useradd -g ftp -d /home/ftpuser -s /sbin/nologin ftpuser
参数说明:
-g 表示此用户的主要组
-d 指定登陆后的目录
-s 表示不能登陆,但可以用ftp链接
6.2>虚拟用户
这个没弄过
6.3>修改登陆密码
passwd ftpuser
6.4>相关命令
id 用户 查看用户,主组,附加组
usermod -d /home/xxxx 用户 修改一个用户登录的主目录
chmod g+w 目录 将一个目录组权限添加“写”权限
7>问题点
ftp搭建最麻烦的其实是ftp用户和组权限分配,在屏蔽了selinux后,如果不能创建文件,上传文件,基本上就是用户主目录的权限问题。
8>配置文件字段解释
#禁止匿名访问
anonymous_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
chroot_list_enable=NO // 不允许用户离开自己的主目录
chroot_list_file=/etc/vsftpd.chroot_list // 虚拟用户列表,每行一个用户名
local_enable=YES // 允许本地用户访问
write_enable=YES // 允许本地用户写入
local_umask=022 // 上传后的文件的默认掩码
chroot_local_user=YES // 禁止本地用户离开自己的主目录
pam_service_name=vsftpd.vu // 权限验证需要的加密文件
guest_enable=YES // 开启虚拟用户功能
guest_username=ftp // 虚拟用户的宿主目录
virtual_use_local_privs=YES // 用户登录后操作目录和本地用户权限一样
user_config_dir=/etc/vsftpd/vconf // 虚拟用户主目录设置文件
allow_writeable_chroot=YES // 允许写入用户主目录,这条特别重要
来源:https://www.cnblogs.com/huhu1020387597/p/10240304.html