FTP介绍
html
(rz和sz: 传文件linux
rz:window-->linuxshell
sz:linux-->window 文件超过4GB则无论用)vim
使用vsftpd搭建ftp服务centos
1.安装:yum install -y vsftpd安全
2.建立用户:服务器
(vsftpd默认支持是可使用系统帐号登陆的,可是这样不安全,由于咱们系统的用户是能够登陆,而后去操做咱们的操做系统的。因此使用虚拟帐号体系,建立虚拟用户,虚拟用户是不能登录到咱们的系统的!!)session
建立一个普通用户,做用是做为虚拟用户的一个映射,能让其登陆使用FTPide
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 testuser1@127.0.0.1 虚拟用户登陆
在用虚拟用户登陆了一个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