vsftpd使用指南

vsftpd(Very Secure FTPd Daemon)是LINUX下一款常用的FTP服务端软件。下面我简单的介绍一下安装和配置过程。



在LINUX中开启21端口 (这是一般FTP默认使用的端口,你也可以用自己的端口号,当然如果这样vsftpd的配置文件也需要相应的修改,在此我只介绍默认的21端口)

# vi /etc/sysconfig/iptables

打开系统的配置文件,在其中添加一句配置代码以打开21端口:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 - j ACCEPT

然后保存修改。重启防火墙使配置生效。
# service iptables restart

首先检查是否已经安装了vsftpd
# rpm -qa | grep vsftpd
如果已经安装,则会显示它的版本号,如果执行命令后无任何显示说明系统没有安装




1.通过yum来安装vsftpd

[root@localhost ~]# yum -y install vsftpd

加-y是因为出现提示默认直接按Y。这里yum安装的vsftpd版本应该是2.2.2的。

[root@localhost ~]# service vsftpd status  //查看状态,默认是关闭的
            [root@localhost ~]# service vsftpd start    //开启vsftpd服务

2.设置为开机启动

[root@localhost ~]# chkconfig vsftpd on

3.进行相关配置,配置修改在/etc/vsftpd/vsftpd.conf里面;

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf

用vim对代码着色更容易修改。比vi要清楚。自己按照需求进行设置,请看下面的vsftpd.conf的相关配置说明。

 

4.设置vsftp的帐号。

普通的添加帐号的话,可以用该帐号登录服务器,使用nologin禁止FTP帐户登录服务器。

只需要执行命令:

[root@localhost ~]# useradd -d /usr/local/apache/htdocs -s /sbin/nologin 用户名 

 添加上帐号指定好ftp帐号的根目录。例如下面的代码,创建ftp帐号ftpuser在网站的根目录htdocs下。

[root@localhost ~]# useradd -d /usr/local/apache/htdocs -s /sbin/nologin ftpuser

帐号设置好了,但是还没有给帐号加上密码。使用passwd给帐号设置密码。

[root@localhost ~]# passwd ftpuser
            New password
            //输入密码
            Retype new password
            //再次输入密码

输入好了就可以通过帐号密码来访问vsftpd了。

 

简单版

添加FTP用户

OK,既然关闭了匿名服务,那么用哪个用户来登录呢?这时需要为vsftpd新建一个用户,也就是你登录FTP时候使用的用户。
# useradd -d /var/ftp/pub -s/sbin/nologin FTPuserName

为这个用户设置登录密码:
# passwd FTPuserName

现在就可以使用这个叫做FTPuserName的用户来登录FTP了。


修改FTP文件夹的读写权限


接着你可能还会发现,为什么不能新建、删除文件夹\文件,因为/var/ftp/pub目录没有操作权限,给这个目录设置上可删写的权限即可。
  chmod 777 /var/ftp/pub
 


配置用户目录

vsftpd 设置用户目录

增加一个用户ftpuser并设置其目录为/opt/ftp:

1 增加组 groupadd ftpgroup

2 修改vsftpd.conf

 
 
  1. vi /etc/vsftpd/vsftpd.conf  
  2.  

将底下三行

 
 
  1. #chroot_list_enable=YES 
  2.  
  3. # (default follows)  
  4.  
  5. #chroot_list_file=/etc/vsftpd/chroot_list  
  6.  

改为

 
 
  1. chroot_list_enable=YES 
  2.  
  3. # (default follows)  
  4.  
  5. chroot_list_file=/etc/vsftpd/chroot_list  
  6.  

3 增加用户ftpuser并设置其目录为/opt/ftp

 
 
  1. useradd -g ftpgroup -d /opt/ftp -M ftpuser  
  2.  

4 设置用户口令 passwd ftpuser

5 编辑chroot_list文件:

 
 
  1. vi /etc/vsftpd/chroot_list  
  2.  

内容为ftp用户名,每个用户占一行,如:

 
 
  1. ftpuser  
  2.  

6 重新启动vsftpd

 
 
  1. /sbin/service vsftpd restart  

只能设置自己访问的目录

vsftpd.conf
chroot_list_file=/etc/vsftpd.chroot_list
如果设置为
chroot_local_user=YES
chroot_list_enable=YES(这行可以没有, 也可以有)
chroot_list_file=/etc/vsftpd.chroot_list
那么, 凡是加在文件vsftpd.chroot_list中的用户都是不受限止的用户,即, 可以浏览其主目录的上级目录.
如果不希望某用户能够浏览其主目录上级目录中的内容,可以如上设置,然后在文件vsftpd.chroot_list中去掉或不添加该用户即可。
也可以如下配置
chroot_local_user=NO
chroot_list_enable=YES(这行必须要有, 否则文件vsftpd.chroot_list不会起作用)
chroot_list_file=/etc/vsftpd.chroot_list
然后把所有不希望有这种浏览其主目录之上的各目录权限的用户添加到文件vsftpd.chroot_list中即可(一行一个用户名,此时, 在该文件中的用户都是不可以浏览其主目录之外的目录的)

=====================================================

vsftpd.conf的相关配置说明:(下面这段摘抄自网络。)

1) 匿名服务器的连接

Anonymous_enable=yes (允许匿名登陆)

Dirmessage_enable=yes (切换目录时,显示目录下.message的内容)

Local_umask=022 (FTP上本地的文件权限,默认是077)

Connect_form_port_20=yes (启用FTP数据端口的数据连接)*

Xferlog_enable=yes (激活上传和下载的日志)

Xferlog_std_format=yes (使用标准的日志格式)

Ftpd_banner=XXXXX (欢迎信息)

Pam_service_name=vsftpd (验证方式)*

Listen=yes (独立的VSFTPD服务器)*

功能:只能连接FTP服务器,不能上传和下载

注:其中所有和日志欢迎信息相关连的都是可选项,打了星号的无论什么帐户都要添加,是属于FTP的基本选项

 

2)开启匿名FTP服务器上传权限(看看即可,一般不开启匿名上传权限)

Anon_upload_enable=yes (开放上传权限)Anon_mkdir_write_enable=yes (可创建目录的同时可以在此目录中上传文件)

Write_enable=yes (开放本地用户写的权限)

Anon_other_write_enable=yes (匿名帐号可以有删除的权限)

 

3)开启匿名服务器下载的权限

在配置文件中添加如下信息即可:

Anon_world_readable_only=no

注:要注意文件夹的属性,匿名帐户是其它(other)用户要开启它的读写执行的权限

(R)读,下载 (W)写,上传 (X)执行。如果不开FTP的目录都进不去

 

4)普通用户FTP服务器的连接

Local_enble=yes (本地帐户能够登陆)

Write_enable=no (本地帐户登陆后无权删除和修改文件)

功能:可以用本地帐户登陆vsftpd服务器,有下载上传的权限

注:在禁止匿名登陆的信息后匿名服务器照样可以登陆但不可以上传下载

 

5) 用户登陆限制进其它的目录,只能进它的主目录

设置所有的本地用户都执行chroot

Chroot_local_user=yes (本地所有帐户都只能在自家目录)

设置指定用户执行chrootChroot_list_enable=yes (文件中的名单可以调用)

Chroot_list_file=/任意指定的路径/vsftpd.chroot_list

注意:vsftpd.chroot_list 是没有创建的需要自己添加,要想控制帐号就直接在文件中加帐号即可

 

6) 限制本地用户访问FTP

Userlist_enable=yes (用userlist来限制用户访问)

Userlist_deny=no (名单中的人不允许访问)

Userlist_file=/指定文件存放的路径/ (文件放置的路径)

注:开启userlist_enable=yes匿名帐号不能登陆

 

7)安全选项

Idle_session_timeout=600(秒) (用户会话空闲后10分钟)

Data_connection_timeout=120(秒) (将数据连接空闲2分钟断)

Accept_timeout=60(秒) (将客户端空闲1分钟后断)

Connect_timeout=60(秒) (中断1分钟后又重新连接)

Local_max_rate=50000(bite) (本地用户传输率50K)

Anon_max_rate=30000(bite) (匿名用户传输率30K)

Pasv_min_port=50000 (将客户端的数据连接端口改在

Pasv_max_port=60000 50000—60000之间)

Max_clients=200 (FTP的最大连接数)

Max_per_ip=4 (每IP的最大连接数)

Listen_port=5555 (从5555端口进行数据连接)

 

8) 查看谁登陆了FTP,并杀死它的进程

ps –xf |grep ftp

kill 进程号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值