2010年9月28日 星期二

CentOS 5.4 安裝配置 vsftpd

一、vsftpd介绍

vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。

vsftpd 的名字代表”very secure FTP daemon”, 安全是它的开发者 Chris Evans 考虑的首要问题之一。在这个 FTP 服务器设计开发的最开始的时候,高安全性就是一个目标。
二、vsftpd安装

#yum install vsftpd
三、安装后的基本配置

#vi /etc/vsftpd/vsftpd.conf

anonymous_enable=NO

anon_upload_enable=NO

anon_mkdir_write_enable=YES

write_enable=YES

ftpd_banner=Welcome to Mven.CN FTP service.

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

#vi /etc/vsftpd/chroot_list

ftpuser

修改以上这些,其他的可以不用动
四、启动vsftpd服务

#service vsftpd restart

启动服务后,这样就可以使用FTP了。
五、vsftpd配置文件说明

#vi /etc/vsftpd/vsftpd.conf

#匿名设置

anonymous_enable=YES 是否允许匿名ftp,如否则选择NO

anon_upload_enable=YES 是否允许匿名用户上传文件

anon_mkdir_write_enable=YES 是否允许匿名用户创建目录

#基本设置

local_enable=YES 是否允许本地用户登录

write_enable=YES 是否允许用户对FTP服务器具有写权限

local_umask=022 设置本地用户的文件掩码,默认022

#欢迎(提示)信息设置

ftpd_banner=Welcome to Mven.CN FTP service. 设置FTP服务器欢迎消息

dirmessage_enable=YES 是否启用目录说明

message_file=.message 设置访问一个目录时获得的目录信息文件的文件名,默认是.message

#日志配置

xferlog_enable=YES 是否启用上传和下载日志的功能

xferlog_file=/var/log/vsftpd.log ftp传输日志的路径和名字默认是/var/log/vsftpd.log

#连接数和速度

max_clients=100 最大客户端数100,默认是0不限止

max_per_ip=5 每个客户端最大连接数5

local_max_rate=500000 本地用户速度限制(单位是b)

anon_max_rate=2000 匿名和虚拟用户速度限制(单位是b)

#限制用户设置

chroot_local_user=YES 把所有用户限制在自己的home目录下 全局生效

chroot_list_enable=YES 是否将系统用户限制在自己的home目录下

chroot_list_file=/etc/vsftpd/chroot_list 此文件中列出的用户将被限制在自己的home目录下

如果chroot_local_user=YES,chroot_list_enable=YES的话,在chroot_list中的本地用户就不能锁定在自己的目录内了,而没有在chroot_list文件中的本地用户可以锁定在自己的家目录中。

userlist_enable=YES 是否启用用户访问列表。如果启用了则出现在/etc/vsftpd/user_list中的用户都不能登录ftp。

userlist_deny=NO 出现在/etc/user_list中的用户能登录ftp,没有出现的用户不能登录ftp

deny_email_enable=YES 是否允许禁止匿名用户使用某些邮件地址

banned_email_file=/etc/vsftpd/banned_emails 如果是输入禁止的邮件地址的路径和文件名

#其他设置

connect_from_port_20=YES 是否确信端口传输来自20(ftp-data)

chown_upload=YES 是否改变上传文件后的属主

chown_username=username 把上传的文件的属主都改成username

idle_session_timeout=600 设置默认的断开不活跃session的时间

xferlog_std_format=YES 是否使用标准的ftp xferlog模式

data_connection_timeout=120 设置数据传输超时时间

nopriv_user=ftpsecure 运行vsftpd需要的非特权系统用户默认是nobody

ascii_upload_enable=YES

ascii_download_enable=YES 是否使用ascii码方式上传和下载文件

listen=YES 是否开启监听

tcp_wrappers=YES tcp_wrappers设置,俗称“防水墙”,针对进程,防火墙针对IP、Port、service
实验:让匿名用户可以上传,但不能查看等功能

1、在FTP Server操作

#mkdir /var/ftp/up

#chown root:ftp /var/ftp/up

#chmod 730 /var/ftp/up

#vi /etc/vsftpd/vsftpd.conf

anonymous_enable=YES #启用匿名用户

anon_upload_enable=YES #匿名用户可以上传

chown_uploads=YES #更改上传后文件的所有者

chown_username=daemon #更改上传后文件的所有者名称

anon_umask=077 #上传文件后的权限,600

#service vsftpd restart

2、在FTP Client操作

#cd /tmp #切换到/tmp目录

#mkdir ftpfile #创建测试文件

#ftp 192.168.1.83 #连接到FTP服务器

ftp> cd up #切换到up目录

ftp> put ftpfile #上传文件

ftp> ls #只能上传不能查看

3、完成后在FTP Server上查看

[root@rhce1 ftp]# cd /var/ftp/up

[root@rhce1 up]# ls -l

total 0

-rw――- 1 daemon ftp 0 May 26 22:28 ftpfile

vsftp的含义就是Very Security Ftp,其实就是一款FTP软件。

  1、下载:

  从天空软件园下载软件,我的版本是2.2.2,软件名为vsftpd-2.2.2.tar.gz

  2、编译源代码:

  tar xvzf vsftpd-2.2.2.tar.gz (解压,并进入解压后目录vsftpd-2.2.2)

  3. 将vsftpd-2.2.2复制到/etc 目录下

  cp -r ./vsftpd-2.2.2 /etc/vsftpd-2.2.2

  4. 修改目录权限,为了方便,我将权限设为777,可以根据需要设

  chmod -R 777 /etc/vsftpd-2.2.2

  5. 编译源文件

  cd /etc/vsftpd-2.2.2

  make

  6. 安装

  make install

  7. 编辑配置:

  用vi打开vsftpd.conf,默认的不用管他了

  直接在最后一行加上Listen=YES(独立的VSFTPD服务器)

  8. 启动服务:

  /etc/init.d/vsftpd start

  用netstat -tnl查看,如果有21端口证明已经安装配置成功

  这个时候已经能用FTP,但不能使用匿名访问。

  9. 匿名访问:

  mkdir /var/ftp

  chown root.root /var/ftp

  chmod og-w /var/ftp

  这样就能匿名访问。如果还不清楚的话可以参考安装 帮助more INSTALL

  10. 开机自启动

  用vi打开、etc/rc.local在里面加入/etc/init.d/vsftpd start 即可。

  以下是vsftpd.conf的参数程序代码:

  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服务器

  Anon_upload_enable=yes 匿名用户上传权限

  Anon_mkdir_write_enable=yes 创建目录的同时可以在此目录中上传文件

  Write_enable=yes 本地用户写的权限

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

  Anon_world_readable_only=no 匿名用户浏览权限

  Ascii_upload_enable=yes 启用上传的ASCII传输方式

  Ascii_download_enable=yes 启用下载的ASCII传输方式

  Banner_file=/var/vsftpd_banner_file 用户连接后欢迎信息使用的是此文件中的相关信息

  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=5000 将客户端的数据连接端口改在

  Pasv_max_port=6000 5000-6000之间

  Max_clients=200 FTP的最大连接数

  Max_per_ip=4 每IP的最大连接数

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

  Local_enble=yes 本地帐户能够登陆

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

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

  Chroot_list_enable=yes 文件中的名单可以调用

  Chroot_list_file=/etc/vsftpd.chroot_list 前提是chroot_local_user=no

  Userlist_enable=yes 在指定的文件中的用户不可以访问

  Userlist_deny=yes

  Userlist_file=/etc/vsftpd.user_list

  Banner_fail=/ 路径/文件名 连接失败时显示文件中的内容

  Ls_recurse_enable=no

  Async_abor_enable=yes

  one_process_model=yes

  Listen_address=10.2.2.2 将虚拟服务绑定到某端口

  Guest_enable=yes 虚拟用户可以登陆

  Guest_username=所设的用户名 将虚拟用户映射为本地用户

  Chown_uploads=yes 改变上传文件的所有者为root

  Chown_username=root

  Deny_email_enable=yes 是否允许禁止匿名用户使用某些邮件地址

  Banned_email_file=//任意指定的路径/xx/

  Pasv_enable=yes 服务器端用被动模式

  User_config_dir=/任意指定的路径//任意文件目录 指定虚拟用户存放配置文件的路径上传的ASCII传输方式

  Ascii_download_enable=yes 启用下载的ASCII传输方式

  Banner_file=/var/vsftpd_banner_file 用户连接后欢迎信息使用的是此文件中的相关信息

  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=5000 将客户端的数据连接端口改在

  Pasv_max_port=6000 5000-6000之间

  Max_clients=200 FTP的最大连接数

  Max_per_ip=4 每IP的最大连接数

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

  Local_enble=yes 本地帐户能够登陆

  Write_enable=no 本地帐户登陆后无
參考來源:請按我

沒有留言:

張貼留言