FTP配置

20.1 ftp服务ftp采用客户/服务器工作模式,这里采用的是vsftpd ftp服务器软件。ftp工作方式分为两种,一种port主动模式,一种pasv被动模式,是服务主动与被动进行连接。一般ftp服务器都为被动模式。20.1.1 vsftp概述rpm -qc vsftpd/etc/logrotate.d/vsftpd.log/etc/pam.d/vsftpd /*vsftp的安全验证文件*//etc/vsftpd/ftpusers /*其中的用户不能登陆ftp*//etc/vsftpd/user_list /*其中的用户不能登陆ftp同上一样*//etc/vsftpd/vsftpd.conf /*ftp主配置文件*//etc/vsftpd/vsftpd_conf_migrate.shvsftp的主目录的位置在/var/ftp下,并且是系统默认,不能更改。vsftp在通过rpm包安装好后,打开其服务并设为自动运行后,ftp就可以提供服务了。20.1.2 vsftp安装与启动如果没有安装的话,通过以下方式进行安装。rpm -ivh vsftpd-2.0.4-1.2.i386.rpm warning: vsftpd-2.0.4-1.2.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2Preparing... ########################################### [100%] 1:vsftpd ########################################### [100%]vsftpd服务采用是独立启动方式来启动的。chkconfig --level 345 vsftpd on设为开机自启动service vsftpd start 启动ftp服务。20.2 vsftp访问配置20.2.1 vsftp匿名用户匿名用户:ftp 与anonymous其主目录为/var/ftp普通用户:用户名为登录用户名,主目录为/home/用户名20.2.2 vsftp默认配置文件去掉#后配置选项如下:vi vsftpd.confanonymous_enable=YES /*匿名用户启用*/local_enable=YES /*本地用户可登陆*/write_enable=YES /*是否允许写*/local_umask=022 /*锁定创建文件权限*/#anon_upload_enable=YES /*是否允许匿名用户上传*/#anon_mkdir_write_enable=YES /*是否允许匿名用户创建目录*/dirmessage_enable=YES /*允许显示目录信息*/xferlog_enable=YES /*启用记录上传与下载日志*/connect_from_port_20=YES /*开启20端口*/#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格式上传*/#ascii_download_enable=YES /*是否使用ascii格式下载*/#ftpd_banner=Welcome to blah FTP service. /*服务器banner*/#deny_email_enable=YES /*启用电子邮件阻止*/#banned_email_file=/etc/vsftpd/banned_emails /* 阻止的邮件地址文件*/#chroot_list_enable=YES /*是否允许用户改变主目录*/#chroot_list_file=/etc/vsftpd/chroot_list /*允许改变主目录的用户*/#ls_recurse_enable=YES /*是否允许用户ls -R循环显示每一个目录*/pam_service_name=vsftpd /*验证服务名*/userlist_enable=YES /*用户列表中的用户不能登录FTP*/#userlist_file=/etc/vsftpd/user_listlisten=YES /*监听模式*/tcp_wrappers=YES说明:默认配置文件就已经能够实现匿名用户对/var/ftp文件内容的下载,以及本机用户对自已主目录的访问(上传与下载)。20.3 vsftp配置基本实例20.3.1 改变端口号vi vsftpd.conf#新增底下一行,原有的配置不动listen_port=2121#重启服务service vsftpd restart20.3.2 特定用户不能更改目录使用者的预设目录为/home/username,若是我们不希望使用者redhat在ftp 时能够切换到上一层目录/home,则可参考以下步骤。#去掉注释chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list#或以上选项注释掉,所有用户都不能更改目录。#编辑下列文件vi /etc/vsftpd/chroot_list#加入内容redhat#重启服务service vsftpd restart20.3.3 允许匿名上传vi vsftpd.conf#修改以下内容anon_upload_enable=YES /*是否允许匿名用户上传*/anon_mkdir_write_enable=YES /*是否允许匿名用户创建目录*/#重启服务service vsftpd restart注意:对于上传目录,必须设为可写才行。chmod o+w /var/ftp20.3.4 取消匿名登录说明:取消匿名登录后,系统用户都可以通过用户名与密码来访问FTP服务器了。vi vsftpd.conf#修改以下内容anonymous_enable=NO #重启服务service vsftpd restart20.3.5 设置欢迎信息vi vsftpd.conf#修改以下内容ftpd_banner=Welcome to koumm’s FTP service. /*服务器欢迎信息*/dirmessage_enable=YES /*默认是开启状态*/#然后在/var/ftp中建立.message文件。#该文件为目录说明文件,用于对目录的说明,每个目录中都可有。vi /var/ftp/.message欢迎访问ftp主目录。 /*通过SecureCRT登录可以打汉字,并可显示*/#重启服务service vsftpd restart20.3.6 以独立进程联机vi vsftpd.conf#新加入以下内容setproctitle_enable=YES /*默认是开启状态*/#重启服务service vsftpd restart#测试ps -ef|grep ftp#该功能可能只是在管理上可以查看用户登录的情况吧。20.3.7 限制下载速度vi vsftpd.conf#新加入以下内容anon_max_rate=100000 /*匿名最高速为100KB*/local_max_rate=200000 /*本机用户最高速为200KB */#实际速度会在80-120%之间。#重启服务service vsftpd restart20.3.8 使用pasv联机模式vi vsftpd.conf#新加入以下内容listen_port=2121 /*监听2121端口,用于防火墙 */pasv_enable=YES /*启用pasv模式*/pasv_min_port=9981 /*pasv端口范围*/pasv_max_port=9986 #重启服务service vsftpd restart20.3.9 超级守护程序启动vi vsftpd.conf#修改以下内容listen=NO /*监听2121端口,用于防火墙 */#在/etc/xinetd.d/新建以下内容vi /etc/xinetd.d/vsftpdservice vsftpd { disable = no socket_type = stream wait = no user = root server = /usr/sbin/vsftpd port = 21 log_on_success += PID HOST DURATION log_on_failure += HOST }#重启服务service xinetd restart注:该配置是对以前服务的一个加深的理解,也相应的也提供了一个处理问题的思路。20.3.10 最大连机数vi vsftpd.conf#加入以下内容max_clients = 100 /*服务器最大连机默认为0无限制*/max_per_ip = 5 /*单IP最大连机默认为0无限制*/#重启服务service xinetd restart注:该配置是对以前服务的一个加深的理解,也相应的也提供了一个处理问题的思路。20.3.11 特定用户不能登录方法一#其中的用户不能登陆ftp/etc/vsftpd/ftpusers #可以通过以下文件来进行控制的,第二行内容。vi /etc/pam.d/vsftpd#%PAM-1.0auth required pam_listfile.so item=user sense=deny file= /etc/vsftpd/ftpusers onerr=succeedauth required pam_shells.soauth include system-authaccount include system-authsession include system-authsession required pam_loginuid.so#如果把上面的sense=deny改为allow后,也就是说只有/etc/vsftpd/ftpusers中的用户才能够访问ftp服务器了。这里提供了一个配置思路,以供在实际环境中使用。20.3.12 特定用户不能登录方法二#编辑下列文件vi /etc/vsftpd/chroot_list#修改或加入内容user_list文件本身就有,如没有,请手动添加。#userlist_enable=YESuserlist_file=/etc/vsftpd/ user_list #重启服务service vsftpd restart20.4 ftp虚拟用户配置虚拟帐户与samba中的虚拟帐户有点像,就是为了防止别人用真正的帐户登录系统,而采用的一个帐户的别名帐户,而虚拟帐户只能够登录ftp,而不能用做其它目的。20.4.1 创建虚拟帐户文件[root@redhat vsftpd]# vi vuser.txt bill /*用户名*/password /*密码*/koummabc,.123通过以上文件来创建用户数据库。20.4.2 创建虚拟帐户数据库文件[root@redhat vsftpd]# db_load -T -t hash -f vuser.txt /etc/vsftpd_login.db[root@redhat vsftpd]# chmod 600 /etc/vsftpd_login.db [root@redhat vsftpd]# ll /etc/vsftpd_login.db -rw------- 1 root root 12288 6月 15 17:06 /etc/vsftpd_login.db修改权限以保证安全。20.4.3 配置pam文件为了能够使用ftp服务器能够使用数据库文件对用户进行身份验证,还需要修改vsftpd的PAM文件,把以前的pam中的内容注释掉,并加入以下内容。[root@redhat etc]# vi /etc/pam.d/vsftpd#auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd.ftpusers onerr=succeed#auth required pam_stack.so service=system-auth#auth required pam_shells.so#account required pam_stack.so service=system-auth#session required pam_stack.so service=system-authauth required pam_userdb.so db=/etc/vsftpd_loginaccount required pam_userdb.so db=/etc/vsftpd_login20.4.4 创建虚拟帐户目录mkdir /var/ftp/vuseruseradd -d /var/ftp/vuser vuser useradd ftpvip说明:创建一个帐户,指定主目录,也是ftp的主目录。不指定就是/home/vuserchown vuser.vuser /var/ftp/vuserchmod o+rw /var/ftp/vuser20.4.5 编辑配置文件1.编辑配置文件[root@redhat pam.d]# vi /etc/vsftpd/vsftpd.conf anonymous_enable=NO /*不能允许匿名用户登录*/local_enable=YES /*本地用户登录*/write_enable=NOlocal_umask=022anon_upload_enable=NOanon_mkdir_write_enable=NO#加入以下内容guest_enable=YES /*开启虚拟帐户访问*/guest_username=vuser /*虚拟帐户对应的系统帐户*/说明:虚拟用户的上传下载权限的配置是用匿名配置选项来进行配置的,前提是不能允许匿名用户登录,可以匿名用户可写,虚拟用户就可以写或上传了。2.编辑独立配置文件(1)虚拟帐户配置文件目录vsftpd可以为不同的虚拟用户创建不同的单独的配置文件,来实现不同的功能,思想就是:可以为不同的虚拟用户对应不同的实体用户,从而实现不能的功能。[root@redhat pam.d]# vi /etc/vsftpd/vsftpd.conf 加入以下内容:vi /etc/vsftpd/vsftpd.confuser_config_dir=/ftpconfig /*虚拟用户主配置文件目录*/(2)单独创建虚拟帐户配置文件vi /ftpconfig/bill /*创建的虚拟用户*/guest_enable=yes guest_username=vuser /*设置ftp对应的系统帐号为ftpuser*/ anon_world_readable_only=no /*允许匿名用户浏览文件系统*/anon_max_rate=50000 /*限定传输速率为50KB/s*/vi /ftpconfig/koumm /*创建的虚拟用户*/guest_enable=yes /*开启虚拟帐号登录*/ guest_username=ftpvip /*设置ftp对应的系统帐号为ftpvip*/ anon_world_readable_only=no /*允许匿名用户浏览器整个服务器的文件系统*/write_enable=yes /*允许在文件系统写入权限*/anon_mkdir_write_enable=yes /*允许创建文件夹 */anon_upload_enable=yes /*开启匿名帐号的上传功能*/ anon_max_rate=100000 /*限定传输速度为100KB/s*/说明:以上实体用户还需要事先创建,用户的主目录如是事先安装的话在/home中。以上方法可以应用一些复杂的应用环境中。20.5 ftp客户端20.5.1 ftp命令ftp命令的功能是在本地机和远程机之间传送文件。该命令的一般格式如下:ftp 主机名/IP最常用的命令有:ls 列出远程机的当前目录cd 在远程机上改变工作目录lcd 在本地机上改变工作目录ascii 设置文件传输方式为ASCII模式binary 设置文件传输方式为二进制模式close 终止当前的ftp会话hash 每次传输完数据缓冲区中的数据后就显示一个#号get(mget) 从远程机传送指定文件到本地机put(mput) 从本地机传送指定文件到远程机open 连接远程ftp站点quit 断开与远程机的连接并退出ftp? 显示本地帮助信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值