您的位置:首页 > 运维架构 > Linux

Linux下快速搭建FTP服务

2017-07-19 16:24 405 查看
FTP 是File Transfer Protocol(文件传输协议)的英文简称。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。

一般在各种linux的发行版中,默认带有的ftp软件是vsftp,我们需要利用相关命令来开启安装ftp服务器,然后再在vsftpd.conf中进行相关配置,下面我来介绍在Linux中vsftpd安装与配置增加用户的方法。

检查是否已经安装vsftpd

以root账户进入终端后(其他账户 用su root 输入密码后进入root 模式),输入以下命令

rpm -qa | grep vsftpd


如果已经安装,会显示版本号,安装

yum install vsftpd -y


安装完成后进行配置

vi /etc/vsftpd/vsftpd.conf


修改如下参数(确保这些参数前没有#号)

//不允许匿名访问
anonymous_enable=NO
//允许本地用户登录
local_enable=YES
//开发写文件权限
write_enable=YES
//设置本地用户的文件掩码022
lcal_umask=022


创建非匿名账户,用于登录ftp(root默认不能用于登录FTP)

usradd test
passwd test


控制用户不允许切换到上级目录

在默认配置下,本地用户登入FTP后可以使用cd命令切换到其他目录,这样会对系统带来安全隐患

chroot_list_enable=YES/NO(NO)

设置是否启用chroot_list_file配置项指定的用户列表文件。默认值为NO。

chroot_list_file=/etc/vsftpd.chroot_list

用于指定用户列表文件,该文件用于控制哪些用户可以切换到用户家目录的上级目录。

chroot_local_user=YES/NO(NO)

用于指定用户列表文件中的用户是否允许切换到上级目录。默认值为NO。过搭配能实现以下几种效果:

①当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd.chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。
②当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd.chroot_list文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录。
③当chroot_list_enable=NO,chroot_local_user=YES时,所有的用户均不能切换到其他目录。
④当chroot_list_enable=NO,chroot_local_user=NO时,所有的用户均可以切换到其他目录。


解决不允许切换到上级目录后无法上传文件的错误

500 OOPS: vsftpd: refusing to run with writable root inside chroot()


解决办法:在vsftpd.conf中添加一行

vi /etc/vsftpd/vsftpd.conf
allow_writeable_chroot=YES
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息