搭建FTP我采用FB内置的ftpd作为基础来实施,每个FB系统都会自带ftpd服务,所以如果你要使用ftp可以执行如下命令
/usr/libexec/ftpd -D -l -l
那么ftp服务就已经启动了,ftpd在FB系统中有两种方式启动(daemon & inetd)两种方式各有优缺点,我下面还是主要采用daemon启动作为本节的例子。
如果想设置成开启自启动FTP服务,那么还需要你配置下/etc/rc.local文件
vi /etc/rc.local //在这个文件中写下下面这句代码即可 /usr/libexec/ftpd -D -l -l
如果不懂怎么使用ftpd的命令可以使用下面这个命令来查看帮助
man ftpd
好了我们还是写一个脚本来开启ftpd&重启&停止
vi /usr/local/etc/rc.d/ftpd.sh
再在这里面写上这些
#!/bin/sh ftpd_flag="-l -l -S" ftpd="/usr/libexec/ftpd" case "$1" in start) [ -x ${ftpd} ] && ${ftpd} -D ${ftpd_flag} > /dev/null && echo -n ' ftpd ;; stop) /usr/bin/killall ftpd > /dev/null && echo -n ' ftpd' ;; *) echo "Usage: `basename $0` {start|stop}" >&2 ;; esac exit 0
再将这个脚本设置为可执行权限
chmod 554 /usr/local/etc/rc.d/ftpd.sh
OK,那么我们就可以诸如这样来执行操作了
/usr/local/etc/rc.d/ftpd.sh start
前置工作我们已经完成了,ftp也可以使用了,FB系统默认是不允许root登录的,当然还有很多,具体可以看
/etc/ftpusers
当然了我的系统用户已经有一个用户叫“jxcent”了,所以我们现在使用“jxcent”来访问下我们的ftp试试看。
输入正确的帐号密码后,成功登录进去,此时你也可以进行相应的上传文件和删除文件了,其实ftp到这里也已经搭建成功了。
不过我还是想说下 有时候我们的ftp上传到服务器当中指定的目录那该如何配置呢,这就需要ftpchroot文件来实施了,
vi /etc/ftpchroot
在里面像这样来写
jxcent /var/myftp
上面说明 jxcent 用户能访问的路径是 /var/myftp目录,当然你要给这个目录的权限给它,否则当jxcent这个用户是不能上传任何东西或这浏览任何东西的。保守的做法就是这样
chown jxcent /var/myftp/
改完要记得重启ftp服务才能生效,切记切记。
个性化:有时候我们使用虚拟主机上传的时候,在登录ftp服务器的一段过程会有一个欢迎信息提示,这不,今天我们也来弄弄这样的个性化服务试试看。
vi /etc/ftpwelcome
我就写上上面的那些信息(可以支持中文),重启ftp,我们就看到信息了,
借此兴头,我们再来探讨下ftp的安全问题
有时候我们的ftp服务器作为一台公共ftp服务器,那么由管理员上传文件,然后所有用户采用匿名的形式来浏览ftp服务器中的内容,来
# pw adduser ftp
我们新建一个ftp用户,使用pw就可以不用设置密码
我们再在/etc/ftpchroot文件中配置这样一句话
ftp /var/myftp jxcent /var/myftp
你会发现ftp也指向了 /var/myftp 这个目录,但是和jxcent用户不同的是 这个目录权限属于jxcent 也就是说jxcent 用户上传资料 ftp匿名帐号下载资料而且无需输入密码即可访问
这样做一定要清楚的记得这个目录的权限是归谁管,权限没有控制好的话,那么就匿名也可以上传、删除文件了麻烦大了。
如果我们之前没有做匿名用户访问 那么我们打开这样的一个地址会出现登录框:ftp://192.168.1.108/
开启匿名访问就直接可以进行浏览目录中的内容了……
其实还有很多内容要说的 限制ip访问,限制上传下载……
我也推荐一个 http://www.perlface.eu/?p=336
自行学习使用……