本文是经过实践过得出的,对于急于起FTP服务器的仁兄,一定是大叫为好!
一 安装Red Linux 7.0
二 安装Wu-ftp2.6.1 (华盛顿大学FTP服务器)
本文是不允许anonymous用户登录。
建立一个guest账号,,使公司内部人员使用,并且不允许用Telnet登录。
以下是步骤:
(1) 增加一个用户账号: 命令usedadd 用户账号
eg: usedadd szanlai
passwd szanlai (passwd 是设定口令)
建立密码
(2) 定义指向用户的shell 为空shell: 命令 chsh 用户账号
eg: chsh szanlai
修入 /bin/hello (/bin/hello 是指向szanlai 的shell)
以上两步可以用一条命令做
usedadd -d szanlai -s /bin/hello szanlai (-d 是增加用户,,-s 是指向什么shell)
(3) 修改/etc/shells文件,在shells文末增加所指向的shell
gedit shellls
(4) 修改/etc/passwd 文件,,,就是将用户账号目录指成虚拟登录根目录,(这就是chroot所指的效果)
eg: szanlai:x:500:500:/home/ftp/:/bin/hello
change à szanlai:x:500:500:/home/ftp/./szanlai:/bin/hello
注意不要在i : 之间加上 "/" ,,,否则登录不进
这一个改动是将/home/ftp/ 虚拟指向 /szanlai/ 由/bin/hello " A /./ B " 是指将A à B 。
(5) 之后,需做一个构架,,在szanlai目录下新建 /bin , /etc , /lib , /dev 目录
(因为定义了虚拟登录根目录
(6) 将ls命令文件cp 一份到虚拟目录(/home/ftp/bin)
cp /bin/ls /home/ftp/bin
(7) 再将ls 共享文件cp进虚拟目录(/home/ftp/lib)
而如何知道一个执行文件所需要的共享文件呢?
用ldd 命令可知。
Eg : ldd ls
再将所见到的文件全部cp 到/home/ftp/lib
(8) 将空shell 修改,,
mknod /bin/hello c 1 3 (1 不是 L)
再赋与权限 chmod 666 hello
(9)再将/etc/group ,/etc/passwd 文件cp 进/home/ftp/etc
再分别修改两个文件。使在虚拟登录目录下,只能有一个用户登入
1 group
将root 与用户账号之间的 账号全部删除,,一个不留。
2 Passwd
就是将所要登录进去的假根目录
如之前(4)的 /home/ ftp/./szanlai =è /szanlai/
(10)修改ftpaccess
一个是class 类别指向 guest
二个是将groupguest 指向 用户账号
(11)之后,就是用chmod命令来设置权限,,,
(12).......................................................end...........;
本人email : nothing_much@21cn.com 如有什么问题和疑问
欢迎来信共研