一 安装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
版权声明:本文为博主原创文章,转载请附上博文链接!