2013年4月4日星期四

[总结] BSD ftp 服务器(File Transfer Protocol)

1. 启动 ftp 服务器
  有兩种方式启动 ftpd,一种是使用 standalone daemon,使其成为守护进程;另一种是让超级守护进程 inetd 接管. 
  1) 使用 inetd
      编辑 /etc/inetd.conf, 将 ftp 设定开的 # 移除: 
      ftp stream tcp nowait root /usr/libexec/ftpd -l -l -h
      然后重启 inetd:
      # kill -1 `cat /var/run/inetd.pid`
  2) 在繁忙的服务器上启用 Daemon 工作模式,本文不对此种方法说明. 
2. 编辑欢迎信息,请尽量用英文书写消息体,避免乱码问题
  # vi /etc/ftpwelcome      /** 登陆前的欢迎消息*/
  # vi /etc/ftpmotd         /** 登入后显示的信息*/
3. 服务器参数
  在启动 ftp 服务器时,可以加入以下参数: 
  -d 记录 ftp 的出错信息;除此之外,必须修改 /etc/syslog.conf,加入以下内空以记录 ftp 讯息: 
        !ftp *.* /var/log/ftpd.log
  -h 不显示 ftp 服务器主机名,软件信息,版本等
  -l 记录 ftp 登陆成功及失败的信息;如果用兩个 -l,则上传,下载,删除,建立目录都会留下记录,预设日志文件 /var/log/xferlog
4. ftp 权限控制
  1) 新建立一个专门用作 ftp 的用户,比如 alex,它所在的用户组一定不能加到 wheel 中,否则有权限风险. 
  2) 如果 /var/run/nologin 存在,则所有的账号都不可以登入;此文件可以用来暂时停止 ftp 服务. 
  3) /etc/ftpusers 定义了不可以使用 ftp 服务的使用者和群组;其中 "@" 开头表示群组名称,常见的有 @guest.
  4) 其他限制操作见手册. 
5. chroot 限制用户只能在自家目录下活动
  修改 /etc/ftpchroot, 例" 
  alex
  @guest
  ftpuser /var/ftp
  @other /var/ftp

没有评论: