作为程序员一定要保持良好的睡眠,才能好编程

linux下如何配置FTP服务器--vsftpd

发布时间:2016-05-15

配置好服务器了,但是没有ftp如何上传文件?


今天就来看一下,如何使用 linux下的vsftpd,好,来看看



第一步:检测是否有安装vsftpd

# rpm -q vsftpd

d1.png

提示,vsftpd is not installed  没有安装。

如果已经安装,那么 删除一下

yum remove vsftpd

我们重新安装。


第二步:进行安装

# yum install -y vsftpd

等待安装完成即可。看图

d3.png


d2.png


chkconfig --add vsftpd

chkconfig vsftpd on

d4.png

 通过

rpm -ql vsftpd

找到安装软件的目录
d5.png

第三步,配置vsftpd

vsftpd的配置文件位于  /etc/vsftpd/vsftpd.conf




首先建立一个用户,来ftp登录

groupadd myftp

useradd -d /data -s /sbin/nologin -g myftp song_james

d7.png


给用户song_james 设置一个密码: ftp登录需要密码啊


passwd song_james

d10.png


vim /etc/vsftpd/vsftpd.conf

编辑配置文件如下:

d6.png



vsftpd控制用户禁止访问上级目录 只能访问自己目录


如何只让用户访问自己的家目录,其他目录意外的全部不能访问:

vim  /etc/vsftpd/vsftpd.conf

如果设置为

chroot_local_user=YES

chroot_list_enable=YES (这行可以没有, 也可以有)

chroot_list_file=/etc/vsftpd/chroot_list

那么, 凡是加在文件chroot_list中的用户都是不受限止的用户,即, 可以浏览其主目录的上级目录.


如果不希望某用户能够浏览其主目录上级目录中的内容,可以如上设置,然后在文件chroot_list中去掉或不添加该用户即可。

也就是说chroot_list这个文件为空。则通过FTP登录的用户就不能访问家目录以上的文件。


如果想让ftp用户访问其他目录,则在chroot_list 中添加要访问目录的用户名即可。  一行一个用户名

以上方法必须注意.




 

chroot_list 这个文件保存着登录FTP的用户,只有这里有的名称才有可能会登录。

chroot_list 位于 /etc/vsftpd/ 这个目录下,如果没有此文件,那你就新建一个即可。


vim chroot_list

d8.png

:x 或 :wq 保存退出



然后使用 

service vsftpd restart

重新启动vsftpd服务器。


d9.png





现在还不能访问,一定要解决防火墙的问题:

防火墙设置:

运行:

iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j ACCEPT

service iptables save

service iptables restart


或者直接关闭防火墙

service iptables stop


还有一点,SELinux一定要把这个关闭了,关闭的方法:


1、临时关闭(不用重启机器):

setenforce 0            ##设置SELinux 成为permissive模式


2、修改配置文件需要重启机器:

修改/etc/selinux/config 文件

将SELINUX=enforcing改为SELINUX=disabled

重启机器即可


以上这两种方式都会影响是否能够打开。