linux新建fat32分区,在FAT32分区上搭建 wu-ftp server 的经验总结

引言:

本来是很简单的事,

我却搞的有点复杂,

但这真不是我的错.

当时情况是酱紫的:

1.第一天上午

=================================

我有一个58G的硬盘,

其中分了一个30G的FAT32分区,

想整个用来做一个ftp server.

为啥用FAT而不是EXT2,

是考虑到以后即使linux崩了,

也可以拿到win**的机子上获得fat分区的数据.

本来预想的很顺利,

装个wu-fpt的server,再配置一下

就搞定,可是问题来了......

首先:

mount 上来的dos分区,

只有root才有读写权限,

其他用户只能读不能写,

那混个pi啊,incoming目录都不能搞,

还算个啥ftp server???

2. 第一天下午

=================================

由于没搞过wu-ftp server,

所以想先避开这个问题,

在ext2的分区上搞一个server出来看看.

可是还是不成功, faint.!

无论我怎么照精华区里的说明,

修改ftpaccess文件,都不起作用.

甚至有一次连主目录都看不到.

搞得我极其郁闷.....不爽!

后来经过我反复实验,

发现原来是当时setup的选项中,心太狠,

多选了gssftp,tftp这两个现在也不知道是什么东东,

使得xinetd启动的好像是别的ftpd,

所以ftpaccess文件的配置没有起作用.

这里奉劝各位搞ftp的小朋友,

千万别学......

3. 第二天上午

=================================

前一天晚上,碰到一个也玩linux的同学,

问了昨天那个mount fat分区的问题,

他提了一下可能mount的时候需要搞搞umask的设置,

我查了google,很快搞定,原来缺省的umask=022(好像)

只要mount -t vfat -o umask=000 /dev/hda5 /ftp

如此弄一下,mount上来的/ftp主目录就是drwxrwxrwx的了

本来这个东东应该在精华区里找得到的,

可我搜了半天,

才发现大家都学jcore就是不说,闷声大发财...呵呵

接下来还算顺利,

试了几次就发现,匿名登陆的用的是ftp帐户,

只要在/etc/passwd文件里修改ftp的主目录/var/ftp

改成我现在mount过来的/ftp就可以换anonymous上来看到的主目录.

然后我就想试试上传个文件,

然后我就改了ftpaccess, upload /ftp /incoming yes

然后我就试啊试的搞了半天,

然后我就发现可以建立一级目录,但就是不可以上传文件,

幸好我比较机灵,乱七八糟地试也给我搞定了

两个字 a, b

a) groupadd  ftpchroot

b) usermod -G ftpchroot ftp

好像缺一不可,就是要把ftp这个用户添加到ftpchroot这个组里才行.

然后的废话精华区里都能找的到,就是那个匿名上载的一堆问题,

如何设置incoming属性,什么不能上载多个目录等等,

一句话:

upload /ftp /incoming* yes ftp ftp 0777  dirs

就是incoming后面跟个通配符,保证多级目录都可以上传.

敲了这么多,没有闲俺唐僧吧,

后面要说的才是精华,喝口水待会继续.

4. 第二天下午

=================================

要是事情这么发展下去然后给我搞定,那现在我也没这么兴奋得来敲键盘了.

一切都是为了最后的这个问题 chown !!!!!!

大家试试就知道了,用cuteftp pro上传一个多级目录到一个ext2分区,

一点问题都没有,very simple!

可是当我现在这个ftp分区是fat32的文件系统时,它就会报错

说什么 550: chown : Permission not permitted.

结果就是只建立了一个目录,里面啥都没有.

这个我到google上查了一下,好像95年有个家伙讨论过,

说是fs do not support chown. 大概就是这个意思.

可也没有说怎么解决啊,这个猪头的名字像是叫个Peng啥子,

说话怎么只有前半句,后面关键的一个字没提.

我想了想,好像有两条路可走:

一是把/dev/hda5也就是我的那个ftp分区搞成ext2的格式

要么就是改wu-ftp的源代码,把chown相关的判断出错退出函数注释掉.

想咱这么英名神武,情比金坚,怎么会做 1 这么无稽的动作呢.....

所以马上我就去下载了wu-ftpd-2.6.1-20.src.rpm

rpm -ivh wu-ftpd-2.6.1-20.src.rpm

发现它是把一些文件拷到了/*/*/SOURCE目录下,

这个目录可能不同安装不太一样,

然后就是打patch, 一共有三个patch

patch -p1 

patch -p1 

patch -p1 

一开始我看精华区有人说是要 ./build lnx

结果出来一堆错, 到build ftpd.o就出错了,还有ftpshut.o

害我改源代码,搞了半天才发现自己走错方向了

不是./build ,而是 ./configure

先要   ./configure

再是   make

最后是 make install

然后就可以发现它把新make出来的ftpd拷贝到了/usr/sbin/in.ftpd

这个就是被xinetd调用的ftpd服务程序.

新的问题又出来了,这个自己搞出来的ftpd程序

当用anonymous登陆时,

可以正常操作命令,

就是不能看见自己操作的结果.

比如我的主目录下有 /pub  /incoming  可是匿名登陆无法看见

我也可以成功 cd pub ;   get  something;都可以成功执行

可就是用 ls 啥也看不见,有没有人碰见过这个问题???

昨天一个晚上我都在搞这个东东,

一开始有朋友让我添加/lib /bin目录

然后在/bin目录下copy一个ls命令,

还有/lib下面copy一些函数库,

可还是不顶用,说明问题不是出在这ls命令和它要的库上.

因为正常安装wu-fptd后,即使没有这些库也可以看的到.

最后还是一个大牛帮我搞定,说是./configure --help

里面可以加个参数,其实就是./configure --enable-ls

靠,真tmd变态,缺省难道是disable ls,???

怪不得它执行/bin/ls啥也没有.

大牛就是大牛,

看似淡淡一招,

隐藏无限杀机,

实在是让我pfpf....啊

5. 第三天上午

=================================

接下来的活就是顺水行舟,日进千里了

grep -n -s -r "chown" *

发现在整个sourse中,只有ftpd.c里面有关于chown的代码,

而且很少,只有六个地方出现,

实在是太easy了,

赶紧把那些chown和fchown函数调用的代码注释掉,

然后重新

./configure --enable-ls

make

make install

换到另外一个机子上用 cuteftp pro,

上传了N多的目录文件到incoming底下,

一切ok,没有报chown的错误,

而且多级目录都可以一次上传.

呵呵,

终于从这次经历里体会到什么叫开放源码的好处了,

一句话,

就是"不爽啊,不爽你自己搞啊"......嘿嘿

敲了这么多,

目的就是想让以后想用FAT32分区做wu-ftp server主目录的dd,

可以少花一些时间,

少走一点弯路,

版主一定要M上啊......

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值