Fedora16下安装vsftpd实现ftp小结

之前也捣鼓过一段时间linux下的ftp,环境是fedora16,结果没成功,这次由于项目需要又再一次捣鼓起来,整了一天,终于弄好,实现了可在windows下使用资源管理器窗口访问linux服务器主机的特定ftp文件夹,现在小结一下今天的工作。

1.安装vsftpd。

在fedora系统中式默认安装的,如果没有安装,运行:yum install vsftpd。完成在线安装。

2.相关文件和参数说明

安装完成之后,可在/etc文件夹下打开vsftpd的文件夹。

其中,vsftpd.conf文件是配置文件,相关的参数设置可以在编辑设置;ftpusers为禁止访问账户文件,文件中的用户不能访问ftp;user_list文件为可以访问账户列表文件,其中的用户为可访问ftp的账户。

在vsftpd.conf文件中,会有些默认的基本参数,如果希望实现更多功能,需要自己去查看vsftp的使用手册。(#为屏蔽符号)下面列举几个基本的参数的含义:

参考1:http://os.51cto.com/art/201102/245898.htm

  1. anonymous_enable=YES/no    是否允许匿名用户登录 
  2. anonymous_enable=yes/no     是否允许匿名上传文件 
  3. local_enable= YES/no               是否允许本地用户登录 
  4. write_enable= YES/no               是否允许本地用户上传 
  5. guest_enable=yes/no               是否允许虚拟用户登录; 
  6. local_mask=022                       设置本地用户的文件生成掩码为022,默认值为077
  7. dirmessage_enable= YES 设置切换到目录时显示.message隐含文件的内容 
  8. xferlog_enable= YES 激活上传和下载日志 
  9. connect_from_port_20=YES 启用FTP数据端口连接 
  10. pam_service_name=vsftpd 设置PAM认证服务的配置文件名称, 该文件存放在/etc/pam.d目录下 
  11. userlist_enable= YES 允许vsftpd.user_list文件中的用户访问服务器 
  12. userlist_deny= YES 拒绝vsftpd.user_list文件中的用户访问服务器 
  13. listen= YES/no 是否使用独占启动方式(这一项比较重要) 
  14. tcp_wrappers= YES/no 是否使用tcp_wrappers作为主机访问控制方式 

参考2:http://os.51cto.com/art/201103/247181.htm

anonymous_enable=YES|NO 控制是否允许匿名用户登录,YES允许,NO不允许,默认值为YES。
ftp_username=                           匿名用户所使用的系统用户名。默认下,此参数在配置文件中不出现,值为ftp。
no_anon_password=YES|NO 控制匿名用户登入时是否需要密码,YES不需要,NO需要。默认值为NO。
deny_email_enable=YES|NO 此参数默认值为NO。当值为YES时,拒绝使用banned_email_file参数指定文件中所列出的e-mail地址进行登录的匿名用户。即,当匿名用户使用banned_email_file文件中所列出的e-mail进行登录时,被拒绝。显然,这对于阻击某些Dos攻击有效。当此参数生效时,需追加banned_email_file参数
banned_email_file=/etc/vsftpd.banned_emails 指定包含被拒绝的e-mail地址的文件,默认文件为/etc/vsftpd.banned_emails。
anon_root=                                  设定匿名用户的根目录,即匿名用户登入后,被定位到此目录下。主配置文件中默认无此项,默认值为/var/ftp/。
anon_world_readable_only=YES|NO 控制是否只允许匿名用户下载可阅读文档。YES,只允许匿名用户下载可阅读的文件。NO,允许匿名用户浏览整个服务器的文件系统。默认值为YES。 
anon_upload_enable=YES|NO 控制是否允许匿名用户上传文件,YES允许,NO不允许,默认是不设值,即为NO。除了这个参数外,匿名用户要能上传文件,还需要两个条件:一,write_enable参数为YES;二,在文件系统上,FTP匿名用户对某个目录有写权限。
anon_mkdir_write_enable=YES|NO 控制是否允许匿名用户创建新目录,YES允许,NO不允许,默认是不设值,即为NO。当然在文件系统上,FTP匿名用户必需对新目录的上层目录拥有写权限。
anon_other_write_enable=YES|NO 控制匿名用户是否拥有除了上传和新建目录之外的其他权限,如删除、更名等。YES拥有,NO不拥有,默认值为NO。
chown_uploads=YES|NO         是否修改匿名用户所上传文件的所有权。YES,匿名用户所上传的文件的所有权将改为另外一个不同的用户所有,用户由chown_username参数指定。此选项默认值为NO。
chown_username=whoever     指定拥有匿名用户上传文件所有权的用户。此参数与chown_uploads联用。不推荐使用root用户。

vsftpd的启动方法
方法一:service vsftpd start;service vsftpd stop;service vsftpd restart本方法在fedora系统下有效
方法二:systemclt start vsftpd.service(启动);systemclt stop vsftpd.service(停止);systemclt restart vsftpd.service.(重启)

以上是相关部分参数是释义,但是在修改的同时需要对系统环境做一番设置才行,不然设置了也不会起作用。
例子1:设置root访问方式
chroot_list = YES
chroot_list_file=/etc/vsftpd/chroot_list
需要自己在文件夹中创建chroot_list文件才能起到相应的作用,文件中添加root用户。
例子2:设置ftp默认文件夹
首先对需要设置ftp默认的文件夹进行权限操作,例如想使用/home文件夹作为ftp文件夹,则需要执行chmod 755 /home操作;
然后在vsftpd.conf文件中,增加local_root = /home这句话;
接着输入命令:sestatus -b | grep ftp 查看ftp相关服务开启状态
然后输入命令setsebool ftp_home_dir 1;开启ftp_home_dir(这一步如果不做,连接ftp会报500 OOPS: cannot change directory:/root)
再输入命令setsebool allow_ftpd_full_access 1;开启allow_ftpd_full_access(这一步如果不做,XP可以下载文件,但不能上传文件,没有写权限)
然后重启vsftpd服务(service vsftpd restart/systemclt restart vsftpd.service)
例子3:关闭防火墙或是selinux
参考:http://os.51cto.com/art/201103/246724.htm
有时候服务是正常开启的,但是却访问不了,这时可以考虑是不是是防火墙或SELINUX的事;可能FTPD服务器被防火墙或SELINUX的安全机制防住了。所以您必须要让防火墙通过ftp,当然也要让SELINUX通过ftp服务器才行;
在Fedora/Redhat/CentOS中,您要设置一下防火墙,可以把防火墙关掉,或者在自定义中让ftp通过防火墙;
或者运行一下如下的命令,清除防火墙规则(通用);
[root@localhost beinan]# iptables -F
关于SELINUX服务器的解说 ,可能老手或新手对SELINUX都有点麻烦,建议您SELINUX;或者让vsFTPd服务器跳过SELINUX启动;也就是说要用到 4.1、vsFTPd服务器启动和关闭的通用方法;这在Fedora/Redhat/CentOS中这样启动vsFTPd服务器是有效的;
当然您可也可以关掉SELINUX,在/etc/selinux/config 配置文件如下;
/etc/selinux/config
文件内容如下
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=Disabled #这样就把SELINUX服务器关掉了,请重新启动系统;
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted
以上几个例子都是自己测试过,可以使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值