|
安排了一下行程还是把FTP先搭建起来,简单不费事。不过越是简单的服务,安全性越值得关注哦!这是学习用的笔记还不完整陆续更新。
FTP(file Transfer protocol)文件传输协议,是最早的服务之一了,而且是最公共的一个协议。FTP可以提供互补相似的两台机器,进行文件传输。这个过称可以不用知道对方是谁,是什么人。
系统:RHEL 6.2-X86_64
[iyunv@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是独立的包体。
[iyunv@kikupotter ~]# rpm -qa | grep vsftpd
vsftpd-2.2.2-6.el6_0.1.x86_64
[iyunv@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,然他随机启动吧,常用的东西。
[iyunv@kikupotter ~]# service vsftpd start
Starting vsftpd for vsftpd: [ OK ]
[iyunv@kikupotter ~]# chkconfig vsftpd on
[iyunv@kikupotter ~]#
///待研究///
今天刚接触到一个词,multihoming:就是一台机子跑这好几个ftp域。这个不知道跟虚拟主机有啥区别。
那vsftpd我们一台机子能装一个,他的解决方案是:创建多个副本守护进程。
方法:1:配置network,子接口。
2:dns 关联正确。
///待研究///
vsftpd配置
/etc/vsftpd/vsftpd.conf
格式:
<directive>=<value>(yes or no)
为了方便看我把所以都开了。
[iyunv@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 //这个搞不怎么懂
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 !
############################
|
|
|
|
|
|
|