配置好服务器了,但是没有ftp如何上传文件?
今天就来看一下,如何使用 linux下的vsftpd,好,来看看
第一步:检测是否有安装vsftpd
# rpm -q vsftpd
提示,vsftpd is not installed 没有安装。
如果已经安装,那么 删除一下
yum remove vsftpd
我们重新安装。
第二步:进行安装
# yum install -y vsftpd
等待安装完成即可。看图
chkconfig --add vsftpd
chkconfig vsftpd on
通过
rpm -ql vsftpd
找到安装软件的目录
第三步,配置vsftpd
vsftpd的配置文件位于 /etc/vsftpd/vsftpd.conf
首先建立一个用户,来ftp登录
groupadd myftp
useradd -d /data -s /sbin/nologin -g myftp song_james
给用户song_james 设置一个密码: ftp登录需要密码啊
passwd song_james
vim /etc/vsftpd/vsftpd.conf
编辑配置文件如下:
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
:x 或 :wq 保存退出
然后使用
service vsftpd restart
重新启动vsftpd服务器。
现在还不能访问,一定要解决防火墙的问题:
防火墙设置:
运行:
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
重启机器即可
以上这两种方式都会影响是否能够打开。