[15] FTP服务搭建与配置
15.1 FTP介绍
当使用跳板机连接时,rz工具就不好使用,此时FTP可以解决该问题。
- FTP是File TransferProtocol(文件传输协议,简称文传协议)的英文简称,用于在Internet上控制文件的双向传输。
- FTP的主要作用就是让用户连接一个远程计算机(这些计算机上运行着FTP服务器程序),并查看远程计算机中的文件,然后把文件从远程计算机复制到本地计算机,或把本地计算机的文件传送到远程计算机。
- 小公司用的多,大企业不用FTP,使用自动化发布git
15.2使用vsftp搭建ftp
centos自带vsftpd
- 安装ftp
创建用户
[root@localhost ~]# useradd -s /sbin/nologin virftp
编辑密码文件
[root@localhost ~]# vim /etc/vsftpd/vsftpd_login
奇数行为用户名,偶数行为密码,多个用户就写多行
设置密码文件权限
[root@localhost ~]# chmod 600 /etc/vsftpd/vsftpd_login
将密码文本文件转化成二进制文件
[root@localhost ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
创建虚拟用户目录和虚拟用户配置文件
[root@localhost ~]# mkdir /etc/vsftpd/vsftpd_user_conf
[root@localhost ~]# cd /etc/vsftpd/vsftpd_user_conf
定义虚拟用户配置文件时,文件名需要和密码文件定义的用户名保持一致,我这里定义的为ggg
[root@localhost vsftpd_user_conf]# vim ggg
配置如下:
local_root=/home/virftp/ggg #虚拟用户家目录
anonymous_enable=NO #是否允许匿名用户
write_enable=YES #是否可写
local_umask=022
anon_upload_enable=NO #是否允许匿名用户上传
anon_mkdir_write_enable=NO #是否允许匿名用户创建目录并且可写
idle_session_timeout=600 #链接ftp超时时间
data_connection_timeout=120 #数据传输的超时时间
max_clients=10 #最大的客户端
创建虚拟用户家目录
[root@localhost vsftpd_user_conf]# mkdir /home/virftp/ggg
[root@localhost vsftpd_user_conf]# touch /home/virftp/ggg/test.txt
[root@localhost vsftpd_user_conf]# chown -R virftp:virftp /home/virftp
定义密码文件路径
[root@localhost vsftpd_user_conf]# 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
- 编辑vsftpd主配置文件
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
将anonymous_enable=YES 改为 anonymous_enable=NO
将#anon_upload_enable=YES 改为 anon_upload_enable=NO
将#anon_mkdir_write_enable=YES 改为 anon_mkdir_write_enable=NO
再增加如下内容
chroot_local_user=YES
guest_enable=YES #开启虚拟用户
guest_username=virftp #映射系统用户
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf
allow_writeable_chroot=YES
[root@localhost ~]# systemctl start vsftpd
- 客户端测试
filezilla工具 lftp工具
[root@localhost ~]# yum install -y lftp
[root@localhost ~]# lftp ggg@127.0.0.1
口令:
lftp ggg@127.0.0.1:~>
使用?,查看所有可用命令
xshell 使用sftp协议连接
15.3 Xshell使用xftp传输文件
15.4 使用pure-ftpd搭建ftp服务
- 安装扩展源和ftp服务
[root@localhost ~]# yum install -y epel-release
[root@localhost ~]# yum install -y pure-ftpd
- 编辑配置文件
[root@localhost ~]# vim /etc/pure-ftpd/pure-ftpd.conf
pureftpd.pdb这行,把行首的#删除,指定密码配置文件
- 关闭之前的vftp软件,k开启现在的ftp软件
[root@localhost ~]# systemctl stop vsftpd
[root@localhost ~]# systemctl start pure-ftpd
- 创建ftp的家目录和用户
[root@localhost ~]# useradd -u 1010 pure-ftp
[root@localhost ~]# mkdir -p /data/ftp
[root@localhost ~]# chown -R pure-ftp:pure-ftp /data/ftp
- 创建ftp用户指定目录
[root@localhost ~]# pure-pw useradd ftp_usera -u pure-ftp -d /data/ftp
ftp_usera 为创建的ftp用户
-u 选项指定系统映射用户(系统用户)
-d 指定虚拟用户家目录
- 测试
[root@localhost ~]# touch /data/ftp/111
[root@localhost ~]# lftp ftp_usera@127.0.0.1
口令:
lftp ftp_usera@127.0.0.1:~> ls
drwxr-xr-x 2 1010 pure-ftp 17 Aug 26 11:16 .
drwxr-xr-x 2 1010 pure-ftp 17 Aug 26 11:16 ..
-rw-r--r-- 1 0 0 0 Aug 26 11:16 111
1万+



被折叠的 条评论
为什么被折叠?



