🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
一 安装vsftpd 查看是否已经安装vsftpd # rpm -qa | grep vsftpd 如果没有,就安装,并设置开机启动 # yum -y install vsftpd # chkconfig vsftpd on 添加一个防火墙例外: ![](https://box.kancloud.cn/be8fcd97dab51dd38e2da1fd44eb29c1_592x251.png) # service iptables restart 基本命令参考 #service vsftpd status查看状态 #service vsftpd start 启动 #serivce vsftpd restart 重启 #service vsftpd stop 停止 二 配置 配置文件在 /etc/vsftpd/vsftpd.conf ![](https://box.kancloud.cn/20e20e7c7eeb82dc1ba4a4f21ad2cbfc_673x100.png) 用户权限配置说明:   chroot_local_user=YES chroot_local_user=NO chroot_list_enable=YES 1.所有用户都被限制在其主目录下 2.使用chroot_list_file指定的用户列表,这些用户作为“例外”,不受限制 1.所有用户都不被限制其主目录下  2.使用chroot_list_file指定的用户列表,这些用户作为“例外”,受到限制 chroot_list_enable=NO 1.所有用户都被限制在其主目录下  2.不使用chroot_list_file指定的用户列表,没有任何“例外”用户 1.所有用户都不被限制其主目录下  2.不使用chroot_list_file指定的用户列表,没有任何“例外”用户 例如:现在我要让所有用户都限制在其主目录下,而root用户和wx用户不做限制,则进行如下配置 # vi   /etc/vsftpd/vsftpd.conf 其中chroot_list文件不存在 则用vi命令建立,如: # cd  /etc/vsftpd # vi  chroot_list root wx 配置完毕启动 # service vsftpd start 另外关于文件ftpusers和user_list的说明: 【在/etc/目录下的vsftpd/ftpusers和vsftpd/user-list两个文件与主配置文件中的 "userlist_enable" 和 "userlist_deny" 选项相关。 两个文件中,每个用户名需占用一行。 当userlist_enable为YES时,如果一个用户名在"vsftpd/user_list"文件中,而同时"userlist_deny"选项为"YES", 则该用户在试图登录FTP服务器时,将不能够登录,甚至连输入密码的提示信息都没有,直接被FTP服务器拒绝。 如果一个用户名在"vsftpd/ftpusers"文件中,同时"userlist_deny"选项为"YES",则该用户在试图登录FTP服务器时, 将能看到输入密码的提示,但即使正确输入密码仍然不能登录FTP服务器。 这两文件常用来阻止"root"、"apache"和"www"等系统用户登录FTP服务器以保护系统安全。 至于“两个文件中用户不同会怎样,该用户到底能否登陆”的问题答案是:只要名列这两文件之一的都不能登录。 两个不同文件只是拒绝的时候出现的情况不同,“拒绝”是相同的。】 比方说我们要让root用户可以以ftp的身份登陆,那么从这两个文件中注释掉即可。 ========================================================= 三  创建用户 说明:系统自带的用户默认是可以直接进行ftp的,我们也可以单独创建只能ftp的用户 增加用户jack,指向目录/home/jack,禁止登录SSH权限。 useradd  -d /home/jack  -g  ftp  -s  /sbin/nologin  jack 设置用户口令 passwd  jack 四  ftp基本命令 登录 : ftp  192.168.0.130        退出: bye 其它:  在终端输入help命令: ![](https://box.kancloud.cn/22e17aa9a4697e4163901eec674e9589_622x194.png) 五 问题解决  <1>centos vsftp 500 OOPS: cannot changedirectory:/home/ftp   原因是你的CentOS系统安装了SELinux,因为默认下是没有开启FTP的支持,所以访问时都被阻止了。   //查看SELinux设置   #getsebool -a|grep ftp  ftp_home_dir-->off 改为on # setsebool ftp_home_dir 1   //再次查看当前状态是否是on的状态   #getsebool-a|grep ftp  ftp_home_dir-->on  //setsebool使用-P参数,无需每次开机都输入这个命令   #setsebool-P ftp_home_dir 1   #servicevsftpd restart  <2>centos vsftpd 553 Could not createfile解决方法   #setsebool-P allow_ftpd_full_access 1   命令执行需要一定时间,请耐心等待  记得重启vsftpd --------------------- 作者:御前两把刀刀 来源:CSDN 原文:https://blog.csdn.net/wx5040257/article/details/78325074 版权声明:本文为博主原创文章,转载请附上博文链接!