IT技术互动交流平台

RHEL下FTP服务配置及技术整理

作者:kikupotter  发布日期:2012-08-07 09:45:12

      安排了一下行程还是把FTP先搭建起来,简单不费事。不过越是简单的服务,安全性越值得关注哦!这是学习用的笔记还不完整陆续更新。
       FTP(file Transfer protocol)文件传输协议,是最早的服务之一了,而且是最公共的一个协议。FTP可以提供互补相似的两台机器,进行文件传输。这个过称可以不用知道对方是谁,是什么人。
      系统:RHEL 6.2-X86_64
[root@kikupotter ~]# uname -a
Linux kikupotter.example.com 2.6.32-220.el6.x86_64 #1 SMP Wed Nov 9 08:03:13 EST 2011 x86_64 x86_64 x86_64 GNU/Linux
      下面以RHEL中的vsftpd来介绍ftp.
开始之前,要知道ftp是世界上用的最广泛的共享文件服务。所以要做一定的共享(share)。
  FTP:(multiple network port to work)基于多端口运行。
  21:command port(命令端口,接受ftp命令用的,并且解释运行这些个命令,等着用户接上来,用户执行的命令都用21号端口来接受执行。)
  20:connection port连接端口,与ftp客户端实现连接。
  FTP的两种运行模式
      cative mode:主动模式最开始的模式,处于active时,客户端开始发动连接,这时FTP server 的20号端口就会跟客户机对应ip的大于1024的一个随机端口进行连接。但是这种主动的连接已经被大多数防火墙视为不安全连接,所以就有passive被动连接出现了。
      passive mode:方式差不多,但是客户端主动连接了,不是服务器主动连。

      废话说完了
  RHEL 之FTP SERVER : vsftpd(评价是:快,稳定,最重要是安全)
  vsftpd; very secure ftp daemon 这个名字很霸气把:很安全的ftp守护进程。
vsftpd是独立的包体。
[root@kikupotter ~]# rpm -qa | grep vsftpd
vsftpd-2.2.2-6.el6_0.1.x86_64
[root@kikupotter ~]# rpm -ql vsftpd-2.2.2-6.el6_0.1.x86_64
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd        //pam认证
/etc/rc.d/init.d/vsftpd  //启动脚本
/etc/vsftpd             
/etc/vsftpd/ftpusers     //
/etc/vsftpd/user_list    //ACL,deny or access,access的用户不能出现在ftpusers的文件中。
/etc/vsftpd/vsftpd.conf  //主配置文件
/etc/vsftpd/vsftpd_conf_migrate.sh
/usr/sbin/vsftpd         //主程序
.......
.......
/var/ftp                 //vsftpd的夹子
/var/ftp/pub             //对匿名用户开放的夹子。两个夹子都要是只读的哦!什么人都可以写那就乱套了。


  安装完vsftpd,然他随机启动吧,常用的东西。
[root@kikupotter ~]# service vsftpd start
Starting vsftpd for vsftpd:                                [  OK  ]
[root@kikupotter ~]# chkconfig vsftpd on
[root@kikupotter ~]#
   ///待研究///
   今天刚接触到一个词,multihoming:就是一台机子跑这好几个ftp域。这个不知道跟虚拟主机有啥区别。
   那vsftpd我们一台机子能装一个,他的解决方案是:创建多个副本守护进程。
  方法:1:配置network,子接口。
       2:dns 关联正确。
    ///待研究///

  vsftpd配置
/etc/vsftpd/vsftpd.conf
格式:
<directive>=<value>(yes or no)
为了方便看我把所以都开了。
[root@kikupotter ~]# cat /etc/vsftpd/vsftpd.conf |grep -v "#"
anonymous_enable=YES  //允许匿名用户登录
###如果deny_email_enable=YES,那么banned_email_file就会存着不允许登录的匿名用户的邮件密码。
deny_email_enable=YES
banned_email_file=/etc/vsftpd/banned_emails
###
cmds_allowed
anner_file 定义登录后显示的信息。覆盖ftpd_banner
ftpd_banner=Welcome to blah FTP service.
local_enable=YES      //本地用户登录
pam_service_name=vsftpd //PAM 服务的vsftpd
tuserlist_file
cp_wrappers=YES
userlist_deny=YES
userlist_enable=YES

Anonymous User Options
write_enable=YES              //可写
local_umask=022               //本地用户权限
anon_upload_enable=YES        //允许上传与write_enable=YES匹配
anon_mkdir_write_enable=YES   //可以建夹子
anon_world_readable_only=YES  //匿名用户只能下载world_readable的文件
ftp_username=ftp              //指定本地用户(/etc/passwd)给匿名用户用。
no_anon_password=NO           //匿名用户不需要密码
secure_email_list_enable      //这个搞不怎么懂

  www.it165.net

Local User Options:这些选项都必须是在local_enable=YES 的基础上。

chmod_enable
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
ls_recurse_enable=YES
listen=YES
listen_ipv6=YES
guest_enable
guest_username
local_root
lopasswd_chroot_enable
local_umask
user_config_dir=/etc/vsftpd/vsftpd.conf

 

#####################
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=YES  
chown_username=whoever
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
idle_session_timeout=600
data_connection_timeout=120
nopriv_user=ftpsecure
async_abor_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES

先到这里,困咯。考虑只把常用的列出来,太多了T T !

############################

 

本文出自 “kikupotter” 博客
 

Tag标签: RHEL   FTP服务  
  • 专题推荐

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规