当前位置: 代码迷 >> 综合 >> CentOS 配置FTP(vsftpd)
  详细解决方案

CentOS 配置FTP(vsftpd)

热度:85   发布时间:2024-02-01 20:01:02.0

以下是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 正在成长中

  相关解决方案