ftp(file transfer protocol)——文件传输协议
(a)官网:www.pureftpd.org
(b)原理
让用户连接上一个远程计算机(运行FTP服务器程序)查看远程计算机有哪些文件,然后把文件从远程计算机上拷贝到本地计算机,或把本地计算机的文件送到远程计算机。
(c)作用:实现文件的上传和下载(windows、linux都支持)
注意:
ftp通过映射系统用户来实现登录,提供用户是一个虚拟用户,虚拟用户可以登录ftp服务,但是不能登录服务器的!
一、ftp搭建
用到pure-ftpd软件 (系统自带:vsftpd)
1、下载+解压
解压:tar jxvf pure-ftpd-1.0.42.tar.bz2
cd pure-ftpd-1.0.42
2、配置编译参数
./configure
--prefix=/usr/local/pureftpd
--without-inetd
--with-altlog
--with-puredb
--with-throttling
--with-peruserlimits
--prefix=/usr/local/pureftpd
--without-inetd
--with-altlog
--with-puredb
--with-throttling
--with-peruserlimits
--with-tls
3、make & make install
4、安装完,查看 ls /usr/local/pureftpd,可以找到3个目录:bin,sbin,share
5、创建一个配置文件所在的路径 etc
mkdir -p /usr/local/pureftpd/etc/
6、拷贝模板配置文件(configuration-file目录下)
(a)cd /usr/local/src/pure-ftpd-1.0.42/configuration-file
(b)cp pure-ftpd.conf /usr/local/pureftpd/etc/pure-ftpd.conf
7、拷贝启动文件(configuration-file目录下)
cp pure_config.pl /usr/local/pureftpd/sbin/
更改文件权限:
chmod 755 /usr/local/pureftpd/sbin/pure-config.pl
8、编辑配置文件pureftpd.conf
vim /usr/local/pureftpd/etc/pureftpd.conf
先清空:dG,再拷贝网上模板文件内容
ps ##########################
(a)映射系统用户时,不能映射uid<100(因为最小已经是100,不能映射比100更小的)
MinUID就为100
(b)PureDB
/usr/local/pureftpd/etc/pureftpd.pdb 是用户名和密码所存放的路径
pureftpd.pdb是一个密码库文件
ps ##########################
9、创建测试目录 /tmp/ftp
10、确定要映射的系统用户
(a)tail /etc/passwd,假设要映射的系统用户为user3
(b)把/tmp/ftpd的属主改成user3
chown -R user3 /tmp/ftp
11、添加用户
/usr/local/pureftpd/bin/pure-pw useradd ftpuser1 -uuser3 -d /tmp/ftp/
参数说明:
(a)添加用户的命令: /usr/local/pureftpd/bin/pure-pw
(b)ftpuser1:虚拟用户,用来登录ftp服务
(c)-u:映射的系统用户
(d)-d:共享的ftp目录
12、创建生成密码库的文件:/usr/local/pureftpd/bin/pure-pw mkdb
(a)列出: /usr/local/pureftpd/bin/pure-pw list,
有: ftpuser1、 /tmp/ftp/ 、 ./
(b)删除ftpuser1: /usr/local/pureftpd/bin/pure-pw userdel ftpuser1
13、启动
格式:启动脚本+配置文件pureftp 服务
/usr/local/pureftpd/sbin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf
二、ftp测试登录
服务器端:rs1,客户端:rs2
1、查看进程和端口
(a)ps aux |grep pure
(b)netstat -lnp: 监听21端口
另一台机器rs2(192.168.131.131)登录
1、lftp登录(无?—— 》 yum install -y lftp)
lftp ftpuser1@192.168.131.110
输入密码即可
2、客户端 rs2 创建目录 123
3、服务端 rs1可以查到相关的日志记录
tail /var/log/messages
4、rs1机器创建文件12.txt(/tmp/ftp)并写入东西
5、rs2登录查看 lft ftpuser1@192.168.131.110
有12.txt文件
6、退出exit
三、ftp相关命令
1、显示全部支持的命令?
2、get 12.txt:下载文件
3、put 12.txt:上传文件
四、除了用lftp,还可以用ftp(后面直接跟ip)
ftp 192.168.131.110
输入:
用户名:ftpuser1
密码:*****
ps:windows要使用 ftp:装ftp客户端软件(图形化操作)
ubuntu编程缺少openssl头文件的解决办法
解决办法,用 "libssl-dev" 替换 "openssl-devel".
然后$ sudo apt-get install libssl-dev