FTP介绍
(rz和sz: 传文件
rz:window-->linux
sz:linux-->window 文件超过4GB则不管用)
使用vsftpd搭建ftp服务
1.安装:yum install -y vsftpd
2.创建用户:
(vsftpd默认支持是可以使用系统账号登录的,但是这样不安全,因为我们系统的用户是可以登录,然后去操作我们的操作系统的。所以使用虚拟账号体系,创建虚拟用户,虚拟用户是不能登陆到我们的系统的!!)
创建一个普通用户,作用是作为虚拟用户的一个映射,能让其登录使用FTP
useradd -s /sbin/nologin virftp (-s指定用户的shell,shell为/sbin/nologin这样这个用户不能登陆系统)
3.编辑虚拟用户的密码文件:(新文件)
vim /etc/vsftpd/vsftpd_login //内容如下,奇数行为用户名,偶数行为密码,多个用户就写多行
修改完做权限设置:
chmod 600 /etc/vsftpd/vsftpd_login
4.将文本的密码文件装换成二进制的密码文件(生成对应的库文件)
(db_load -T -t hash -f)
db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
5.创建虚拟用户的目录和配置文件:
(1)创建虚拟用户的目录
mkdir /etc/vsftpd/vsftpd_user_conf
(2)进入到虚拟用户的目录:
cd /etc/vsftpd/vsftpd_user_conf
(3)创建虚拟用户的配置文件(文件名应该与我们设定的虚拟用户名一致)
vim testuser1 //配置文件testuser1加入如下内容
local_root=/home/virftp/testuser1 //为虚拟用户testuser1的家目录(读取文件所在处)
anonymous_enable=NO // 是否允许匿名用户
write_enable=YES //是否可行
local_umask=022 //umask的值
anon_upload_enable=NO //是否允许匿名用户上传文件
anon_mkdir_write_enable=NO //是否允许匿名用户可写、创建用户
idle_session_timeout=600 //连接空闲超时时间,超时就重新登录
data_connection_timeout=120 //传输文件超时时间
max_clients=10 //最大客户端数
6.创建虚拟用户testuser1的家目录:
mkdir /home/virftp/testuser1
创建一个文件(测试可以看到)
touch /home/virftp/testuser1/cansheng.txt
7.修改/home/virftp/的主和组:
chown -R virftp:virftp /home/virftp
8.修改认证的文件/etc/pam.d/vsftpd:
vim /etc/pam.d/vsftpd 添加下列内容
//在最前面加上
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
(密码文件,centos7为64位系统,所以库文件路径为/lib64/security/pam_userdb.so,32位系统为:/lib/security/pam_userdb.so 这个文件一定要存在且写对,不然虚拟用户登录ftp服务时会认证失败)
9.修改全局配置文件/etc/vsftpd/vsftpd.conf
再增加如下内容
chroot_local_user=YES
guest_enable=YES //是否允许虚拟用户映射
guest_username=virftp //这个就是虚拟用户映射到的系统用户virftp
virtual_use_local_privs=YES //
user_config_dir=/etc/vsftpd/vsftpd_user_conf //创建的虚拟用户的目录
allow_writeable_chroot=YES
10.启动服务:
systemctl start vsftpd
测试:
(1)可以在window下安装一个客户端软件:filezilla client
(2)在linux下测试,下载lftp :yum install -y lftp
使用lftp:
lftp [email protected] 虚拟用户登录
在用虚拟用户登录了一个ftp。
1.下载命令,get
get cansheng.txt (把虚拟用户下的文件cansheng.txt下载到服务器当前目录下)
2.上传命令:put
window下测试,下载filezilla client,登录后也是进行拖拉就行。
在xshell上实现同样的功能,上传、下载:
链接后登录
使用下载命令后,
get cansheng.txt
保存路径为在C:\Users\kenson\Documents\NetSarang\Xshell\Sessions\
xshell时的安装路径
xshell使用xftp传输文件
下载一个xftp更实用:
在http://www.netsarang.com/download/down_form.html?code=523
下载安装完:在xshell中按 Ctrl+Alt+F,会出现以下xftp
在这个软件中我们进行拖拉就可以上传和下载,相当简单。
(前提是使用xshell登录了机器,然后按 Ctrl+Alt+F)
使用pure-ftpd搭建ftp服务
这个pure-ftpd比vsftpd更简单更轻量
1.下载:
(1)先下载扩展源: yum install -y epel-release
(2)再下载pure-ftpd: yum install -y pure-ftpd
2.修改配置文件:
vim /etc/pure-ftpd/pure-ftpd.conf//找到pureftpd.pdb这行,把行首的#删除
3.开启服务:
systemctl stop vsftpd (先把vsftpd服务停止,因为pure-ftpd也是监听21端口,避免端口冲突)
systemctl start pure-ftpd (开启pure-ftpd服务)
4.创建一个系统用户
useradd -u 1010 pure-ftp (uid可自定)
5.创建测试目录
mkdir /data/ftp
修改目录的属主和组:
chown -R pure-ftp:pure-ftp /data/ftp
6.创建一个虚拟用户
pure-pw useradd ftp_usera -u pure-ftp -d /data/ftp
(同时设定用户密码)
pure-pw help //查看pure-pw的用法
7. pure-pw mkdb 执行这个命令
(不执行是无法登录的)
测试:
在虚拟用户的家目录创建一个测试文件:
touch /data/ftp/123.txt
chown pure-ftp:pure-ftp /data/ftp/123.txt
列出当前虚拟用户:pure-pw list
原文地址:http://blog.51cto.com/13589255/2094249