• Linux FTP服务搭建

    确认系统中vsFTPd的安装和版本情况: [root@localhost ~]#rpm –q vsftpd 安装vsFTPd命令: [root@localhost Server]#rpm –ivh vsftpd-2.0.5-12.el5.i386.rpm 在vsftpd.conf文件中配置匿名访问: anonymous_enable=YES 启动vsFTPd服务 [root@localhost ~]#/etc/init.d/vsftpd start 停止vsFTPd服务 [root@localhost ~]#/etc/init.d/vsftpd stop 重新启动vsFTPd服务 [root@localhost ~]#/etc/rc.d/init.dvsftpd restart 重启vsftpd服务: [root@localhost ~]#/etc/rc.d/init.dvsftpd condrestart vsFTPd的配置 在vsftpd.conf文件中配置监听地址 listen_address=ip address 在vsftpd.conf文件中配置控制端口的格式为: listen_port=port_value vsftpd.conf文件 主动模式的相关配置参数如下:  port_enable=YES|NO  connetc_from_port_20=YES|NO  ftp_data_port=port number  port_promiscuous=YES|NO 关于被动模式的相关配置参数如下:  pasv_enable=YES|NO  pasv_min_port=port number  pasv_promiscuous=YES|NO  pasv_address= IP address ASCII模式相关配置参数如下: ascii_download_enable=YES|NO ascii_upload_enable=YES|NO 超时选项: idle_session_timeout data_connection_timeout accept_timeout connect_timeout 负载控制: max_clients=numerical value max_per_ip=numerical value anon_max_rate=value local_max_rate=value vsFTPd的具体应用 打开vsFTPd的配置文件: [root@localhost ~]# vi /etc/vsftpd/vsftpd.conf 打开匿名用户支持: anonymous_enable=YES 打开写支持: write_enable=YES 允许上传; anon_upload_enable=YES 允许匿名用户上传; anon_mkdir_write_enable=YES 允许匿名用户创建目录和上传; anon_other_write_enable=NO 但不允许匿名用户删除和改名; 执行以下指令让匿名用户具备写权限: [root@localhost ~]#chmod ftp.root /var/ftp/pub 重启vsFTPd服务: [root@localhost ~]# service vsftpd restart 匿名服务器测试 匿名登录vsFTPd匿名服务器,登录名为anonymous,密码都为空: [root@localhost ~]# ftp 192.168.1.6 测试能否上传文件,输入!ls命令查看匿名用户拥有哪些文件: ftp>!ls 假设匿名用户在本机/var/tmp目录下有一个名为test.txt的文件,使用以下命令测试是否能将其传到服务器上: ftp> put test.txt 最后测试匿名用户是否能够新建目录: ftp>mkdir hello /incoming/hello目录建立成功,即测试成功。 配置高安全级别的匿名FTP服务器 在配置文件/etc/vsftpd/vsftpd.conf修改或添加如下设置: anonymous_enable=YES 启用匿名访问 local_enable=NO 关闭本地用户访问 write_enable=NO 关闭本地用户的写权限 anon_upload_enable=NO 关闭匿名用户的上传权限 anon_mkdir_write_enable=NO 关闭匿名用户创建目录和写入文件的权限 anon_other_write_enable=NO 关闭匿名用户删除、改名的权限 安全调整: anon_world_readable_only=YES 匿名用户对任何资源最多只有只读权限 hide_ids=YES 隐藏文件夹和目录属主,都以FTP代替 pasv_min_port=50000 开启监控: xferlog_enable=YES 打开日志,日志文件为/var/log/vsftpd.log ls_recurse_enable=NO 禁用危险的“ls –R”指令 ascii_download_enable=NO 禁止ASCII模式下载 性能优化/: one_process_model=YES 每个IP单一进程模式 idle_session_timeout=120 删除空闲了两分钟后的用户 data_connection_timeout=300 删除空闲了五分钟后的下载 accept_timeout=60 删除挂起了一分钟后的被动连接 connect_timeout=60 删除挂起了一分钟后的活动连接 anon_max_rate=50000 匿名用户最大传输速率为50KB/s 这样设置以后,通过vsFTPd创建的匿名服务器就更安全了。 虚拟用户的配置 执行指令查看db4和db4-utils组件的安装情况: [root@localhost ~]#rpm –qa |grep db4 执行以下指令安装db4: [root@localhost ~]#rpm -ivh db4-utils-4.3.29-9.fc6.i386.rpm 设置虚拟账户账号的操作步骤 第1步,创建一个临时文件,比如/etc/vsftpd/ftp_pam_db.users,格式如下: 用户1 用户1密码 用户2 用户2密码 …… 第2步,用db_load指令生成pam_userdb认证需要的账号文件: [root@localhost vsftpd]#db_load -T -t hash -f /etc/vsftpd/ftp_pam_db.users /etc/vsftpd/vsftpd.login.db 第3步,配置PAM信息,在/etc/pam.d/下新建一个文件,名字为vsftpd.pam,文件内容如下: auth required pam_userdb.so db=/etc/vsftpd/vsftpd.login account required pam_userdb.so db=/etc/vsftpd/vsftpd.login 第4步,配置vsFTPd账号,新建一个文件/etc/vsftpd/vsftpd.virtual.conf,其内容如下: listen=YES listen_port=21 anonymous_enable=NO 禁止匿名登录 local_enable=YES chroot_local_user=YES 限制本地用户在自己的家目录中 guest_enable=YES 允许虚拟用户 guest_username=ftp 所有虚拟用户等同于ftp这个系统账号的权限 max_clients=100 最多允许100个客户端 max_per_ip=10 每个IP最大连接数为10 pam_service_name=vsftpd.pam PAM配置文件名,这里是vsftpd.pam user_sub_token=$USER local_root=/var/ftp/virtual/$USER 指定每个虚拟用户账号配置目录 local_root=/var/ftp 指定默认的ftp目录 xferlog_enable=YES xferlog_file=/var/log/vsftpd.log xferlog_std_format=YES 第5步,创建虚拟用户目录,根据前文提示,ftpvu1和ftpvu2的家目录分别是/var/ftp/virtual/ftpvu1和/var/ftp/virtual/ftpvu1,在开始启动vsFTPd服务器之前,应该先创建这两个目录: [root@localhost ~]#mkdir /var/ftp/virtual/ftpvu1 -p [root@localhost ~]# mkdir /var/ftp/virtual/ftpvu2 –p [root@localhost ~]#chown ftp.ftp /var/ftp/virtual/ftpvu1 [root@localhost ~]#chown ftp.ftp /var/ftp/virtual/ftpvu2 第6步,按照该配置文件启动服务,现在首先停止按照默认配置启动的vsftpd: [root@localhost ~]#service vsftpd stop 然后根据刚才创建的配置文件启动vsftps: [root@localhost ~]#/usr/sbin/vsftpd /etc/vsftpd/vsftpd.virtual.conf 第7步,用lftp命令登录刚才创建的vsftpd服务器: [root@localhost ~]#lftp -u ftpvu1 192.168.0.4 Apache服务的安装 在Red Hat Enterprise Linux 5下安装Apache服务。 第1步,执行以下指令加载光驱: [root@localhost ~]#mkdir /mnt/cdrom 创建挂接目录 [root@localhost ~]#mount /dev/cdrom /mnt/cdrom 第2步,在光盘的Server目录下找到httpd服务的RPM安装包文件httpd-2.2.3-11.e15_1.3.i386.rpm。使用下面的命令安装: [root@localhost ~]#rpm -ivh /mnt/cdrom/Server/postgresql-libs-8.1.11-1.el5_ 1.1.i386.rpm [root@localhost ~]#rpm -ivh /mnt/cdrom/Server/apr-1.2.7-11.i386.rpm [root@localhost ~]#rpm -ivh /mnt/cdrom/Server/apr-util-1.2.7-7.el5.i386.rpm [root@localhost ~]#rpm -ivh /mnt/cdrom/Server/httpd-2.2.3-11.el5_1.3.i386.rpm [root@localhost ~]#rpm -ivh /mnt/cdrom/Server/httpd-manual-2.2.3-11.e15_ 1.3.i386.rpm 安装PureFTPD 第1步,下载PureFTPD的源代码包,执行以下指令将压缩包解开: [root@localhost ~]#tar jxvf pure-ftpd-1.0.21.tar.bz2 [root@localhost ~]#cd pure-ftpd-1.0.21 第2步,执行指令生成编译配置文件: [root@localhost pure-ftpd-1.0.21]#./configure \ --prefix=/usr/local/pureftpd \ 安装到/usr/local/pureftpd目录下 --with-mysql \ 支持MySQL,需要mysql-devel组件支持 --with-shadow \ --with-pam \ --with-paranoidmsg \ --with-welcomemsg \ --with-uploadscript \ --with-cookie \ --with-virtualchroot \ --with-virtualhosts \ --with-virtualroot \ --with-diraliases \ --with-quotas \ --with-puredb \ --with-sysquotas \ --with-ratios \ --with-ftpwho \ --with-throttling \ --with-language=simplified-chinese 登录提示信息为简体中文 第3步,执行以下指令安装PureFTPD: [root@localhost pure-ftpd-1.0.21]#make check [root@localhost pure-ftpd-1.0.21]#make install 生成PureFTPD服务管理脚本 第1步,执行以下指令生成配置文件: [root@localhost pure-ftpd-1.0.21]#cd configuration-file [root@localhost configuration-file]#chmod +x pure-config.pl [root@localhost configuration-file]#cp pure-config.pl /usr/local/pureftpd/sbin [root@localhost configuration-file]#mkdir /usr/local/pureftpd/etc [root@localhost configuration-file]#cp pure-ftpd.conf //etc 第2步,执行以下操作生成PureFTP服务。 [root@localhost pure-ftpd-1.0.21]#cd contrib [root@localhost contrib.]#vi redhat.init 修改相应的行为如下内容: fullpath=/usr/local/pureftpd/sbin/$prog pureftpwho=/usr/local/pureftpd/sbin/pure-ftpwho 第3步,执行以下指令安装Pure-FTPD服务。 [root@localhost contrib]#cp redhat.init /etc/init.d/pure-ftpd [root@localhost contrib]#chmod +x /etc/init.d/pure-ftpd 支持Pure-FTPD服务的管理脚本pure-ftp创建成功。 创建一个匿名FTP服务器 第1步,编辑/etc/pure-ftpd.conf,保证有以下内容: [root@localhost ~]#vi /etc/pure-ftpd.conf ChrootEveryone yes 限制所有用户在其主目录中 AnonymousOnly yes 是否只允许匿名登录,设置为no不允许其他用户登录 NoAnonymous no 是否允许匿名连接,设置为no表示允许 AnonymousCanCreateDirs yes 是否允许匿名用户创建新目录 MaxLoad 4 / 如果系统loaded超过下面的值匿名用户会被禁止下载 AnonymousRatio  1:10 匿名用户的上传/下载的比率 AnonymousBandwidth  8 匿名用户的最大带宽(KB/s) AllowAnonymousFXP  yes 允许匿名用户进行FXP传输 AnonymousCantUpload  no 是否允许匿名用户上传文件(no=允许) 第2步,Pure-FTPD服务是以ftp账号运行的,所以需要先检查/etc/passwd下是否有ftp账号。如果没有,执行以下指令添加该用户: [root@localhost ~]#useradd ftp –g ftp –d /var/ftp –s /sbin/nologin 第3步,Pure-FTPD服务下,匿名用户的默认主目录是/vat/ftp该目录需要手动创建,指令执行如下: [root@localhost ~]#mkdir /var/ftp [root@localhost ~]#chown ftp:ftp /var/ftp 使ftp用户对匿名用户主目录有控制权限。 安装Zend Optimizer 第1步,下载Zend Optimizer,然后执行以下指令解压缩Zend Optimizer压缩包: [root@localhost Desktop]#tar zxvf ZendOptimizer-3.3.3-linux-glibc23-i386.ta r.gz 第2步,执行以下指令打开Zend Optimizer的安装窗口,如图4-31所示。然后根据系统提示操作即可。 [root@localhost Desktop]#cd ZendOptimizer-3.3.3-linux-glibc23-i386 [root@localhost ZendOptimizer-3.3.3-linux-glibc23-i386]#./install.sh 安装webpureftp 第1步,下载webpureftp安装文件,然后执行以下指令解压: [root@localhost Desktop]# tar zxvf webpureftp0.1.tar.gz 第2步,使用下列指令将解压出来的webpureftp移动到/var/www/html下并改名。 [root@localhost Desktop]# mv webpureftp0.1 /var/www/html/webpureftp 第3步,用vi打开/var/www/html/webpureftp/config下的config.inc.php,然后修改其中的数据库、用户名和密码,如图4-32所示。 [root@localhost ~]# vi /var/www/html/webpureftp/config//config.inc.php&lt;?php $orig_title = "Web PureFTP管理系统"; $pagesize=20; $topsize[0]=8; $topsize[1]=10; $topsize[2]=15; $topsize[3]=20; $onmousecolor="E6F0E6"; $default_ftp_root="/ftp"; 设置FTP 的实际目录必须在目录后加上“/”符号,否则 pure-ftpd 会为每个 FTP 用户自动在/根目录下建立名为“ftproot 用户名”的主目录。 $obj_db=new db("localhost","root","mypasswd","pureftp"); 第4步,修改用户名和密码 ?&gt; 生成MySQL数据库 第1步,修改MySQL密码: [root@localhost ~]#mysqladmin –u root –p password 新密码 Enter password: 输入旧密码,不显示。 第2步,执行以下指令为PureFTPD服务器创建一个数据库: [root@localhost ~]#mysql –u root –p Enter Password: mysql> Create DataBase pureftpd; Query OK. 1 row affected (0.00 sec) 第3步,打开webpureftp解压缩目录下SQL目录下的pureftp_0.1.sql文件。在: DROP TABLE IF EXISTS `depart_info`; 语句前添加一行: use pureftp; 然后执行如下命令: Mysql>mysql –u root <SQL/pureftp_0.1.sql 生成pure-ftpd数据库配置文件 第1步,在前文解压的pure-ftpd目录下(pure-ftpd-1.0.2),可以看到一个名为pureftpd-mysql.conf文件。 [root@localhost pure-ftpd-1.0.2]#vi pureftpd-mysql.conf 修改PureFTPD的数据库名、用户名和密码: MYSQLUser root MYSQLPassword mypasswd MYSQLDatabase pureftp 第2步,将这个文件重命名为pureftpd.conf并拷贝到/etc目录下覆盖原来的配置文件。 [root@localhost pure-ftpd-1.0.2]# mv pureftpd-mysql.conf pure-ftpd.conf [root@localhost pure-ftpd-1.0.2]# cp pure-ftpd.conf /etc Linux环境下访问FTP服务器 在Linux 5的命令行窗口,输入以下指令登录vsFTPd服务器,账户ftpvu2,密码为ftpvu2pass: [root@localhost ~]#lftp -u ftpvu1 192.168.0.4 Password:ftpvu2pass lftp ftpvu2~192.168.0.4:~>

    4
    872
    110KB
    2012-03-31
    46
关注 私信
上传资源赚积分or赚钱