Linux 下 FTP服务器架建

本文是经过实践过得出的,对于急于架起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...........;