当前位置:首页>Linux>linux搭建ftp服务端

linux搭建ftp服务端

  • 2026-10-05 13:38:12
linux搭建ftp服务端

最近需要在linux中搭建ftp服务,之前都是在windows中搭建,linux从未搭建过,0racle-linux7.9搭建ftp过程如下:

一、安装vsftp包

1、在线安装(服务器能够联网)

yum install -y vsftpd

2、离线安装(服务不能联网)

安装包下载地址:https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/index.html

选择需要的安装包下载,并传到linux系统中。

安装命令:rpm -ivh vsftpd-3.0.2-29.el7_9.x86_64.rpm

二、ftp服务启动、重启、停止

启动:systemctl start vsftpd.service
停止:systemctl stop vsftpd.service
重启:systemctl restart vsftpd.service
创建一个账户登录ftp,只能登录ftp,不能通过ssh登录到linux系统。
创建用户:adduser ftptest
修改密码:passwd ftptest
创建目录:mkdir /var/ftp/test
更改/var/ftp/test目录的拥有者为ftptest

chown -R ftptest:ftptest /var/ftp/test

修改ftptest账户不能ssh登录linux账户

usermod-s  /sbin/nologin  ftptest

此时ftpuser是登录不了ssh了,但是同时也无法登录Ftp,但其他账户可以登录ftp。网上查了很多资料,发现还需要将/etc/pam.d/vsftpd中的auth required pam_shells.so修改为auth required pam_nologin.so

完成后重启vsftpd。

systemctl restart vsftpd

三、修改vsftpd.conf配置文件。

运行以下命令,修改配置文件/etc/vsftpd/vsftpd.conf。

vim /etc/vsftpd/vsftpd.conf

修改下列参数的值:

#禁止匿名登录FTP服务器。

anonymous_enable=NO

#允许本地用户登录FTP服务器。

local_enable=YES

#监听IPv4 sockets。

listen=YES

#设置本地用户登录后所在目录。

local_root=/var/ftp/test

#全部用户被限制在主目录。

chroot_local_user=YES

#启用例外用户名单。

chroot_list_enable=YES

#指定例外用户列表文件,列表中用户不被锁定在主目录。

chroot_list_file=/etc/vsftpd/chroot_list

排查

问题1

报错截图:

原因:ftp服务无法读取:/etc/vsftpd/下的这个文件chroot_list,默认不会创建这个文件,需要我们手动到目录下创建。

解决方案:进入目录并创建文件

报错截图

原因:selinux未关闭

Selinux关闭两种方式,1是永久关闭要重启。2是临时关闭,不要重启

1、sed -i 's/SELINUX=enforcing/SELINUX=disable/g' /etc/selinux/config

修改后要重启生效

2、setenforce 0

临时关闭,不要重启。

自此可以成功登陆

最新文章

随机文章