linux下vsftpd的安装

一.查看是否已经安装vsftpd:

rpm -qa|grep vsftpd

如果已经安装,需要卸载的话使用:

rpm -e vsftpd-2.2.2-11.el6_3.1.x86_64 --nodeps 

如果没有安装,则安装:

yum -y install vsftpd

配置vsftpd

vi /etc/vsftpd/vsftpd.conf

二.开启匿名登录

ftp匿名登录一般只作为公共文件服务器下载使用,一般只读下载,不提供上传功能

anonymous_enable=YES #开启匿名登录,默认的服务路径是ftp用户的宿主目录

#anon_upload_enable=YES #禁止上传

#anon_mkdir_write_enable=YES #禁止写

#激活上传和下载日志

xferlog_enable=YES 

xferlog_file=/var/log/xferlog

xferlog_std_format=YES

#设置欢迎信息

ftpd_banner=Welcome to blah FTP service.

#设置匿名用户最大传输速率

anno_max_rate=100000 #大约是100KB/s

#最后加入如下配置:ftp会使用随机端口,这里做一下限制,保证端口可控,下面开通防火墙即可

pasv_enable=YES

pasv_max_port=30100

pasv_min_port=30000

开启防火墙:

开启端口:

-A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT

-A INPUT -p tcp --dport 30000:30100 -j ACCEPT

重启防火墙:

service iptables restart

重启vsftpd服务

service vsftpd restart

测试:

windows下开启cmd:

C:\Users\Administrator>ftp 192.168.36.24

连接到 192.168.36.24。

220 Welcome to blah FTP service.

用户(192.168.36.24:(none)): anonymous #输入anonymous,回车 

331 Please specify the password.

密码:                                 #直接回车

230 Login successful.

说明:

1.用户也可以使用ftp,不过要修改/etc/passwd,将ftp的密码位去掉,否则会要求你输入密码。

2.下载文件使用命令:get filename ,默认下载到登录ftp前的目录

3.ftp命令

退出:quit、bye  

查看文件:ls   

切换目录:cd  

查看当前目录:pwd 

切换为二进制传输模式:bin/binary   :比如tar.gz等二进制文件,否则传输后可能无法正常使用

切换目录:lcd dir:ftp的工作目录,上传file时,表示file在该目录下,下载file时,表示下载到该目录

hash:传输过程中显示进度,每传输1k数据打印一个#

下载:get file

下载多个:mget file1 file2  # *:表示全部

上传:put file

上传多个:mput file1 file2

关闭交互模式:prompt,就是不询问

如果没有在ftp命令后面指定ip地址,可以使用open,user命令登录:

链接ftp服务器:open ip

输入用户名密码:user username passwd

根据上面的命令,可以写一个自动化的ftp上传或者下载脚步,下面就是一个上传文件的自动化脚步:

#!/bin/bash

#ftp_put.sh file

ftp -v -n 192.168.36.24 << EOF  #-n 关闭命令行模式 -v 输出信息

user ftp ftp@ #如果没有密码,则密码位输入任意字符即可

binary

hash

lcd /usr/local/doc       #登录用户要有该目录的相关权限

prompt

mput $1

bye

EOF

4.也可以使用windows资源管理器登录,ftp://192.168.36.24

三.普通用户登录

1.默认情况下,任意linux的有效用户都可以通过用户名/密码的方式登录ftp服务器,默认访问宿主目录,支持上传下载。

如果要禁止用户ssh到linux ,但是可以ftp到linux,则在创建用户时使用如下方式:

/usr/sbin/adduser -d /opt/ftp -g ftp -s /sbin/nologin ftpuser  :禁止ftpuser用户登录系统,但可以ftp登录,家目录是/opt/ftp ,如果目录不存在,则需要先mkdir

passwd ftpuser :设置登录密码

2.配置文件设置:

#必须开启这三个配置

local_enable=YES #允许用户登录

write_enable=YES #允许写权限

local_umask=022  #默认创建的目录、文件的权限

local_max_rate=200000 #用户最大传输速率200KB/s

3.限制指定的用户不能访问,而其它用户可以访问

userlist_enable=YES

userlist_deny=YES

userlist_file=/etc/vsftpd.user_list #一个用户名占一行,写入这个文件的用户不能访问

4.限制指定的用户可以访问,而其它用户不可以访问(推荐)

userlist_enable=YES

userlist_deny=NO

userlist_file=/etc/vsftpd.user_list #一个用户名占一行,写入这个文件的用户可以访问

5.使登录ftp的用户只能访问自己的宿主目录

chroot_local_user=YES #把宿主目录当成根目录,使用户不能访问其他目录

#如果希望有些用户仍可以访问根目录,则开启如下设置

chroot_list_enable=YES #开启限制列表功能

chroot_list_file=/etc/vsftpd/chroot_list #设置哪些用户可以访问根目录,注意这里不是限制,是开启

四.其他设置选项

idle_session_timeout=600 #会话空闲600秒后挂断

max_clients=50 #允许的最大并发数

max_per_ip=3 #每个客户机允许的最大连接数

listen_port=10011 #指定非标准端口,默认服务监听是21 ,数据传输端口20,推荐修改21端口,避免端口扫描攻击。

        如果修改了标准端口,使用ftp ip port 登录

        端口扫描工具:安装:yum install nmap -y

                  nmap IP #如果修改了默认端口,则不能被扫描到。

                  nmap -p1-65535 IP #指定端口扫描范围从1到65535,这样就会扫描到,但是会非常慢,另外也判断不出是什么服务

参考资料:http://www.iteye.com/topic/1127829

猜你喜欢

转载自hanqunfeng.iteye.com/blog/1984320
今日推荐