1.此次为了测试了解一下,VSFTP,采用RPM包安装方式
n vsftpd 的安装
q rpm –qa | grep vsftpd
q rpm –ivh vsftpd-1.1.3-8.i386.rpm
n 启动
q service vsftpd start/stop/restart
qps –A | grep vsftpd
首先
rpm -qa | grep vsftpd ---------查看有无安装,若没有,则要安装,我采用的是yum yum install vsftpd 见下: [root@ftp sbin]# yum install vsftpd [root@ftp sbin]# service vsftpd status vsftpd is stopped [root@ftp sbin]# service vsftpd start Starting vsftpd for vsftpd: [ OK ][root@ftp sbin]#
2.设置每次开机时自动运行及手工启动它:
chkconfig vsftpd on service vsftpd start netstat -tl 可以查看ftp端口是否在侦听了!相关配置文件:/etc/vsftpd/vsftpd.conf里面;
3.至此已经可以FTP已经可以正常运行了, 4.FTP配置参考以下设置:
关于主机的设定值connect_from_port_20=YES (NO) 这个设定项目在启动主动联机的port 20listen_port=21 使用的vsftpd命令通道的port number设定,如果想要使用非 正规的ftp port,在这个设定项目修改吧!dirmessage_enable=YES (NO) 当使用者进入某个目录时,会显示该目录需要注意的内容,显示的 档案预设是.message,当然,可以使用底下的设定项目来修订!message_file=.message 当dirmessage_enable=YES时,可以设定这个项目来让vsftpd 寻找该档案来显示讯息!您也可以设定其它档名listen=YES (NO) 若设定为YES表示vsftpd是以standalone的方式来启动的!pasv_enable=YES (NO) 启动被动式联机(passive mode),一定要设定为YESuse_localtime=YES (NO) 是否使用主机的时间?!预设使用GMT时间(格林威治)write_enable=YES (NO) 是否允许使用者具有写入的权限?这包括删除与修改等功能!connect_timeout=60 单位是秒,如果client尝试连接我们的vsftpd命令通道超过60秒, 则不等待,强制断线咯。accept_timeout=60 当使用者以被动式PASV来进行数据传输时,如果主机启用passive port 并等待client超过60秒,那么就给他强制断线!data_connection_timeout=300 如果client与Server间的数据传送在300秒内都无法传送成功, 那Client的联机就会被我们的vsftpd强制剔除!idle_session_timeout=300 如果使用者在300秒内都没有命令动作,强制离线!max_clients=0 如果vsftpd是以stand alone方式启动的,可以设定同一时间最多有多少client可以同时连上vsftpdmax_per_ip=0 是同一个IP同一时间可允许多少联机?connect_from_port_20=YES 使用标准的20端口来连接ftplisten_address=192.168.0.2 绑定到某个IP,其它IP不能访问 关于匿名者登入的设定值anonymous_enable=YES (NO) 设定为允许anonymous登入我们的vsftpd主机!预设是YES,底下的 所有相关设定都需要将这个设定为anonymous_enable=YES后生效!anon_world_readable_only=YES (NO) 仅允许anonymous具有下载可读档案的权限,预设是YES。anon_other_write_enable=YES (NO) 是否允许anonymous具有写入的权限?预设是NO!如果要设定为 YES,那么开放给anonymous写入的目录亦需要调整权限,让vsftpd 的PID拥有者可以写入才行!anon_mkdir_write_enable=YES (NO) 是否让anonymous具有建立目录的权限?默认值是NO!如果要设定为 YES,那么anony_other_write_enable必须设定为YES!anon_upload_enable=YES (NO) 是否让anonymous具有上传数据的功能,预设是NO,如果要设定为 YES,则anon_other_write_enable=YES必须设定。no_anon_password=YES (NO) 当设定为 YES 时,表示 anonymous 将会略过密码检验步骤, 而直接进入 vsftpd 服务器内喔!所以一般预设都是 NO 的!anon_max_rate=0 这个设定值后面接的数值单位为 bytes/秒,限制 anonymous 的传输 速度,如果是 0 则不限制(由最大频宽所限制),如果您想让 anonymous 仅有 30 KB/s 的速度,可以设定 『anon_max_rate=30000』anon_umask=077 限制 anonymous 的权限!如果是 077 则 anonymous 传送过来的档案 权限会是 -rw-------关于本地用户登入的设定值local_enable=YES # default NOlocal_umask=022userlist_deny 为NO时,仅允许/etc/vsftpd/user_list中的用户登录ftpuserlist_deny 为YES时(默认),不允许/etc/vsftpd/user_list中的用户登录ftp/etc/vsftpd/ftpusers 强制文件中列出的用户不可登录ftpguest_enable=YES (NO) 若这个值设定为 YES 时,那么任何非 anonymous 登入的账号,均会被 假设成为 guest (访客) 喔!local_enable=YES (NO) 这个设定值必须要为 YES 时,在 /etc/passwd 内的账号才能以 实体用户的方式登入我们的 vsftpd 主机喔!local_max_rate=0 实体用户的传输速度限制,单位为 bytes/second, 0 为不限制。chroot_local_user=YES (NO) 将使用者限制在自己的家目录之内(chroot)!这个设定在 vsftpd 当中预设是 NO,因为有底下两个设定项目的辅助 所以不需要启动他!chroot_list_enable=YES (NO) 是否启用将某些实体用户限制在他们的家目录内?预设是 NO , 不过,如果想要让某些使用者无法离开他们的家目录时, 可以考虑将这个设定为 YES ,并且规划下个设定值chroot_list_file=/etc/vsftpd.chroot_list 如果 chroot_list_enable=YES 那么就可以设定这个项目了!他里面 可以规定那一个实体用户会被限制在自己的家目录内而无法离开! (chroot) 一行一个账号即可!userlist_deny=YES (NO) 若此设定值为 YES 时,则当使用者账号被列入到某个档案时,在该档 案内的使用者将无法登入 vsftpd 服务器!该档案文件名与下列设定项 目有关。userlist_file=/etc/vsftpd.user_list 若上面 userlist_deny=YES 时,在这个档案内的账号都无法使用 vsftpd关于系统安全的设定值ascii_download_enable=YES (NO) 如果设定为 YES ,那么 client 就可以使用 ASCII 格式下载档案。 一般来说,由于启动了这个设定项目可能会导致 DoS 的攻击,因此预 设是NO。ascii_upload_enable=YES (NO) 与上一个设定类似的,只是这个设定针对上传而言!预设是 NO。async_abor_enable=YES (NO) 如果您的 FTP client 会下达“async ABOR”这个指令时,这个设定才 需要启用一般来说,由于这个设定并不安全,所以通常都是将他取的!check_shell=YES (NO) 如果想让拥有任何奇怪的 shell 的使用者(在 /etc/passwd 的 shell 字段) 可以使用 vsftpd 的话,这个设定可以设定为 NOxferlog_enable=YES (NO) 当设定为 YES 时,使用者上传与下载档案都会被纪录起来。记录档案 与下一个设定项目有关:xferlog_file=/var/log/vsftpd.log 如果上一个 xferlog_enable=YES 的话,这里就可以设定了! 这个是登录档的档名xferlog_std_format=YES (NO) 是否设定为 wu ftp 相同的登录档格式?预设为 NO ,因为登录档会比 较容易读!不过,如果您有使用 wu ftp 登录文件的分析软件,这里才 需要设定为 YESnopriv_user=nobody vsftpd 预设以 nobody 作为此一服务执行者的权限。因为 nobody 的 权限相当的低,因此即使被入侵,入侵者仅能取得 nobody 的权限pam_service_name=vsftpd 是 pam 模块的名称,放置在 /etc/pam.d/vsftpd针对仅有开放实体用户登入的设定1.使用本地的时间而不是 GMT 时间;2.所有在 /etc/passwd 里面出现的实体账号均能登入 vsftpd 主机;3.但是系统账号 (如 root 等, UID 小于 500 的账号)均不能使用 vsftpd ;4.而且由于 user1 与 user2 这两个账号使用者被关在自己的家目录当中(chroot);5.并且限制数据的传输速度为 100 Kbytes/second;6.当使用者进入 /home 这个目录时,显示:『hello』的字样在 Client 端的屏幕上;7.使用者可以进行上传、下载以及修改档案等等动作1、[root@test root]# vi /etc/vsftpd/vsftpd.conf (或 /etc/vsftpd.conf)# 关于主机与安全性的设定use_localtime=YESdirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YESpam_service_name=vsftpdtcp_wrappers=YES# 关于 anonymous 的设定anonymous_enable=NO# 关于 Real User 的设定local_enable=YESwrite_enable=YESlocal_umask=022chroot_list_enable=YESchroot_list_file=/etc/vsftpd.chroot_listuserlist_deny=YESuserlist_file=/etc/vsftpd.user_listlocal_max_rate=1000002、限制实体用户在自己的家目录内 (chroot) 的设定档[root@test root]# vi /etc/vsftpd.chroot_listuser1user2# 没有写到这个档案内的其它用户,就可以离开自己的家目录,# 而到其它目录里面去浏览了!3、以 PAM 模块限制某些账号无法登入主机的设定[root@test root]# vi /etc/pam.d/vsftpd# 会发现这样的字句:auth ..... file=/etc/vsftpd.ftpusers ....# 那个 file=.. 后面接的文件名就是以 PAM 模块抵挡的账号内容了或者以 userlist_file 抵挡某些账号的登入[root@test root]# vi /etc/vsftpd.user_list# 这个档案的设定与上面 /etc/vsftpd.ftpusers 相同即可4、设定进入目录时,显示的讯息:[root@test root]# vi /home/.messagehello针对仅有开放匿名使用者登入的设定1.使用本地的时间,而非 GMT 时间;2.仅开放 anonymous 的登入;3.档案传输的速限为 30 Kbytes/second;4.允许 anonymous 上传档案到 /var/ftp/upload 这个目录当中,并且允许 anonymous 建立目录;5.数据连接的过程 (不是命令通道!) 只要超过 60 秒没有回应,就强制 Client 断线!6.只要 anonymous 超过十分钟没有动作,就予以断线;7.被动式连接的端口为 65400 到 65420 这几个 port number 即可;8.最大同时上线人数限制为 50 人,且同一 IP 来源最大联机数量为 5 人;9.不许使用 ASCII 格式上传或下载!1、[root@test root]# vi /etc/vsftpd/vsftpd.conf# 与主机与安全性有关的设定use_localtime=YESwrite_enable=YESdirmessage_enable=YESxferlog_enable=YESxferlog_file=/var/log/vsftpd.logdata_connection_timeout=60idle_session_timeout=600max_clients=50max_per_ip=5ascii_upload_enable=NOascii_download_enable=NOconnect_from_port_20=YESpasv_min_port=65400pasv_max_port=65420pam_service_name=vsftpdtcp_wrappers=YESnopriv_user=ftp# 关于 anonymous 的设定anonymous_enable=YESanon_other_write_enable=YESanon_mkdir_write_enable=YESanon_upload_enable=YESdeny_email_enable=YESbanned_email_file=/etc/vsftpd.banned_emailsanon_max_rate=30000# 关于 real user 的设定local_enable=NO2、建立可以上传的目录# 因为我们的 nopriv_user 设定为 ftp ,所以上传的目录拥有者为 ftp[root@test root]# mkdir -p /var/ftp/upload[root@test root]# chown ftp /var/ftp/upload 用户登陆限制进其它的目录,只能进它的主目录 设置所有的本地用户都执行chroot Chroot_local_user=yes (本地所有帐户都只能在自家目录) 设置指定用户执行chroot Chroot_list_enable=yes (文件中的名单可以调用) Chroot_list_file=/任意指定的路径/vsftpd.chroot_list 注意:vsftpd.chroot_list 是没有创建的需要自己添加,要想控制帐号就直接在文件中加帐号即可 限制本地用户访问FTP Userlist_enable=yes (用userlistlai 来限制用户访问) Userlist_deny=no (名单中的人不允许访问) Userlist_file=/指定文件存放的路径/ (文件放置的路径) 注:开启userlist_enable=yes匿名帐号不能登陆