参数 | 是否只能在 Daemon 模式下使用 | 意义 |
-a | 是 | 当您有二张网络卡或是二个 IP 时,我们可以设定只接受联机到某一个 IP 的联机要求。例如: ftpd -D -a 192.168.0.1
此范例表示只接受使用者联机到 192.168.0.1 这个 IP。 |
-d | 否 | 记录 FTP 的除错讯息。除了加入这个参数外,您必须修改 /etc/syslog.conf,并加入下列内容以记录 FTP 的讯息。
!ftpd*.* /var/log/ftpd.log
|
-h | 否 | 不要显示 FTP 服务器的主机名称、软件信息、版本等。 |
-l | 否 | 记录 FTP 登入成功及失败的讯息。如果您使用二次 -l,则使用者上传、下载、删除、建立目录时都会留下记录。预设的记录会留在 /var/log/xferlog 中。 |
-P | 是 | 我们知道 FTP 预设会****连接埠 21,以接受客户端的联机要求。不过如果您是以独立的 daemon 方式启动 FTP,则 可以使用 -P 加上连接埠号以改变预设连接埠。 |
参数 | 意义 |
-o | 限制所有使用者只能上传档案,而无法下载任何档案。 |
-r | 限制所有使用者对于服务器内所有档案只能只读,不可以建立目录、上传、更改档名、或任何会动到档案目录的指令。 |
一般使用者登入后,预设会进入自己的家目录中。使用者可以改变工作路径到系统的任何目录中。如果您希望使用者登入后只能在自己的家目录中活动,而不能进入其它系统目录中,可以使用 chroot 的功能。所谓的 chroot 就是将某一个目录变成使用者看到的根目录。例如,我们让使用者 alex 登入后,将 /home/alex 变成根目录。则 alex 在使用指令「cd /」时,还是会停留在 /home/alex。如果他使用指令「pwd」查看目前所在路径,则会显示 /。如此一来,我们就可以确保使用者不会到处乱跑,进入一些不该进入的地方。这个功能对于提升 FTP 的安全性有莫大的助益。
设定 chroot 的方法很简单,只要修改 /etc/ftpchroot 即可。下面是一个范例: alex在新增了使用者 ftp 之后,我们就已经支持匿名 FTP 的功能了。现在您可以使用 anonymous 或 ftp 账号登入,而且不需任何密码。由于开放了匿名 FTP 后,任何人都可以登入系统,所以匿名账号登入后一定会使用 chroot,以将匿名使用者限制在家目录中。
除了强制使用 chroot 外,我们还可以在启动 FTP 时加上一些参数,以针对匿名使用者进行更多的限制。下表为启动 FTP 服务时可以使用的参数:参数 | 意义 |
-M | 禁止匿名使用者建立新的目录。 |
-m | 允许匿名使用者覆写一个存在的档案。预设启动 FTP 时,并不允许匿名使用者覆写已经存在的档案。当使用者上传档案时,如果已经有同档名的档案存在,系统会自动为上传的档案改名。 |
-O | 让匿名使用者只能上传档案,下载档案的功能会被取消。 |
上一篇:ssh 命令说明