Linux安装启动FTP服务

yum安装vsftpd

vsftpd 是 linux服务器上的FTP服务器程序(相当服务端)
ftp 是 linux服务器上的FTP服务(相当客户端)

在安装前需提前确认是否已经安装了vsftpd 命令如下:

 

rpm -qa|grep vsftpd

另外,默认的配置文件路径为: /etc/vsftpd/vsftpd.conf

安装命令:

 

yum install -y vsftpd

开启 重启 关闭命令:

 

systemctl start vsftpd
systemctl restart vsftpd
systemctl stop vsftpd

这里建议先用客户端匿名访问下FTP,是否已经安装成功。
因为这里服务可能存在防火墙,需要开放21端口

创建FTP使用的用户

 

useradd -s /sbin/nologin -d /var/www/html ftpuser
passwd ftpuser

参数说明 :
useradd
-d:指定用户登入时的主目录,替换系统默认值/home/<用户名>
-s:指定用户登入后所使用的shell。默认值为/bin/bash。
参考地址:# linux命令useradd添加用户详解

passwd 是修改用户密码

相关命令:
usermod -s /sbin/nologin ftpuser 修改用户登入后所使用的shell
usermod -d /var/www/html ftpuser 修改用户登入时的主目录
userdel -r ftpuser 删除指定用户 -r 参数是指删除用户全部文件

配置FTP服务

配置文件路径:

 

vim /etc/vsftpd/vsftpd.conf

这里要关注的几个配置项
1.不允许匿名访问

 

anonymous_enable=NO

2.是否允许使用本地帐户进行FTP用户登录验证

 

local_enable=YES/NO

本地账号和虚拟账号区别主要在于能否登录系统,账号有权限可以登录操作系统的为本地账号,而不能登录操作系统只能使用某些服务登录的为虚拟系统。

  1. userlist_enable , userlist_deny 和 名单文件 /etc/vsftpd/user_list

 

userlist_enable=YES
userlist_deny=NO

当userlist_enable=YES时,userlist_deny=YES时:user_list是一个黑名单,即:所有出现在名单中的用户都会被拒绝登入;
当userlist_enable=YES时,userlist_deny=NO时:user_list是一个白名单,即:只有出现在名单中的用户才会被准许登入(user_list之外的用户都被拒绝登入);

参考:vsftpd中关于ftpusers和user_list两个文件的说明以及vsftpd.conf中的userlist_enable和userlist_deny两个配置项的解释

按上面得设置,则需要在名单文件 /etc/vsftpd/user_list中添加ftpuser(一行一个用户名),ftpuser才可以登陆。

4.用户不能离开主目录

 

chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

chroot_local_user
是否将所有用户限制在主目录,YES为启用 NO禁用.(该项默认值是NO,即在安装vsftpd后不做配置的话,ftp用户是可以向上切换到要目录之外的)
chroot_list_enable
是否启动限制用户的名单 YES为启用 NO禁用(包括注释掉也为禁用)
chroot_list_file=/etc/vsftpd/chroot_list
是否限制在主目录下的用户名单,至于是限制名单还是排除名单,这取决于chroot_local_user的值。

参考:vsftpd 配置:chroot_local_user与chroot_list_enable详解

按上面得设置,则需要在名单文件 /etc/vsftpd/chroot_list中添加ftpuser(一行一个用户名),ftpuser才会被现在在主目录中,不允许离开。

5.用户的主目录写权限
从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。

要修复这个错误,你可以在vsftpd的配置文件中增加下列项:

 

allow_writeable_chroot=YES

还有一种方法:可以用命令 chmod a-w /var/www/html 去除用户主目录的写权限

6.基本配置以上选项即可了,也可以查看详细配置介绍

常见问题

1.500 OOPS: vsftpd: refusing to run with writable root inside chroot() 错误,解决请参考配置第5项;

2.530 Login incorrect错误 :

  • 用户没权限,先查看 userlist_enable userlist_deny 得设置也就是配置第3项;
  • 系统环境默认/etc/shells文件有没有/sbin/nologin这个项,没有请添加上,因为这里配置这一项为用户登陆后使用的shell;
  • 确保FTP用户密码正确,可以修改密码后测试;
  • 服务器防火墙需要开放21端口(阿里云主机记得控制台也需要开放端口);
  • Selinux原因,可以临时关闭setenforce 0,发现可以正常连接了,修改/etc/sysconfig/selinux文件可以永久地禁用它。将文件中 SELINUX=enforcing 修改为:SELINUX=disabled;
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

戴国进

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值