FTP配置

LNS FTP配置
1.能够安装VSFTP服务器软件包
2.正确配置vsftpd.conf文件
3.配置vsftpd.conf对用户的限制
4.启动vsftpd服务
5.使客户机可以登录FTP服务器。

=====================================================================
1.vsftpd的安装需要注意以下几点RHEL4系统中默认没有安装vsftpd服务器  vsftpd服务器的安装文件位于第1张安装光盘中安装文件名称是
  vsftpd-2.0.1-5.i386.rpm
 
  使用rpm命名可顺利安装该软件包
  rpm -ivh vsftpd-2.0.1-5.i386.rpm
2.vsftpd.conf是vsftpd服务器的主配置文件
  /etc/vsftpd/vsftpd.conf
  vsftpd.conf文件中的缺省配置为:
 anonymous_enable=YES
 local_enable=YES
 write_enable=YES
 local_umask=022
 dirmessage_enable=YES
 xferlog_enable=YES
 connect_from_port_20=YES
 xferlog_std_format=YES
 pam_service_name=vsftpd
 userlist_enable=YES
 listen=YES
 tcp_wrappers=YES
3.vsftpd.ftpusers用于保存不允许进行FTP登录的本地用户帐号
# head -5 /etc/vsftpd.ftpusers
# Users that are not allowed to login via ftp
root
bin
daemon
adm
vsftpd.ftpusers文件中可禁止高权限本地用户登录FTP服务器,提高了系统的安全性
vsftpd.user_list文件具有对vsftpd服务器更灵活的用户访问控制
/etc/vsftpd.user_list
使用vsftpd.user_list文件需要在主配置文件中进行设置
设置禁止vsftpd.user_list文件中的用户登录
userlist_enable=YES
userlist_deny=YES
设置只允许vsftpd.user_list文件中的用户登录
userlist_enable=YES
userlist_deny=NO
vsftpd服务器提供匿名用户登录的功能
匿名用户使用的登录用户名
anonymous
ftp
匿名FTP用户登录的口令通常是使用用户的E-mail地址,在vsftpd中输入任何字符串或直接回车都可以登录
所有匿名用户都登录到相同的目录中
/var/ftp
FTP服务器的匿名登录可用于构建公共的文件下载服务器
 

4.服务器启动脚本
 启动脚本名称是vsftpd
  /etc/init.d/vsftpd
 vsftpd服务需要设置在运行级别3和5自动启动
  # chkconfig --level 35 vsftpd on
 服务器启动
  # service vsftpd start
 服务器停止
  # service vsftpd stop
 服务器状态查询
  # service vsftpd status
==================================
vsftpd虚拟用户帐号的设置步骤
 
  1.建立虚拟用户口令库文件
 
  2.生成vsftpd的认证文件
  3.建立虚拟用户所需的PAM配置文件
  4.建立虚拟用户所要访问的目录并设置相应权限
 
  5.设置vsftpd.conf配置文件
1.建立虚拟用户口令库文件
口令库文件中奇数行设置用户名,偶数行设置口令
 # cat logins.txt
 mike
 pwabcd
 john
 pw1234
2.生成vsftpd的认证文件
 使用db_load命令生成认证文件
 # db_load -T -t hash -f logins.txt \
 /etc/vsftpd/vsftpd_login.db
 设置认证文件只对用户可读可写
 # chmod 600 /etc/vsftpd/vsftpd_login.db
3.建立虚拟用户所需的PAM配置文件
手工建立vsftpd.vu文件
 # cat /etc/pam.d/vsftpd.vu
 auth required /lib/security/pam_userdb.so    db=/etc/vsftpd/vsftpd_login
 account required  /lib/security/pam_userdb.so   db=/etc/vsftpd/vsftpd_login
建立虚拟用户及要访问的目录并设置相应的权限
建立所有FTP虚拟用户帐号使用的系统用户帐号,并设置该帐号宿主目录的权限
 # useradd -d /home/ftpsite virtual
 # chmod 700 /home/ftpsite/
4.设置vsftpd.conf配置文件
在配置文件中添加虚拟用户的配置内容
 guest_enable=YES
 guest_username=virtual
 pam_service_name=vsftpd.vu
重新启动vsftpd服务程序
对vsftpd.conf文件修改后需要重新启动vsftpd服务程序
 # service vsftpd restart
对虚拟用户设置不同的权限
  设置主配置文件
 在vsftpd.conf文件中添加用户配置文件目录设置
 user_config_dir=/etc/vsftpd_user_conf
  建立用户配置文件目录
   使用mkdir命令建立用户配置文件目录
 # mkdir /etc/vsftpd_user_conf
  为虚拟用户建立单独的配置文件
 用户配置文件名称与用户名相同
 /etc/vsftpd_user_conf/mike
 /etc/vsftpd_user_conf/john
每个FTP虚拟用户都可以独立设置其权限
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
vsftpd服务器中的资源使用可以进行限制
max_clients=100
max_per_ip=5
local_max_rate=500000
anon_max_rate=200000
 

Vsftpd常见问题解决方案
 
如果在 Client 端上面发现无法联机成功,请检查:
iptables 防火墙的规则当中,是否开放了 client 端的 port 21 登入?
在 /etc/hosts.deny 当中,是否将 client 的登入权限挡住了?
在 /etc/xinetd.d/vsftpd 当中,是否设定错误,导致 client 的登入权限被取消了?
 
如果 Client 已经连上 vsftpd 服务器,但是却显示『 XXX file can't be opend 』的字样,请检查:
最主要的原因还是在于在 vsftpd.conf 当中设定了检查某个档案,但是您却没有将该档案设定起来,所以,请检查 vsftpd.conf 里面所有设定的档案档名,使用 touch 这个指令将该档案建立起来即可!
 
如果 Client 已经连上 vsftpd 服务器,却无法使用某个账号登入,请检查:
在 vsftpd.conf 里面是否设定了使用 pam 模块来检验账号,以及利用 userlist_file 来管理账号?
请检查 /etc/vsftpd.ftpusers 以及 /etc/vsftpd.user_list 档案内是否将该账号写入了?!
 
如果 Client 无法上传档案,该如何是好?
最可能发生的原因就是在 vsftpd.conf 里面忘记加上这个设定『write_enable=YES』这个设定,请加入;
是否所要上传的目录『权限』不对,请以 chmod 或 chown 来修订;
是否 anonymous 的设定里面忘记加上了底下三个参数:
anon_other_write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
是否因为设定了 email 抵挡机制,又将 email address 写入该档案中了!?请检查!
是否设定了不许 ASCII 格式传送,但 Client 端却以 ASCII 传送呢?请在 client 端以 binary 格式来传送档案!
 
上面是蛮常发现的错误,如果还是无法解决您的问题,请您务必分析一下这两个档案:/var/log/vsftpd.log 与 /var/log/messages ,里面有相当多的重要资料,可以提供给您进行除错。

 

你可能感兴趣的:(ftp,职场,休闲)