Linux下ftp服务可以通过搭建vsftpd服务来实现,以CentOS为例,首先查看系统中是否安装了vsftpd,可以通过执行命令

rpm -qa | grep vsftpd

来查看是否安装相应的包,如果没有安装那么可以执行

yum -y install 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服务的基本搭建过程,实际使用时可以分配多个用户

想要更换路径有个简单到方法

vi /etc/passwd

修改oa:x:1001:1001::/data/oa:/sbin/nologin

sudo usermod -s /data/ftp oa

sudo chown oa:oa /data/ftp

sudo chown 775 /data/ftp

修改selinux

SELINUX=disabled

然后执行生效setenforce 0

或者vi /etc/vsftpd/vsftpd.conf 添加或者修改

nonymous_enable=NO

allow_writeable_chroot=YES

#

# Uncomment this to allow local users to log in.

# When SELinux is enforcing check for SE bool ftp_home_dir

local_root=/data/ftp

anon_root=/data/ftp

local_enable=YES

#

# Uncomment this to enable any form of FTP write command.

write_enable=YES

#

# Default umask for local users is 077. You may wish to change this to 022,

# if your users expect that (022 is used by most other ftpd's)

local_umask=022

chroot_local_user=YES

#chroot_list_enable=YES

# (default follows)

chroot_list_file=/etc/vsftpd/chroot_list

chroot_list 为黑名单 在

chroot_local_user=YES

#chroot_list_enable=YES

启用时生效

java ftp返回到根目录,Linux下搭建ftp服务,更改根目录到大存储到位置相关推荐

  1. linux下搭建vsftp锁定根目录,Linux下创建ftp用户并锁定根目录

    [root@d vsftpd]# vi /etc/vsftpd/chroot_list 加入要锁定根目录的ftp用户名(一行只能一个用户) [root@ vsftpd]# vi /etc/vsftpd ...

  2. _不懂操作?手把手教你如何在linux下搭建FTP

    vsftpd(very secure FTP daemon)是Linux下的一款小巧轻快.安全易用的FTP服务器软件.本教程介绍如何在Linux实例上安装并配置vsftpd. FTP(File Tra ...

  3. ftp一直弹出用户名密码_不懂操作?手把手教你如何在linux下搭建FTP

    vsftpd(very secure FTP daemon)是Linux下的一款小巧轻快.安全易用的FTP服务器软件.本教程介绍如何在Linux实例上安装并配置vsftpd. FTP(File Tra ...

  4. window连接不上linux ftp_不懂操作?手把手教你如何在linux下搭建FTP

    vsftpd(very secure FTP daemon)是Linux下的一款小巧轻快.安全易用的FTP服务器软件.本教程介绍如何在Linux实例上安装并配置vsftpd. FTP(File Tra ...

  5. 如何查看linux上的ftp服务器配置,ftp服务器配置:如何在Linux上搭建FTP服务器?

    Linux搭建FTP服务器的话,直接使用系统自带的vsftpd服务器即可,轻便灵活,容易操作,下面我简单介绍一下安装和使用过程,感兴趣的朋友可以尝试一下ftp服务器配置: 01安装vsftpd首先ft ...

  6. linux系统建立ftp用户名和密码,linux系统搭建ftp服务器及创建用户使用

    linux 系统下搭建ftp服务器 ftp是什么 FTP是 File Transfer Protocol 文件传输协议的英文名称,用于在Internet上控制文件的双向传输. 同时它也是一个应用程序. ...

  7. Linux下搭建FTP服务器教程

    一.基本安装 1.运行以下命令安装 vsftpd. yum install -y vsftpd 2.运行以下命令打开及查看etc/vsftpd cd /etc/vsftpd ls 说明: /etc/v ...

  8. linux下搭建FTP服务器

    LINUX FTP简单配置 FTP配置 1.#vi /etc/vsftp/vsftpd.conf                #主要配置几个关键的就可以    anonymous_enable=NO ...

  9. Linux中的ftp命令怎么写,linux下使用ftp命令

    有一台ftp服务器,需要从linux上传送文件过去,查询了下使用方法 安装ftp yum -y instsall ftp 命令行使用 $ ftp ftp>open 52.79.137.222 2 ...

最新文章

  1. python复数类型-Python基本数据类型巩固题
  2. 鸿蒙系统正式版官方下载,华为鸿蒙os2.0系统app正式版
  3. Kafka整体结构图、Consumer与topic关系、Kafka消息分发、Consumer的负载均衡、Kafka文件存储机制、Kafka partition segment等(来自学习资料)
  4. java输入hello_详解JAVA输出Hello World
  5. 给vs2012轻松换肤
  6. 机器学习变量转换(定性变量、定量变量)
  7. 4152. [AMPPZ2014]The Captain(稠密图最短路)
  8. 解决Warning: Cannot modify header information - headers already sent b...
  9. COVID-19 肺炎疫情数据实时监控(python 爬虫 + pyecharts 数据可视化 + wordcloud 词云图)
  10. ARM的7种工作模式、37个通用寄存器、CPSR程序状态寄存器
  11. C/C++笔试经典——链表倒序
  12. 十五的学习日记20160926-你不知道的JS笔记/
  13. 我装上去了 php editor打不开
  14. 考虑云计算来降成本:良药或毒药?
  15. u8服务器修改数据源,用友U8服务器修改数据库端口
  16. python webkit内核_GitHub - yufengsoft/wke: 基于Webkit精简的纯C接口的浏览器内核,可用于桌面UI、浏览器。...
  17. 不限网站的视频字幕实时翻译工具(视频只要有声音就可以翻译)
  18. 新基建促进智能化基础设施管控平台的搭建
  19. 如何打开.json文件
  20. 《c 语言程序设计》宝钏,【黄钟】醉花阴_宝钏松金髻

热门文章

  1. Vue层叠轮播图tantan-stack
  2. CentOS虚拟机访问外部网络
  3. linux设置进程CPU亲和力函数sched_setaffinity()简介
  4. Python123 C编程题答案解析
  5. .net验证身份证号是否符合规则
  6. MOOC Web前端笔记(三):CSS样式
  7. tfrecord与图片格式互转
  8. python建立sqlite数据库_python sqlite3 创建数据库
  9. 广州创龙TLK7-EVM开发板介绍
  10. spring-boot集成百度语音合成