当前位置: 主页 > 服务器技术 > Ftp服务器 > 建立基于Wu-Ftp的匿名ftp服务

建立基于Wu-Ftp的匿名ftp服务

时间:2010-3-16来源:互联网 点击:

在Wu-FTP上实现匿名FTP.可以参考附件文档,或者man in.ftpd直接获得建立脚本各种权限的应用

1:只准执行,不准读与写,对于目录来说是最低的权限,而对于脚本文件来说,可以不让用户读到代码.
2:只准写,理解为只准上传不准阅读与执行*
3:可以执行,写
4:只读
5:读与执行,强调不准写
6:读与写,强调不能执行
7:全权限
匿名Ftp实现以下几个功能
1.任何人在上传区域不能列表,帮助保护个人隐私.
2.文件只能被传到upload/的子目录下,保护其他目录.防止泛滥上传.
3.在upload目录中文件只能被上传,而不能被下载.防止ftp变成公用ftp
4.文件上传之后不能被改写,防止被木马攻击
制作步骤6
1.安装Wu-Ftp.
2.1创建ftp目录
2.1.1创建目录
# mkdir匿名ftp的根目录,可以是/export/ftp这样的位置

2.1.2设置权限
# chmod 755# chown root# chgrp root

2.1.3进去cd

2.2安装ftp的ls
在ftp命令行中可以使用的命令来自于三个方面
1)~ftp/bin下的命令
2)来自ftp server操作系统的内部命令
3)用!cmd方式执行ftp client操作系统的命令,但对client端生效.
2.2.3设置权限
# chmod 111 bin bin/ls
# chown root bin bin/ls
# chgrp root bin bin/ls 

2.3安装共享库文件
file /usr/bin/ls,可以看见当前的ls文件静态连接还是动态连接的,如果是静态连接的,可以跳过这一步.

2.3.1创建目录
# mkdir -p usr/lib

2.3.2 Copy库文件 

# for lib in ld.so.1 libc.so.1 libdl.so.1 libintl.so.1 \ >  libw.so. 1 nss_files.so.1 > do > cp /usr/lib/$lib usr/lib/$lib > chmod 555 usr/lib/$lib > done 

2.3.3设置权限
# chmod 111 usr usr/lib
# chown root usr usr/lib usr/lib/*
# chgrp root usr usr/lib usr/lib/* 

2.4创建设备文件
2.4.1 创建~ftp/dev目录

# mkdir dev 

2.4.2 创建设备文件

# mknod dev/tcp 
# mknod dev/zero 

2.4.3 设置权限
# chmod 111 dev # chmod 666 dev/tcp # chmod 444 dev/zero
# chown root dev dev/tcp dev/zero
# chgrp sys dev dev/tcp dev/zero 

2.5. 创建 ~ftp/etc 目录
2.5.1 创建 ~ftp/etc 目录 

# mkdir etc 

2.5.2 建立 ~ftp/etc/passwd 文件
root:x:0:1:0000-Admin(0000):/:/sbin/sh9,
ftp:x:90:1:Anon FTP User:/:/sbin/sh 在~ftp/etc/passwd文件中不要放密码
2.5.3 建立 ~ftp/etc/group 文件
2.5.4 建立 ~ftp/etc/nsswitch.conf 文件,在非Solaris机器上不需要
passwd: files
group: files 

2.5.5 在 ~ftp/etc 中建立 welcome.msg, message.toomany, pathmsg 文件,详细参考附录.4 
2.5.6 设置权限
# chmod 444 etc
# chmod 111 etc
# chown root etc etc/*
# chgrp root etc etc/* 

2.6创建下载区
2.6.1创建 ~ftp/pub 目录
# mkdir pub 2.6.2 设置权限. # chmod 555 pub
# chown root pub
# chgrp root pub 

2.7. 创建上传目录
2.7.1 创建 ~ftp/incoming 目录.

 # mkdir incoming 

2.7.2 设置权限
# chmod 111 incoming
# chown root incoming
# chgrp root incoming 

2.7.3 设置具体某个用户用于上传的目录,  一般用复杂的字符表示.
# mkdir incoming/ 
# chmod 311 incoming/ 
# chownincoming/ 
# chgrp root incoming/ 
这里的uid是指/etc/passwd文件中系统用户的uid
3. 其他配置任务
在ftp目录配置完成之后Wu Ftp还需要被配置,包括password的内容以及修改inetd.conf
3.1. 创建 WU FTP 的配置文件. 

3.1.1 创建 /etc/ftpd 目录
# mkdir /etc/ftpd
# chmod 700 /etc/ftpd
# chown root /etc/ftpd
# chgrp root /etc/ftpd 

3.1.2 创建 /etc/ftpd/ftpusers 文件
每行一个,描述不允许访问ftp的系统用户.
3.1.3 将/etc/ftpd/ftpusers与/etc/ftpusers做一个软连接
# ln -s /etc/ftpd/ftpusers /etc/ftpusers 

3.1.4 Make empty ftpconversions file. # touch /etc/ftpd/ftpconversions 这个文件是什么用的?
3.1.5 Create ftpaccess configuration file from Appendix A. 创建访问控制文件,详见附录
3.1.6 设置权限
# chmod 600 /etc/ftpd/ftp*
# chown root /etc/ftpd/ftp*
# chgrp root /etc/ftpd/ftp* 

3.2. 创建用户,密码项 

3.2.1 修改 /etc/passwd,增加ftp用户的信息. ftp:x:::Anonymous FTP Account::/dev/null就是2.7.3那一步设置那个主目录的uid,就随便找一个没人用过的,就是刚才设置的ftp主目录!
换句话说就是创建一个叫ftp的不能登陆的用户.
3.2.2 修改 /etc/shadow 中ftp用户的信息.
1.不要加真实密码
2.不要为空.
3.用 *NP* 或者 LOCK
3.3. 修改inetd.conf文件
NOTE: Skip this section if not using WU FTP. 

3.3.1 Edit /etc/inetd.conf 将原先的信息替换成.sfn
ftp stream tcp nowait root/ftpd ftpd
为ftp的安装目录
3.3.2 ps -ef | grep ftpd 检查ftpd
3.3.3 重启 inetd # kill -HUP心得:Anonymous用户并非基于操作系统,而是ftp软件的内部二进制机制.对于系统来说,来访问的ftp服务用户都是那个不能登陆的用户ftp.

站长资讯网
. TAG: wu-ftp 匿名ftp
推荐内容最近更新人气排行
关于我们 | 友情链接 | 网址推荐 | 常用资讯 | 网站地图 | RSS | 留言