FTP服务搭建与配置

FTP介绍

大企业多使用自动化发布程序,例如:git等工具

 

 

 

 

使用vsftpd搭建ftp

 

安装vsftpd:

yum install -y vsftpd

 

创建一个普通的系统用户:

useradd -s /sbin/nologin virftp        指定用户的shell为nologin,不允许登录

vsftpd软件是允许系统用户以ftp方式(非SSH)登录系统的,登录后会进入用户家目录,为了安全起见,我们使用虚拟ftp用户映射到真实系统用户的方式,使用ftp服务,从而避免ftp用户直接登录系统。

 

创建虚拟ftp用户配置文件:

vim /etc/vsftpd/vsftpd_login

 

写入虚拟用户的用户名和密码:

test1          奇数行  写用户名

123            偶数行  写密码

test2          多个用户就写多组,中间不能有空行和空格

456           

 

更改权限:

chmod 600 /etc/vsftpd/vsftpd_login

 

将文本文件转换成二进制文件:

db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db

 

创建虚拟用户的配置文件目录:

mkdir /etc/vsftpd/vsftpd_user_conf

cd /etc/vsftpd/vsftpd_user_conf

 

创建虚拟用户的配置文件:

vim test1       此处的文件名必须和/etc/vsftpd/vsftpd_login文件里的用户名一致

 

加入如下内容

local_root=/home/virftp/testuser1     定义虚拟用户的家目录

anonymous_enable=NO                  不允许匿名用户登陆,如果允许则用YES

write_enable=YES                            写权限,允许

local_umask=022                             设定umask,用来控制用户创建文件和目录的默认权限

anon_upload_enable=NO                不允许匿名用户上传

anon_mkdir_write_enable=NO         不允许匿名用户创建目录和写权限

idle_session_timeout=600                空闲时限600秒,超时自动断开

data_connection_timeout=120         数据连接(请求)时限120秒,超时会自动断开

max_clients=10                                客户端的最大连接数

 

 

创建虚拟ftp用户的家目录,并创建测试文件

mkdir /home/virftp/test1

touch /home/virftp/test1/1.txt

 

级联更改系统用户virftp家目录的属主属组

chown -R virftp:virftp /home/virftp

 

定义用户验证文件路径

vim /etc/pam.d/vsftpd    编辑ftp的用户认证文件

在最前面加上:注意区分系统是32位还是64位

auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login 

指定密码验证形式为文件形式,并指定路径路径

account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

指定账户存储形式为文件,并指定账户存储文件路径

 

配置vsftp服务:

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    定义来宾用户为virftp

virtual_use_local_privs=YES    允许虚拟用户映射到系统用户

user_config_dir=/etc/vsftpd/vsftpd_user_conf 定义用户配置文件目录

allow_writeable_chroot=YES    允许写权限

 

启动vsftpd服务

systemctl start vsftpd

 

 

测试:

安装lftp客户端

yum install -y lftp

以test1用户的身份访问ftp服务器,并输入密码

lftp test1@127.0.0.1

执行命令ls,看是否正常输出

若不正常查看日志/var/log/messages和/var/log/secure

windows下安装filezilla客户端软件,进行测试

 

排错:

Login failed: 500 OOPS: bad bool value in config file for: anonymous_enable

原因:配置文件里有空格,删除vsftpd服务的配置文件vsftpd.conf和虚拟用户配置文件test1里的空格.

使用Xshell以SFTP协议登录到系统

1、新建会话,定义会话名称,选择SFTP协议,输入服务器地址和端口,和ssh协议端口一致即可

2、在左侧SFTP选项这里定义本地文件目录和远程文件目录,用来保存文件

3、确定保存,使用系统用户登录

 

Connecting to 12.19.23.13:11...

Connection established.

To escape to local shell, press 'Ctrl+Alt+]'.

 

Your current local directory is

C:\Users\Administrator\Documents\NetSarang\Xshell\Sessions

 

Type `help' to browse available commnands.

sftp:/root> pwd

Remote directory is /root

sftp:/root> ls

drwxr-xr-x    6 root     root         4096 Jun 24 16:54 ..

 

sftp:/root>

 

使用Xshell的xftp传输文件

在xshell的窗口里,同时按ctrl+alt+f 组合键,会弹出xftp的下载链接

按照指引下载家庭与学校用的那个版本,并安装

打开xshell客户端,使用系统用户登录到服务器,然后使用ctrl+alt+f 组合键打开xftp窗口,左边是本地目录,右边是服务器目录,双击鼠标可以快速复制文件到另一端去,也可以选中文件使用右键选项。

必须要先登录到系统,才可以使用xftp,否则会弹出窗口让你配置远程服务器信息,无论使用ssh还是sftp协议登录都可以使用xftp功能。

 

使用pure-ftpd搭建ftp服务

 

 

 

安装

yum install -y epel-release

yum install -y pure-ftpd

 

配置pure-ftpd服务

vim /etc/pure-ftpd/pure-ftpd.conf

# PureD       /etc/pure-ftpd/pureftpd.pdb     取消本行的注释

 

启动pure-ftpd服务并关闭vsftp服务(如有开启,端口冲突)

systemctl stop vsftpd

systemctl start pure-ftpd

 

创建文件共享目录

mkdir /data/ftp

 

创建系统用户和用户组,并指定uid,gid

groupadd -g 1010 pure-ftp

useradd -u 1010 pure-ftp

 

级联更改文件共享目录属主属组

chown -R pure-ftp:pure-ftp /data/ftp

使用pure-pw命令创建虚拟ftp用户并指定映射的系统用户和家目录

pure-pw useradd ftp_user1 -u pure-ftp  -d /data/ftp

设置此虚拟用户的密码

 

使用pure-pw help命令,查看pure-pw命令的使用说明

使用pure-pw list  命令,查看所有ftp用户和所在目录

 

使用pure-pw mkdb命令,生成pure-ftp识别的密码文件

pure-pw mkdb

 

测试

lftp ftp_user1@127.0.0.1

注意用户名,写错了会报Login failed: 530 Login authentication failed

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值