ftp服务器架构
  基本ProFTPD服务器配置过程: <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

1.     ProFTPD版本是1.3.0,官方网址:http://www.ProFTPD.org 。下载链结:ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.0.tar.bz2

安装步骤:

[root@ftpd /]# bunzip proftpd-1.3.0.tar.bz2  
[root@ftpd /]# cp proftpd-1.3.0.tar /usr/src/ 
[root@ftpd /]# cd /usr/src 
[root@ftpd src]# tar xvf proftpd-1.3.0.tar 
[root@ftpd src]# cd proftpd-1.3.0 
[root@pftd proftpd-1.3.0]# ./configure make make install  

已经完成了proftpd的编译和安装。并且在/usr/local/etc/目录下有一个默认的proftpd配置文件proftpd.conf

 
2.理解配置文件
   下面是默认安装后的配置文件:
ServerName ProFTPD Default Installation  

--服务器名称,在登入时所显示的服务器名称
ServerType standalone 

--服务器工作类型。ProFTPD能以Stand-alonexinetd两种模式运行
DefaultServer on 

--是否启用虚拟FTPon为支持,off是关闭
ServerIdent off

-- 是否显示FTP软件名称,on为显示,off是关闭
Port 21 

-- 运行端口
Umask 022

- -指定确省配置文件的权限一般是022 
MaxInstances 30 

-- 最大连接请求
User nobody 

--指明运行FTP服务器的用户名称
Group nogroup 

-- 指明运行FTP服务器的用户组名称
<Directory /*> 
AllowOverwrite on 
</Directory> 
<Anonymous ~ftp> 

--是否允许客户端覆盖文件
User ftp 

--匿名登录使用ftp用户
Group ftp 

--匿名登录使用ftp 
UserAlias anonymous ftp 

--ftp用户anonymous的别名,使得anonymous登录就是ftp用户登录
MaxClients 10 

--最多10个匿名用户同时在线
DisplayLogin welcome.msg 
DisplayFirstChdir .message 

--登录FTP显示的欢迎信息
<Limit WRITE> 
DenyAll 
</Limit> 
</Anonymous>

 

2.      设置一个ftp管理员ftpadmin属于ftpadmin组,ftp的根目录/ftpftpadmin的个人根目录,这样ftpadmin可以完成日常的管理。通过设置/ftpgid可以保证新上传的文件是属于ftpadmin用户,加上再设置umask002保证上传文件的组读写权限,这样管理员就可以对其管理下的文件进行管理,而同时保证了不改变该文件的属主。
ftp
的用户,我们只需新建一个Linux用户,而把他的用户目录制定在/ftp之下就可以。

3.建立ftp管理员:ftpadmin

[root@localhost root]groupadd ftpadmin    #ftpadmin 为新添加的组的名字

[root@localhost root]useradd -d /ftp -g ftpadmin -s /sbin/nologin admin

[root@localhost root]chmod 2775 /ftp

ftpadmin /ftp的属主,ftpadmin /ftp的组属主。

-s /sbin/nologin 指定用户不能从shell登录,就是说只能从ftp方式登录,这样是出于安全的考虑。

4.添加用户:user1 

[root@localhost root]useradd -d /ftp/user1 -g ftpadmin -s/sbin/nologin user1

这样user1就对/ftp/user1的目录有完整的权限,而作为管理员也可以通过组权限对目录进行管理。每当需要添加用户的时候,只需方便的简单的添加一个Linux的用户就可以了。 

5.启动proftpd服务

/sbin/proftpd  运行 ./prpftpd

查看进程: ps –ef|grep proftpd

 

注意:

1. 要关掉服务器下的防火墙

1) 重启后生效  
开启: chkconfig iptables on  
关闭: chkconfig iptables off  
2)
即时生效,重启后失效  
开启: service iptables start  
关闭: service iptables stop  

2. linux 的时候,库函数一定要装完全,如 gcc C++