以下是Linux 新手的啰嗦。 这个ftp 配置搞了我几天。后面再继续写kubernetes 和 docker 相关的。自已整理,一切以简单易用为目标。
前面有几个相对不怎么需要配置的步骤。
1. 安装vsftpd 服务端 (如果有就不需要再安装了)
yum -y install vsftpd
2. 安装后启动服务
systemctl start vsftpd
3. 设置为开机启动
systemctl enable vsftpd
到这里。主动模式应该就能直接访问了。 但上传和下载应该还是有问题
下面的都是配置(包括添加用户。分配权限。设置ftp的访问模式...)
添加用户组 ftpgroups 这个随意命名
groupadd ftpgroups
添加用户并分配到新的组 如果说目录没有那就使用 mkdir /home/ftp/ 创建目录就行了。
目录的权限分配到ftpgroups组下的用户ftpadmin。个人理解。
useradd -d /home/ftp -g ftpgroups ftpadmin
更改用户的登录模式,ftp用户不需要登录系统。
usermod -s /sbin/nologin ftpadmin
设置密码。需要输入两次密码。含有确认一次。
passwd ftpadmin
更改目录及子目录的所属用户 -R 代表目录及子目录
chown -R ftpadmin /home/ftp
更改目录访问权限(读、写、执行之类的)
chmod 777 /home/ftp
使用 vim 或者 vi 编辑 vsftpd.conf 文件 。 我这个是个人刚弄的服务器。所以没啥资料,搞坏了就重装。如果有资料建议先备份
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak 这个bak 随意命名。你记得就行了。
vim /etc/vsftpd/vsftpd.conf
vim 中输入 a, i, o 中任意键进入编辑模式。
以下是我的CentOS 7.x 服务器的一些改过动配置。简而言之。除了这些其他的基本可以不动。 这里面的每一项。文件里面都有说明。这里不一一解释。本着简单易用的方式,我也没细看。。
anonymous_enable=NO
ascii_upload_enable=YES
ascii_download_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
新增
allow_writeable_chroot=YES
这下面配置的是被动模式。我就是被这个破配置搞了几天。一直不能在windows上进行访问
pasv_enable=YES
pasv_min_port=33000
pasv_max_port=33020
按 ESC退出编辑模式并输入 :wq 保存并退出
接着编辑 chroot_list
vim /etc/vsftpd/chroot_list
添加一个用户
ftpadmin
保存
:wq
接着编辑 vsftpd
vim /etc/pam.d/vsftpd
注释下面这行内容
#auth required pam_shells.so
还是保存
:wq
防火墙端口。21是主动模式端口。
firewall-cmd --zone=public --add-port=21/tcp --permanent
要编辑防火墙了。所以先看看 防火墙是不是开着的。我就直接启动服务了。
systemctl start firewalld.service
添加被动端口。
firewall-cmd --zone=public --add-port=33000-33020/tcp --permanent
刷新配置
firewall-cmd --reload
最后重启吧
reboot
补充:如果使用有问题。可以查查下面的。
setsebool 是用来修改SElinux策略内各项规则的布尔值。这里把ftpd的访问权限放开。
setsebool allow_ftpd_full_access on
顺带提一下多用户,其实就是把上面添加用户以及分配文件夹的过程走一下。
以添加网站ftp 文件夹为例
useradd -d /home/wwwroot -g ftpgroups website
usermod -s /sbin/nologin website
passwd website
chown -R website /home/wwwroot
chmod 777 /home/wwwroot
然后可以使用新账号了!
另附个人博客:https://hmxll.com 正在成长中