Linux下FTP(vsftpd)的配置

来源:互联网 发布:linux rm -rf笑话 编辑:程序博客网 时间:2024/05/17 04:08

相关命令

--------------------------------------------------------------------------------------

安装命令:#yum -y install vsftpd
启动服务:#service vsftpd start   或者  #/etc/init.d/vsftpd start
关闭服务:#service vsftpd stop 或者 #/etc/init.d/vsftpd stop
重启服务:#service vsftpd restart 或者 #/etc/init.d/vsftpd restart

--------------------------------------------------------------------------------------

 

配置

-------------------------------------------------------------------------------------------------------

1.进入目录/etc/vsftpd,有三个文件ftpusers,user_list,vsftpd.conf。
      vsftpd.conf是主要配置文件,ftpusers和user_list用来限制用户能否登陆。
2.根据需求配置vsftpd.conf文件,其中一些配置含义如下:
  • write_enable=YES,开启全局上传。
  • local_enable=YES,允许本地用户登录。
  • local_umask=022,本地用户的umask设置为022(用户创建文件夹和上传文件夹的权限为rwxr-xr-x),系统默认。
  • local_max_rate=500000 ,本地用户的最大传输速度为500KBytes/s。
  •  
  • anonymous_enable=YES,允许匿名用户登录(匿名用户登陆进入的目录为/var/ftp,本地用户登陆的目录为自己的家目录)。
  • no_anon_password=YES,匿名用户登录时不需要输入密码。
  • anon_umask=077,匿名用户的umask设置。
  • anon_upload_enable=YES,允许匿名用户上传,要在write_enable=YES的情况下。(为了安全,一般都要避免匿名用户上传文件)
  • anon_mkdir_write_enable=YES,允许匿名用户创建目录
  • anon_other_write_enable=YES,允许用户用重命名,删除的权限。
  • anon_max_rate=80000,设置匿名用户的最大传输速度为80KBytes/s。
  •  
  • chown_uploads=YES,匿名用户上传的文件属主转换为别的用户。
  • chown_username=whoever,改此处的whoever为要转换的属主,建议root。
  • chroot_local_user=YES,将用户设置为只能在自己的家目录下活动。
  • chroot_list_enable=YES,用一个列表来限定哪些用户只能在自己目录下活动。
  • chroot_list_enable=/etc/vsftpd/chroot_list,指定用户列表文件。
  •  
  • dirmessage_enable=YES,当用户转换一个目录时,会显示该目录下的.message内容。
  • ftpd_banner=Welcome to blah FTP service,登陆FTP服务器时显示信息“Weclome to blah FTP service”。
  •  
  • xferlog_enable=YES,打开日志记录功能。
  • xferlog_file=/var/log/xferlog,日志记录文件的位置。
  • xferlog_std_format=YES,采用标准日志格式
  • deny_email_enable=YES,可以创建一个文件保存某些匿名电子邮件的黑名单,以防止这些人使用Dos攻击。
  • banned_email_file=/etc/vsftpd/banned_emails,保存电子邮件黑名单的目录(默认)。
  • liseten=YES,设置FTP服务器处于独立启动模式(相对于受xinetd管理的启动模式)。 
  • pam_service_name :设置PAM认证服务的配置文件名称,该文件保存在“/etc/pam.d”目录下。
  • tcp_wrappers=YES,设置FTP服务器将使用tcp_wrappers作为主机访问控制方式。注:tcp_wrappers可以实现Linux系统中网络服务的基于主机地址的访问控制,在“/etc”目录中的hosts.allow(允许访问记录)和hosts.deny(拒绝访问记录)两个文件用于设置tcp_wrappers的访问控制。(在/etc/host.allow文件中增加 vsftpd:192.168.121.1:DENY   就禁止了192.168.121.1这台主机访问服务器)。
  • idle_session_timeout=600,客户端超过600S没有动作就自动被服务器踢出。
  • data_connection_timeout=120,数据传输时超过120S没有动作被服务器踢出 。
  • listen_address=192.168.0.33,只允许192.168.0.33访问FTP服务器。
  • connect_from_port_20=YES,监听20号端口(FTP的服务的端口号  21端口:传输FTP命令   20端口:传输文件)。
  • max_clients:用于设置FTP服务器所允许的最大客户端连接数,0表示无限制。
  • max_per_ip :用于设置对于同一IP地址允许的最大客户端连接数,0表示无限制。
3.关于user_list和ftpusers
   所有在ftpusers里的用户,都不可以登陆服务器;
   当配置文件里userlist_enable=NO时,user_list列表不生效,列表内和列表外的用户都可以登陆;
   当配置文件里userlist_enable=YES,userlist_deny=YES时,user_list列表内的用户不可以登陆,列表外的用户可以登陆;
   当配置文件里userlist_enable=YES,userlist_deny=NO时,user_list列表外的用户(包括匿名用户)不可以登陆,列表内的用户可以以命令行的方式登陆。
------------------------------------------------------------------
 
配置虚拟用户(使用db实现)
------------------------------------------------------------------
(1)查看系统是否有相应软件包 # rpm –qa | grep db4 db4-devel-4.2.52-7.1 db4-4.2.52-7.1 db4-utils-4.2.52-7.1 (2)建立一个logins.txt的文件,单行为用户名,双行为密码,例如 # vim /etc/vsftpd/virtual_userqian_f 123456(3)建立数据库文件并设置文件属性 # db_load -T -t hash -f /etc/vsftpd/virtual_user /etc/vsftpd/virtual_user.db# chmod 600 /etc/vsftpd/virtual_user.db(4)建立认证文件 # vim /etc/pam.d/vsftpd 插入如下两行 auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/virtual_user.db account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/virtual_user.db (5)编写配置文件# vim /etc/vsftpd/vsftpd.conf
guest_enable=YES 
guest_username=jiang
virtual_use_local_privs=YES //虚拟用户和本地用户权限相同
user_config_dir=/etc/vsftpd/user_conf //如果要求每个用户权限不一样的话,新建该目录并以用户名在该目录下建立配置文件。
例如:# mkdir /etc/vsftpd/user_conf
# vim /etc/vsftpd/user_conf/qian_flocal_root=/home/qian_fwrite_enable=YES anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES (6)启动程序 ----------------------------------------------------------------

 

 

修改服务端口

-----------------------------------------------------------------------

在/etc/vsftpd/vsftpd.conf文档后面添加以下语句:
listen_port=8001
 
在/etc/services下将以下语句:
ftp               21/tcp
ftp               21/udp                fsp fspd
更改为:
ftp             8001/tcp
ftp             8001/udp                fsp fspd
完成后使用ftp://IP:PORT来登陆服务器。

---------------------------------------------------------------------------

 

 

 

参考网址:

http://www.uplinux.com/shizi/wenxian/4656.html
http://www.shan8.com/2011/03/21/linux-ftpusers和user_list-区别/
http://club.topsage.com/thread-165171-1-1.html
http://www.itokit.com/2011/0516/66191.html
http://www.myexception.cn/powerdesigner/475881.html
http://school.21tx.com/2009/06/13/11149.html
http://www.cnblogs.com/hhuai/archive/2011/02/12/1952647.html

原创粉丝点击