标签 vsFTPd 下的文章

 一.安装

1.用apt-get工具安装vsftpd

Java代码  收藏代码
  1. $ sudo apt-get install vsftpd  

 
2.检查FTP端口是否已经打开

Java代码  收藏代码
  1. $ netstat -tnl  



或者直接在浏览器里输入“ftp://服务器IP

开启、停止、重启vsftpd服务的命令:

Xml代码  收藏代码
  1. service vsftpd start | stop | restart  


二.配置
1.修改配置文件

Java代码  收藏代码
  1. $ sudo vi /etc/vsftpd.conf  


主要配置:

Xml代码  收藏代码
  1. listen=YES                 # 服务器监听  
  2. local_enable=YES         # 是否允许本地用户访问  
  3. n style="color: black;"> n class="attribute" style="color: red;">write_enable=YES         # 是否允许上传文件,不开启会报 550 permission denied  
  4. anonymous_enable=NO     # 匿名访问允许,默认不要开启,  
  5. #anon_upload_enable=YES # 匿名上传允许,默认是NO  
  6. #anon_mkdir_write_enable=YES # 匿名创建文件夹允许  


用户访问目录的权限设置:
默认配置下,本地用户登入FTP后可以使用cd命令切换到其他目录,这样会对系统带来安全隐患。可以通过以下三条配置文件来控制用户切换目录。

Xml代码  收藏代码
  1. chroot_local_user=YES      # 用于指定用户列表文件中的用户是否允许切换到上级目录。默认值为NO。  
  2. chroot_list_enable=YES  # 设置是否启用chroot_list_file配置项指定的用户列表文件。默认值为NO。  
  3. chroot_list_file=/etc/vsftpd.chroot_list      
  4. #禁用的列表名单,格式为一行一个用户,用于指定用户列表文件,该文件用于控制哪些用户可以切换到用户家目录的上级目录。  

 
通过搭配能实现以下几种效果:

Xml代码  收藏代码
  1. (1).当chroot_list_enable=YESchroot_local_user=YES时,在/etc/vsftpd.chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。  
  2. (2).当chroot_list_enable=YESchroot_local_user=NO时,在/etc/vsftpd.chroot_list文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录。  
  3. (3).当chroot_list_enable=NOchroot_local_user=YES时,所有的用户均不能切换到其他目录。  
  4. (4).当chroot_list_enable=NOchroot_local_user=NO时,所有的用户均可以切换到其他目录。  

 

其他配置解释:

Xml代码  收藏代码
  1. local_umask=022         # FTP上本地的文件权限,默认是077  
  2. dirmessage_enable=YES     # 进入文件夹允许  
  3. xferlog_enable=YES         # ftp 日志记录允许  
  4. connect_from_port_20=YES # 启用20号端口作为数据传送的端口  
  5. xferlog_enable=yes         # 激活上传和下传的日志  
  6. xferlog_std_format=yes     # 使用标准的日志格式  
  7. ftpd_banner=XXXXX         # 欢迎信息  

 
相关链接:
vsftpd配置文件详解

2.重启vsftpd服务

Java代码  收藏代码
  1. $sudo /etc/init.d/vsftpd restart  
  2. 或者  
  3. $ sudo service vsftpd restart  

注:修改配置文件后一定要重启服务才能生效

 
三.FTP增加删除用户
1.增加用户
#创建目录

Java代码  收藏代码
  1. mkdir -p /home/test  

 
#创建用户

Java代码  收藏代码
  1. sudo useradd -g ftp -d /home/test -m test  

(注:g:用户所在的组 d:表示创建用户的自己目录的位置给予指定 m:不建立默认的自家目录,也就是说在/home下没有自己的目录)

#设置用户口令

Java代码  收藏代码
  1. sudo passwd test123  

 
编辑/etc/vsftpd.chroot_list文件,将ftp的帐户名添加进去,保存退出

重新启动vsftpd:

Java代码  收藏代码
  1. $ sudo service vsftpd restart  

注:修改用户权限文件vsftpf.chroot_list文件后一定要重启服务才能生效


2.删除用户

Java代码  收藏代码
  1. $ sudo userdel test  

 


四.卸载

sudo apt-get remove --purge vsftpd

(--purge 选项表示彻底删除改软件和相关文件)