一、简介:

Pure-FTPd 是一款免费(BSD)的,安全的,高质量和符合标准的FTP服务器。 侧重于运行效率和易用性。 它提供了简单的答案,他满足了大众化的需求,包括普通用户以及主机供应商们

Pure-FTPd 的运行环境

  同样的源代码被编译并运行于 Linux, OpenBSD, NetBSD, DragonflyBSD FreeBSD, Solaris, Tru64, Darwin, Irix, HPUX, AIX 以及 iPhone上。

   预编译的二进制包可提供Novell, Mandriva, Debian, Ubuntu, PLD Linux, Stampede Linux, Slackware Linux (Slimslack), Multilinux, Sorcerer Linux, Fli4L (the one-disk router), ROOT Linux, Gentoo Linux 以及大多数免费的操作系统使用
   Pure-FTPd 也可以运行在 BSD 系统 : FreeBSD (/usr/ports/ftp/pure-ftpd/), OpenBSD (/usr/ports/net/pure-ftpd/), DragonflyBSD and NetBSD (/usr/pkgsrc/net/pureftpd/).

Pure-FTPd 安全性

  pure - ftpd 得到了充分的支持,它是始终以安全设计为理念,其代码总是作为有漏洞的来进行讨论,并重新审核。该服务可以适应严格的安全需要做到权限分离。 甚至在不需要Root权限的情况下通过其内建的chroot()仿真以及虚拟帐户100%正常运行。避免密码作为明文传输:pure - ftpd的OpenSSL库支持可选的 SSL / TLS加密层使用。

二、架构图

三、具体配置:

1. 搭建lamp环境

[root@gjp99 ~]# yum -y install httpd php php-mysql mysql mysql-server mysql-devel

Installed: 
  httpd.i386 0:2.2.3-31.el5              mysql.i386 0:5.0.77-3.el5               
  mysql-devel.i386 0:5.0.77-3.el5        mysql-server.i386 0:5.0.77-3.el5        
  php.i386 0:5.1.6-23.2.el5_3            php-mysql.i386 0:5.1.6-23.2.el5_3

Dependency Installed: 
  perl-DBD-MySQL.i386 0:3.0007-2.el5      perl-DBI.i386 0:1.52-2.el5             
  php-cli.i386 0:5.1.6-23.2.el5_3         php-common.i386 0:5.1.6-23.2.el5_3     
  php-pdo.i386 0:5.1.6-23.2.el5_3

Complete!

2.相应服务重启

[root@gjp99 ~]# service httpd start 
Starting httpd: httpd: apr_sockaddr_info_get() failed for gjp99.baidu.com 
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName 
                                                      [  OK  ] 
[root@gjp99 ~]# chkconfig httpd on      开机自启动

[root@gjp99 ~]# service mysqld start

The latest information about MySQL is available on the web at 
http://www.mysql.com 
Support MySQL by buying support/licenses at http://shop.mysql.com
                                                              [  OK  ] 
Starting MySQL:                                            [  OK  ]

[root@gjp99 ~]# chkconfig mysqld on

为mysql数据库设置   用户名:root     口令:123456

[root@gjp99 ~]# mysqladmin -u root -p password '123456' 
Enter password: 这里指旧密码,因为旧密码为空,所以这里直接回车

访问数据库时:

[root@gjp99 ~]# mysql -u root -p 
Enter password:  密码:123456 
Welcome to the MySQL monitor.  Commands end with ; or \g. 
Your MySQL connection id is 6 
Server version: 5.0.77 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

3上传pureftp所需的软件包:

[root@gjp99 ~]# ll 
total 64 
drwxr-xr-x 2 root root  4096 Aug  2 21:41 Desktop 
-rw------- 1 root root   960 Aug  2 21:30 anaconda-ks.cfg 
-rw-r--r-- 1 root root 35556 Aug  2 21:30 install.log 
-rw-r--r-- 1 root root  4062 Aug  2 21:30 install.log.syslog 
drwxr-xr-x 2 root root  4096 Aug  3 14:16 pureftp 
[root@gjp99 ~]# cd pureftp 
[root@gjp99 pureftp]# ll 
total 10804 
-rw-r--r-- 1 root root    29148 Aug  3 14:16 PureAdmin-0.3.tar.gz  管理工具 
-rw-r--r-- 1 root root 10208541 Aug  3 14:16 ZendOptimizer-3.3.3-linux-hicode.tar.gz 加速器 
-rw-r--r-- 1 root root   578781 Aug  3 14:16 pure-ftpd-1.0.36.tar.gz   主程序 
-rw-r--r-- 1 root root     2105 Aug  3 14:16 pureftp.sql 
-rw-r--r-- 1 root root     4718 Aug  3 14:16 pureftpd-mysql.conf 
-rw-r--r-- 1 root root   196917 Aug  3 14:16 webpureftp0.1.tar.gz

4.解压缩

[root@gjp99 pureftp]# tar  zxvf  pure-ftpd-1.0.36.tar.gz -C /usr/local/src/

[root@gjp99 pureftp]# cd /usr/local/src/ 
[root@gjp99 src]# ll 
total 4 
drwxr-xr-x 10 root root 4096 Aug  3 14:20 pure-ftpd-1.0.36 
[root@gjp99 src]# cd pure-ftpd-1.0.36/ 
[root@gjp99 pure-ftpd-1.0.36]# ls

5.源码安装须具备以下条件:

注意:遇到configure文件,要保证四个开发工具要具备:

[root@gjp99 pure-ftpd-1.0.36]# yum grouplist |less

Development Libraries 
Development Tools

X Software Development

Legacy Software Development    (发现这个竟然没有安装)

手动安装传统软件开发:

[root@gjp99 pure-ftpd-1.0.36]# yum groupinstall "Legacy Software Development"

6.预编译-----编译-----整理文件

./configure \ 
--prefix=/usr/local/pureftpd \   安装目录 
  --with-mysql \         服务器支持mysql 
  --with-shadow \      支持本地的 /etc/shadow 
  --with-pam  \           支持pam验证 
   --with-welcomemsg   \    支持比较友好的欢迎信息 
  --with-uploadscript  \       上传完成之后可以执行的脚本 
  --with-cookie   \               缓存 
  --with-virtualchroot \        软连接跳转到其他目录 
  --with-virtualhosts \        虚拟主机 
  --with-diraliases \         目录的别名 
  --with-quotas \            配额 
  --with-puredb \            虚拟账号与本地账号的映射文件 
  --with-sysquotas \ 
   --with-ratios \ 
  --with-ftpwho \ 
--with-throttling \       高于或低于某个门槛儿警报一下 
--with-language=simplified-chinese    简体中文

make   
make  install

发现配置文件丢了

[root@gjp99 pure-ftpd-1.0.36]# ./configure --help |less   帮助信息

  
[root@gjp99 pure-ftpd-1.0.36]# ll /usr/local/pureftpd/ 
total 12 
drwxr-xr-x 2 root root 4096 Aug  3 14:50 bin 
drwxr-xr-x 2 root root 4096 Aug  3 14:50 sbin 
drwxr-xr-x 3 root root 4096 Aug  3 14:50 share

发现该目录下也没有 etc目录,手动创建

[root@gjp99 pure-ftpd-1.0.36]# mkdir /usr/local/pureftpd/etc

[root@gjp99 pure-ftpd-1.0.36]# cd configuration-file/ 
[root@gjp99 configuration-file]# ll 
total 84 
-rw-r--r-- 1 root root  11073 Aug  3 14:43 Makefile 
-rw-r--r-- 1 1000 games    67 Mar 16 09:01 Makefile.am 
-rw-r--r-- 1 1000 games  9982 Mar 22 04:17 Makefile.in 
-rw-r--r-- 1 root root   4696 Aug  3 14:43 pure-config.pl   编译时需要的可执行文件 
-rw-r--r-- 1 1000 games  4689 Mar 16 09:01 pure-config.pl.in 
-rw-r--r-- 1 root root   7717 Aug  3 14:43 pure-config.py 
-rw-r--r-- 1 1000 games  7679 Apr 17  2011 pure-config.py.in 
-rw-r--r-- 1 root root  11211 Aug  3 14:43 pure-ftpd.conf      配置文件 
-rw-r--r-- 1 1000 games 11189 Mar 16 09:01 pure-ftpd.conf.in 
[root@gjp99 configuration-file]# cp pure-ftpd.conf /usr/local/pureftpd/etc
[root@gjp99 configuration-file]# chmod 755 pure-config.pl  
[root@gjp99 configuration-file]# cp pure-config.pl /usr/local/pureftpd/sbin/

7 .pureftp的服务控制脚本

[root@gjp99 pure-ftpd-1.0.36]# pwd 
/usr/local/src/pure-ftpd-1.0.36 
[root@gjp99 pure-ftpd-1.0.36]# cd contrib/ 
[root@gjp99 contrib]# ls 
Makefile     Makefile.in   pure-vpopauth.pl  suse.init 
Makefile.am  pure-stat.pl redhat.init       xml_python_processors.txt 
[root@gjp99 contrib]# cp redhat.init /etc/init.d/pureftpd 
[root@gjp99 contrib]# chmod 755 /etc/init.d/pureftpd   给它执行权限

[root@gjp99 contrib]# ll /etc/init.d/pureftpd 
-rwxr-xr-x 1 root root 1211 Aug  3 15:07 /etc/init.d/pureftpd 
[root@gjp99 contrib]# vim /etc/init.d/pureftpd

[root@gjp99 contrib]# service pureftpd start 
Starting pure-config.pl: Running: /usr/local/pureftpd/sbin/pure-ftpd --daemonize -A -c50 -B -C8 -D -fftp -H -I15 -L10000:8 -m4 -s -U133:022 -u100 -k99 -Z

[root@gjp99 contrib]# service pureftpd restart 
Stopping pure-config.pl: 
Starting pure-config.pl: Running: /usr/local/pureftpd/sbin/pure-ftpd --daemonize -A -c50 -B -C8 -D -fftp -H -I15 -L10000:8 -m4 -s -U133:022 -u100 -k99 -Z

[root@gjp99 contrib]# netstat -tupln |grep 21 
tcp        0      0 0.0.0.0:21                  0.0.0.0:*        LISTEN      26331/pure-ftpd (SE 
tcp        0      0 :::21                       :::*                   LISTEN      26331/pure-ftpd (SE

[root@gjp99 contrib]# chkconfig --list |grep pureftpd   无法控制 
[root@gjp99 contrib]# chkconfig --add pureftpd       //添加该服务
[root@gjp99 contrib]# chkconfig pureftpd on 
[root@gjp99 contrib]# chkconfig --list |grep pureftpd 
pureftpd           0:off    1:off    2:on    3:on    4:on    5:on    6:off

8. 配置虚拟用户登录环境

[root@gjp99 contrib]# mkdir /ftproot 
[root@gjp99 contrib]# chmod -R 777 /ftproot <这不不做可以能会引起登录时报421错误> 
[root@gjp99 contrib]# useradd virtualftp -d /ftproot -s /sbin/nologin  -M

<创建接下来的虚拟用户对应的系统用户> 
[root@gjp99 contrib]# chown virtualftp:virtualftp /ftproot 
[root@gjp99 contrib]# ll -d /ftproot/ 
drwxrwxrwx 2 virtualftp virtualftp 4096 Aug  3 15:40 /ftproot/

[root@gjp99 contrib]# vim /usr/local/pureftpd/etc/pure-ftpd.conf

20 ChrootEveryone              yes   // 每个人进去,只能禁锢在自己的家目录下!

40 MaxClientsNumber            50      //同时在线的最大连接数

52 MaxClientsPerIP             8       //每一个ip的最大连接数

71 AnonymousOnly           no     //不光是匿名账号

77 NoAnonymous              yes   //不允许匿名

336 CreateHomeDir               yes    // 打开此行

允许用户登录后自动创建家目录   <必须>

9. 用mysql验证

  • 设置调用mysql的插件路径

[root@gjp99 ~]# vim /usr/local/pureftpd/etc/pure-ftpd.conf

116  MySQLConfigFile               /usr/local/pureftpd/etc/pureftpd-mysql.conf

[root@gjp99 ~]# cd /usr/local/pureftpd/etc 
[root@gjp99 etc]# ll 
total 12 
-rw-r--r-- 1 root root 11228 Sep 27 09:24 pure-ftpd.conf

发现该目录下没有pureftpd-mysql.conf的文件!上传过来的软件包存在!
[root@gjp99 etc]# cd 
[root@gjp99 ~]# cd pureftp/ 
[root@gjp99 pureftp]# ll 
total 10804 
-rw-r--r-- 1 root root    29148 Aug  3 14:16 PureAdmin-0.3.tar.gz
-rw-r--r-- 1 root root 10208541 Aug  3 14:16 ZendOptimizer-3.3.3-linux-hicode.tar.gz 
-rw-r--r-- 1 root root   578781 Aug  3 14:16 pure-ftpd-1.0.36.tar.gz 
-rw-r--r-- 1 root root     2105 Aug  3 14:16 pureftp.sql 
-rw-r--r-- 1 root root     4718 Aug  3 14:16 pureftpd-mysql.conf 
-rw-r--r-- 1 root root   196917 Aug  3 14:16 webpureftp0.1.tar.gz
[root@gjp99 pureftp]# cp pureftpd-mysql.conf /usr/local/pureftpd/etc/ 
[root@gjp99 pureftp]# cd /usr/local/pureftpd/etc 
[root@gjp99 etc]# ll 
total 20 
-rw-r--r-- 1 root root 11228 Sep 27 09:24 pure-ftpd.conf 
-rw-r--r-- 1 root root  4718 Sep 27 09:26 pureftpd-mysql.conf 
[root@gjp99 etc]# vim pureftpd-mysql.conf

27 MYSQLUser      ftp  
30 # Mandatory : user password. You must have a password. 
32 MYSQLPassword  tmppasswd 
35 # Mandatory : database to open. 
37 MYSQLDatabase   ftpusers    数据库都还没有创建 
40 # Mandatory : how passwords are stored 
41 # Valid values are : "cleartext", "crypt", "md5" and "password" 
42 # ("password" = MySQL password() function) 
43 # You can also use "any" to try "crypt", "md5" *and* "password" 
44 
45 MYSQLCrypt      md5

  • 导入需要的数据库及表格

[root@gjp99 ~]# cd pureftp/ 
[root@gjp99 pureftp]# ll 
total 10804 
-rw-r--r-- 1 root root    29148 Aug  3 14:16 PureAdmin-0.3.tar.gz
-rw-r--r-- 1 root root 10208541 Aug  3 14:16 ZendOptimizer-3.3.3-linux-hicode.tar.gz 
-rw-r--r-- 1 root root   578781 Aug  3 14:16 pure-ftpd-1.0.36.tar.gz 
-rw-r--r-- 1 root root     2105 Aug  3 14:16 pureftp.sql 
-rw-r--r-- 1 root root     4718 Aug  3 14:16 pureftpd-mysql.conf 
-rw-r--r-- 1 root root   196917 Aug  3 14:16 webpureftp0.1.tar.gz
[root@gjp99 pureftp]# vim pureftp.sql

14 -- Host: localhost    Database: ftpusers 
15 -- ---------------------------------------------------前面也空一格,否则会报错

50 INSERT INTO admin VALUES ('admin',MD5('123')); 后台管理时输入的用户名和密码!

[root@gjp99 pureftp]# mysql -u root -p < pureftp.sql  导入pureftp.sql 
Enter password:         输入密码:123456

[root@gjp99 pureftp]# mysql -u root -p              
Enter password:  输入密码:123456  
Welcome to the MySQL monitor.  Commands end with ; or \g. 
Your MySQL connection id is 3 
Server version: 5.0.77 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> show databases; 
+--------------------+ 
| Database           | 
+--------------------+ 
| information_schema | 
| ftpusers           | 
| mysql              | 
| test               | 
+--------------------+ 
4 rows in set (0.03 sec)

mysql&gt; use ftpusers; 
Reading table information for completion of table and column names 
You can turn off this feature to get a quicker startup with -A

Database changed 
mysql&gt; show tables; 
+--------------------+ 
| Tables_in_ftpusers | 
+--------------------+ 
| admin              |   
| users              | 
+--------------------+ 
2 rows in set (0.00 sec)

mysql&gt; select * from admin; 
+----------+----------------------------------+ 
| Username | Password                         | 
+----------+----------------------------------+ 
| admin    | 202cb962ac59075b964b07152d234b70 |     密码已用MD5加密  
+----------+----------------------------------+ 
1 row in set (0.00 sec)

mysql&gt; \q 
Bye

  • 添加连接mysql用户

注意:以下命令必须执行,否则,后台管理登陆不进去!

先用root登录mysql,执行 
mysql&gt;grant all privileges on ftpusers.* to ftp@localhost identified by 'tmppasswd'; 
mysql&gt;flush privileges; 
mysql&gt;quit;

如果配置成功可用: useradd –u  ftp –p passwd  输入密码:tmppasswd

  • web的管理页面----PureAdmin-0.3.tar.gz

修改pureadmin的配置文件

[root@gjp99 pureftp]# ll 
total 10804 
-rw-r--r-- 1 root root    29148 Aug  3 14:16 PureAdmin-0.3.tar.gz 
[root@gjp99 pureftp]# tar zxvf PureAdmin-0.3.tar.gz  -C /var/www/html

[root@gjp99 pureftp]# cd /var/www/html 
[root@gjp99 html]# ll 
total 4 
drwxr-xr-x 4 root 80 4096 Mar 22  2009 PureAdmin-0.3 
[root@gjp99 html]# mv PureAdmin-0.3   pureadmin 
[root@gjp99 html]# ll 
total 4 
drwxr-xr-x 4 root 80 4096 Mar 22  2009 pureadmin 
[root@gjp99 html]# cd pureadmin/ 
[root@gjp99 pureadmin]# ll 
total 56 
-rw-r--r-- 1 root 80 3612 Oct  6  2008 adduser.php 
-rw-r--r-- 1 root 80 1903 Oct  6  2008 admin.php 
-rw-r--r-- 1 root 80  273 Oct  6  2008 chkuser.php 
-rw-r--r-- 1 root 80  581 Oct  6  2008 code.php 
-rw-r--r-- 1 root 80  577 Mar 22  2009 config.php 
-rw-r--r-- 1 root 80 3927 Oct  6  2008 edit.php 
drwxr-xr-x 2 root 80 4096 Apr 19  2009 images 
-rw-r--r-- 1 root 80 2279 Mar 22  2009 index.php 
-rw-r--r-- 1 root 80  366 Mar 22  2009 lib.php 
drwxr-xr-x 2 root 80 4096 Apr 19  2009 libs 
-rw-r--r-- 1 root 80 1997 Oct  6  2008 list.php 
-rw-r--r-- 1 root 80  491 Oct  6  2008 lock.php 
-rw-r--r-- 1 root 80 5411 Oct  6  2008 main.php

[root@gjp99 pureadmin]# vim config.php

[root@gjp99 pureadmin]# service httpd restart 
Stopping httpd:                                            [  OK  ] 
Starting httpd: httpd: apr_sockaddr_info_get() failed for gjp99.baidu.com 
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName 
                                                           [  OK  ] 
[root@gjp99 pureadmin]# service pureftpd restart 
Stopping pure-config.pl: 
Starting pure-config.pl: Running: /usr/local/pureftpd/sbin/pure-ftpd --daemonize -A -c50 -B -C8 -D -E -fftp -H -I15 -lmysql:/usr/local/pureftpd/etc/pureftpd-mysql.conf -L10000:8 -m4 -s -U133:022 -u100 -j -k99 -Z

测试:

创建用户:

刚创建的用户保存在mysql数据库中!

[root@gjp99 etc]# mysql -u root  -p    进入查看 
Enter password:     123456

mysql&gt; show databases;

mysql&gt; use ftpusers;

mysql&gt; show tables;

mysql&gt; select * from users; 
+------+----------------------------------+------+------+--------------+------------+-----------+-------------+-------------+-----------+---------+--------+---------+---------+ 
| User | Password                         | Uid  | Gid  | Dir          | QuotaFiles | QuotaSize | ULBandwidth | DLBandwidth | Ipaddress | Comment | Status | ULRatio | DLRatio | 
+------+----------------------------------+------+------+--------------+------------+-----------+-------------+-------------+-----------+---------+--------+---------+---------+ 
| gjp  | 202cb962ac59075b964b07152d234b70 | 1000 | 1000 | /ftproot/gjp |          0 |       100 |           0 |         200 | *         |         | 1      |       0 |       0 | 
+------+----------------------------------+------+------+--------------+------------+-----------+-------------+-------------+-----------+---------+--------+---------+---------+ 
1 row in set (0.00 sec)

[root@gjp99 etc]# cd /ftproot/ 
[root@gjp99 ftproot]# ll   发现该目录下并不存在gjp账号 
total 0    访问时,才产生相应的目录 但是,用创建的虚拟账号登录不成功

  • 用pureDB认证

打开虚拟账号与物理账号之间的映射文件

[root@gjp99 ftproot]# vim /usr/local/pureftpd/etc/pure-ftpd.conf

126  PureDB                        /usr/local/pureftpd/pureftpd.pdb

[root@gjp99 ftproot]# cd /usr/local/pureftpd/ 
[root@gjp99 pureftpd]# ll   目录 
total 16 
drwxr-xr-x 2 root root 4096 Aug  3 14:50 bin 
drwxr-xr-x 2 root root 4096 Sep 27 11:19 etc 
drwxr-xr-x 2 root root 4096 Aug  3 14:55 sbin 
drwxr-xr-x 3 root root 4096 Aug  3 14:50 share 
[root@gjp99 pureftpd]# ll bin/    这下面是指令 
total 112 
-rwxr-xr-x 1 root root 76969 Aug  3 14:50 pure-pw 
-rwxr-xr-x 1 root root 14468 Aug  3 14:50 pure-pwconvert 
-rwxr-xr-x 1 root root 14462 Aug  3 14:50 pure-statsdecod

如果用./pure-pw 只能在当前目录下执行

配置环境变量,让其在任何地方都可以执行!

[root@gjp99 pureftpd]# echo PATH=$PATH:/usr/local/pureftpd/bin &gt;&gt;/etc/profile 
[root@gjp99 pureftpd]# .  /etc/profile   立即生效,点代表source 
[root@gjp99 pureftpd]# cd  切换到任意目录 
[root@gjp99 ~]# pure-pw  按tab键,则这个命令已可以出现,表明已可以正常使用

[root@gjp99 ~]# pure-pw useradd lzw -u virtualftp -g virtualftp -d /ftproot/lzw -m 
Password:    123 
Enter it again:

说明: 
    lzw是用户名,-u virtualftp是其实际的linux用户,-d指定起始目录,并锁定于该目录。如果不锁定,则用-D;如果需要不同的权限,可以建立新的linux用户与组

如果用的系统自带的ftp用户,这样的话还需修改配置文件pure-ftpd.conf中的MinUID为ftp用户的UID 14,否则登录时会出现530错误;所以这里建议创建另一个非系统自带的用户做映射

[root@gjp99 ftproot]#  pure-pw mkdb /usr/local/pureftpd/pureftpd.pdb

注意如果该命令不执行,则l无法用lzw账号登录!

[root@gjp99 ~]# cd /ftproot/ 
[root@gjp99 ftproot]# ll 
total 4 
drwxr-xr-x 2 1000 1000 4096 Sep 27 11:40 gjp

[root@gjp99 ftproot]# ll 
total 8 
drwxr-xr-x 2       1000       1000 4096 Sep 27 11:40 gjp 
drwxr-xr-x 2 virtualftp virtualftp 4096 Sep 27 11:54 lzw

用网页访问!

 

[root@gjp99 ftproot]# cd gjp 
[root@gjp99 gjp]# echo "welcome " >>gjp

点开gjp 则看到:

Pureftp-安全的ftp服务器部署的更多相关文章

  1. NAT后的FTP服务器部署笔记

    (2019年2月19日注:这篇文章原先发在自己github那边的博客,时间是2017年2月5日) 寒假开始以后,过年之前有一个任务,为实验室的人搭建一个FTP,用之前部署好的物理服务器.这本就是网管干 ...

  2. Linux ftp服务器部署(最简单的ftp教程)

    之前在阿里云领了一个ECS服务器(顺便说一句,白嫖的,真香~),就想着做点什么,然后试着做个 ftp 站点,因为第一次尝试,结果走了不少弯路.最后终于完成了,研究了两天(哎~,脑壳笨没办法)就想着记录 ...

  3. ubuntu ftp服务器搭建

    linux ftp服务器部署 1.sudo apt-get install vsftpd   ##下载vsftpd 2.sudo vim /etc/vsftpd.conf  ##vsftpd配置文件 ...

  4. Linux下部署FTP服务器

    Linux下部署FTP服务器 下载安装包 在这里介绍的是离线部署FTP,首先下载对应的rpm包,下载链接为: 下载vsftpd服务 下载FTP客户端 安装ftp服务器 关闭防火墙 service ip ...

  5. linux下使用docker方式部署ftp服务器

    linux环境下部署vsftpd比较繁琐,可以直接使用docker官方仓库中的pure-ftpd镜像来部署ftp服务器. 下载镜像 docker pull stilliard/pure-ftpd:ha ...

  6. Linux安装部署FTP服务器

    Linux安装部署FTP服务器   本文章会将安装FTP服务器的步骤以及一些遇到的问题来记录下 因为项目中要与第三方对接数据,需要用到FTP服务器以提供他们每天上传数据,因为之前在本地的VMware虚 ...

  7. window部署ftp服务器

                                                                                                         ...

  8. 白嫖永久免费云服务器教程,永久免费虚拟主机、永久免费云数据库、搭建FTP服务器、服务器安装Linux / windows操作系统、服务器部署网站、宝塔一键部署多网站、独立ip、永久国内高速云服务器

    一.准备工作 1. 注册账号 声明:切记不可用服务器做违法的事情 申请地址:https://www.sanfengyun.com/ 图文教程地址:https://www.cnblogs.com/zwn ...

  9. Linux下如何部署FTP服务器

    FTP 是 File Transfer Protocol 的缩写,即文件传输协议,它通过网络在服务器和客户端之间传输文件,现在已经成为一种广泛使用的标准工具 vsftpd 是 very secure ...

随机推荐

  1. jQuery对复选框(checkbox)的全选,全不选,反选等的操作

    效果截图: HTML代码: <body><ul id="list"> <li><label><input type=" ...

  2. SAP debug的几种方式

         1. 直接在程序中设断点 这种方式想必大家都知道了,在se38里面打上breakpoint,程序运行到该处即进入debug模式   2.background Job的debug 进入SM37 ...

  3. 关于停止AsyncTask和Thread的问题

    在java的线程中,没有办法停止一个正在运行中的线程.在Android的AsyncTask中也是一样的.如果必须要停止一个线程,可以采用这个线程中设置一个标志位,然后在线程run方法或AsyncTas ...

  4. iOS 自定义进度条

    自定义条形进度条(iOS) ViewController.m文件 #import "ViewController.h" @interface ViewController () @ ...

  5. iOS开发 -- 为本地文件添加自定义属性的工具类

    前言:实际开发,我们可能会有这样的需求,就是为文件添加自定义的属性,或者是可以将文件的相关信息添加进该文件的属性中,这样可以以备下次读取利用. 那么本文就是要介绍"拓展文件属性的工具类&qu ...

  6. Swift基础之闭包

    内容纲要: 1.闭包基础 2.关于闭包循环引用 正文: 1.闭包 闭包是自包含的函数代码块,可以在代码中被传递和使用.Swift 中的闭包与 C 和 Objective-C 中的代码块(blocks) ...

  7. 二维码扫描利用ZBar实现

    上次是根据系统的属性自己封装的一个二维码扫描,这次给大家介绍一下基于ZBar集成的类似于QQ二维码扫描界面的二维码扫描的效果.                                     ...

  8. SQL Server 查看存储过程执行次数的方法

    今天老大提出一个需求,想查看数据库存储过程执行的次数,以前没有接触过,于是网上找了下,发现还真有! 不废话,贴出来sql语句,直接执行即可看到结果: use master select text,ex ...

  9. 关于EntityFramework在vs2012无法引用的问题

    这段时间学习MVC,发现一个问题,我公司的电脑可以直接引用EntityFrameWork这个命名空间,但我家里面的电脑就不能直接引用,刚开始以为是我电脑配置问题,后重装电脑,发现问题并没有解决. 今天 ...

  10. 别了,CL君

    去年是我毕业的第3年,去年一年里没有上班,本打算重拾青春校园的纯粹记忆,当时想过考研.在西电租房子住了3个月后就打道回府了.回北郊后,住在毛坯房子里,一个人睡觉倒也不觉得黑,也不觉得害怕. 后来201 ...