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
来源:CSDN
作者:义甬君
链接:https://blog.csdn.net/ywyxb/article/details/75407820