首先,运行下面命令来检测是否已安装vsftp:
rpm -qa| grep vsftpd
如果已经安装就会出现vstfp的版本号相关的信息,如果没有出现就是没有安装
如果没有安装,可以从光盘中进行安装。光盘的Packages目录下有许多常用的包
rpm -ivh ftp包的名字
修改启动方式为开机自动启动:
chkconfig vsftpd on
接下来,设置防火墙,由于Redhat默认开启防火墙,因此,我们需要在防火墙中打开ftp所用的端口 21和22
<pre name="code" class="html">iptables -I INPUT -p tcp --dport 21 -j ACCEPT
iptables -I OUTPUT -p tcp --dport 22 -j ACCEPT
然后,修改
/etc/vsftpd/ftpusers文件,凡是出现该文件中的用户,都不允许通过ftp服务来访问服务器。我们希望可以通过root账户来访问,故需要将该文件中的root那一行注释掉。
接下来,修改/etc/vsftpd/vsftpd.conf文件,主要需要取消下面几行的注释
ascii_upload_enable=YES
ascii_download_enable=YES 是否使用ascii码方式上传和下载文件
deny_email_enable=YES
banned_email_file=/etc/vsftpd.banned_emails 是否允许禁止匿名用户使用某些邮件地址,如果是输入禁止的邮件地址的路径和文件名
#如果想要将用户登录之后限制在它自己对应的home目录中(建议这样做),可以在<span style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 25.984375px;">/etc/vsftpd/</span><span style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 25.984375px;">vsftpd.conf文件中取消下面两行的注释</span>
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list 是否将系统用户限止在自己的home目录下,如果选择了yes那么chroot_list_file=/etc/vsftpd.chroot_list中列出的是不chroot的用户的列表
然后在/etc/vsftpd/目录下建立chroot_list文件,在其中填写那些被限制在home目录中的ftp用户的名称。
在SELinux中设置允许ftp来切换目录:
setsebool -P ftp_home_dir on
如果不进行上面的设置,当用户登陆时,会提示500 OOPS: cannot change directory错误
OK,全部设置完成,运行下面的命令来启动ftp服务
service vsftpd start