快速搭建FTP服务

Linux下ftp服务可以通过搭建vsftpd服务来实现,以CentOS为例,首先查看系统中是否安装了vsftpd,可以通过执行命令 rpm -qa | grep vsftpd 来查看是否安装相应的包,如果没有安装那么可以执行 yum -yinstall vsftpd 来安装,安装之后首先创建ftp用户,比如ftp_test,命令如下:

useradd -s /sbin/nologin -d /home/ftp_test ftp_test

  目录尽量不要选择根目录下,这里是/home/ftp_test,并且ftp_test这个目录不要手动创建,否则权限会有问题,执行命令的时候会自动创建,

  

  可以看到权限现在是对于ftp_test用户是可读可写可执行的,其他用户和组下面的都没有任何权限,现在为ftp_test用户创建密码:

passwd ftp_test

  执行之后输入2次密码确认就设置好了密码

  然后编辑vsftpd配置文件,位置是:vim /etc/vsftpd/vsftpd.conf

  找到anonymous_enable这个配置项,默认是YES,修改成NO,表示不允许匿名用户登录

  

  现在直接保存配置文件,执行 systemctl start vsftpd.service 启动vsftp服务,然后可以通过命令: systemctl status vsftpd.service 查看ftp服务的运行状态,现在就可以用ftp客户端进行连接了,这里用FileZilla测试,连接正常

  

  现在基本的ftp服务就部署完了,客户端可以正常上传,下载,修改文件;但是这样有个问题就是所有的目录都暴露给客户端了,虽然客户端不能随意修改删除其余的文件,但是因为目录可见,所以总会有一些风险,所以接下来还需要配置让ftp用户只在自己的家目录下面活动,而无法查看其它任何目录,同样是打开配置文件/etc/vsftpd/vsftpd.conf,找到chroot_local_user=YES这个配置,默认是注释的,这里去掉注释,表示只让用户在自己的目录里面活动,如果只是保存这一个配置的话,用ftp连接客户端会返回500 OOPS: vsftpd: refusing to run with writable root inside chroot()的错误,即禁止运行在可写的家目录中,因为刚才ftp_test这个目录有w权限,而现在我们使用的vsftpd版本是3.0.2 属于比较新的版本,为了安全性做了一些限制,如果你此时想通过 chmod a-w /home/ftp_test 来去掉目录的写权限,那么连接成功是没问题的,但是无法上传文件了,所以网上很多说修改权限的方法是不可取的,正确的做法是应该在下面添加一行配置allow_writeable_chroot=YES表示允许对家目录的写权限,具体配置如下:

  

  配置完这两项以后保存退出,然后执行 systemctl restart vsftpd.service 重启vsftpd服务,现在重新使用ftp连接就成功了,并且任何操作也是没问题的

  

  现在可以看到上面的路径是一个/,对于ftp用户来说也就是根目录了,只能在这个目录下操作,而无法跳出这个目录

  以上就是vsftpd服务的基本搭建过程,实际使用时可以分配多个用户

#################################################

快速搭建脚本(适用CentOS7):

#!/bin/bash
#Author:Template
#Time:20180802
. /etc/init.d/functions
stty erase ^h
yum -y install vsftpd
read -p "请输入FTP用户名:"  ftp_user
read -s -p "请输入FTP账户密码:"  password
useradd -s /sbin/nologin  $ftp_user
echo $password | passwd --stdin $ftp_user &> /dev/null

mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

cat >> /etc/vsftpd/vsftpd.conf << EOF
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
allow_writeable_chroot=YES
EOF

systemctl start vsftpd && {

action "vsftpd start" /bin/true

}

原文地址:https://www.cnblogs.com/Template/p/9406679.html

时间: 2024-07-29 16:48:58

快速搭建FTP服务的相关文章

使用FileZilla快速搭建FTP文件服务

为了便于平时对文件的存储访问,特意搭建FTP服务 FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务. FTP是文件传输协议,就是专门用来传输文件的协议 基础环境 服务器:Windows Server 2012 R2 工具:   FileZilla Server 0.9.41中文版 搭建过程 1.下载FileZilla服务端 https://www.filezilla.cn/download/serve

如何快速搭建ftp服务器(详细教程)

FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务. FTP是文件传输协议,就是专门用来传输文件的协议.这篇文章主要介绍了使用云帮手工具快速搭建FTP文件服务 ,需要的朋友可以参考下. 首先进入云帮手(官网),下载安装好服务器管理运维工具. 搭建ftp只需要安装完主机探针,探针是为了更安全管理主机服务器,让服务器更稳定,实时查看主机运行状态. 安装完探针后,就可以进入管理界面,环境安装只需要安装一个ft

linux下搭建ftp服务

操作系统:centos7.0 64位 使用vsftpd搭建ftp服务 1.yum install vsftpd 2.启动/重启/关闭vsftpd服务器[[email protected] ftp]# /sbin/service vsftpd restartShutting down vsftpd: [ OK ]Starting vsftpd for vsftpd: [ OK ]OK表示重启成功了.启动和关闭分别把restart改为start/stop即可.如果是源码安装的,到安装文件夹下找到st

centos 使用sshfs快速搭建文件共享服务

centos 使用sshfs快速搭建文件共享服务 看了很多教程都写的不够完整所以自己根据实际操作找遇到的坑共享一下给大家 共享文件服务器必须打开ssh服务器 实例:IP192.168.7.50 yum -y install epel-release # 安装epel 源码 yum -y install fuse-sshfs # 安装sshfs  sshfs -o allow_other,nonempty [email protected]:/opt/ /opt/http 指定密钥文件 sshfs

如何在Windows Server 2008 R2下搭建FTP服务

在Windows Server 2008 R2下搭建FTP服务,供客户端读取和上传文件 百度经验:jingyan.baidu.com 工具/原料 Windows Server 2008 R2 百度经验:jingyan.baidu.com 方法/步骤 1 安装FTP服务 开始-->管理工具-->服务器管理器 步骤阅读 2 安装IIS/FTP角色 打开服务器管理器,找到添加角色,然后点击,弹出添加角色对话框,选择下一步 步骤阅读 3 选择Web服务器(IIS),然后选择FTP服务,直到安装完成.

在Win7的IIS上搭建FTP服务及用户授权

FTP服务 FTP是文件传输协议(File Transfer Protocol)的简称,该协议属于应用层协议(端口号通常为21),用于Internet上的双向文件传输(即文件的上传和下载).在网络上有很多服 务器提供FTP服务,用来存放大量的文件供他人下载.FTP服务的主要作用是让远程用户可以连接上来,查看服务器上有哪些文件,然后下载,当然用户也可以 将本地文件上传到服务器,共享给其他人以便下载.FTP服务提供上传下载服务的同时,管理员也可以设置不同用户对不同文件夹的访问权限(读.写). 在Wi

快速搭建samba服务

如何在UNIX主机和windows主机共享数据呢?搭建FTP服务是一种,但是FTP能够很方便的上传下载数据,但是如果想修改数据就会比较麻烦了,这时你需要先把文件下载下来,修改以后再上传上去,这种办法很麻烦,不符合我们的需要. 使用NFS服务呢?NFS服务器共享一个目录,然后NFS客户端挂载此目录,若客户端有rwx权限,很轻松的便可以修改数据,而且修改后数据在各主机之间同时可以看到.但遗憾的是NFS只能在类UNIX主机之间使用,不能跨平台.而windows上的CIFS(Common Interne

利用虚拟机搭建FTP服务

利用虚拟机搭建FTP服务 本次实验是利用虚拟机搭建FTP服务并且可以在宿主机上下载 打开控制面板 打开防火墙并且关闭防火墙 在控制面板中打开程序 点击打开或关闭windows功能 在windows功能中选着intent信息服务都打上勾 在开始菜单栏里搜索IIS并且打开Internet信息服务(IIS)管理器 点击打开更改适配器设置 打开属性 选着Interne协议版本4 使用手动IP地址 登入宿主机打开网络连接 使用手动IP地址 在宿主机中使用cmd,ping通虚拟机IP地址 在虚拟机使用IIS

如何在Ubuntu 搭建 FTP 服务?

如何搭建 FTP 服务? 首先创建一个 Linux 云服务器(以 Ubuntu 为例),并在云计算防火墙中打开 tcp 21 下行,并"更新规则".下面简单介绍下安装 vsftpd 和 proftpd 的注意事项 vsftpd 安装 apt-get install vsftpd 修改配置文件 /etc/vsftpd.conf 后,重启生效 service vsftpd restart 如果您的 ftp client 位于 NAT 之后,ftp server 必须启用 passive m