linux搭建ftp服务-ftp服务器搭建和ftp客户端使用,2024Linux运维不死我不倒

本文详细介绍了如何在Linux服务器上搭建FTP服务,包括创建本地用户、关闭匿名登陆、开启上传下载功能、修改默认家目录、配置目录限制以及设置虚拟用户访问权限。通过具体的配置步骤和测试,展示了如何实现用户访问限制和权限管理,确保FTP服务器的安全和高效运行。
摘要由CSDN通过智能技术生成

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注运维)
img

正文

2、重启vsftpd服务测试

[root@centos76_2 pub]# systemctl restart vsftpd

3、删除文件测试

Windows打开我的电脑,文件路径处输入ftp://ip,进入pub目录底下删除文件

在这里插入图片描述

本地用户生效配置


  • 不知道有没有必要解释下本地用户生效的意思

  • 就是说 下面功能仅对 服务端上的用户生效,不是服务端上的用户名,一律阻止【不允许访问】

  • 查看本地用户,目录:/etc/passwd

在服务端虚拟机上查看,这种就是普通用户

[root@centos76_2 pub]# tail -n 3 /etc/passwd

ccx❌1000:1000:ccx:/home/ccx:/bin/bash

ccx1❌1001:1001::/home/ccx1:/bin/bash

ccx2❌1002:1002::/home/ccx2:/bin/bash

[root@centos76_2 pub]#

创建本地ftp用户

  • useradd username -s /sbin/nologin# 创建 只允许ftp登陆的用户名

  • 注: 查看路径为:/etc/passwd,如下面ccx和ccx2用户编译器为:/sbin/nologin

[root@centos76_2 ccx]# tail -n 4 /etc/passwd

ccx❌1000:1000::/home/ccx:/sbin/nologin

ccx1❌1001:1001::/home/ccx1:/bin/bash

ccx2❌1002:1002::/home/ccx2:/sbin/nologin

ccx3❌1003:1003::/home/ccx3:/bin/bash

[root@centos76_2 ccx]#

  • 如果无法通过/sbin/nologin用户登陆,一直报530认证失败,但普通用户却可以正常登陆

[root@centos76_1 ~]# ftp 192.168.59.129

Connected to 192.168.59.129 (192.168.59.129).

220 (vsFTPd 3.0.2)

Name (192.168.59.129:root): ccx

331 Please specify the password.

Password:

530 Login incorrect.

Login failed.

原因:vsftpd默认会检查用户的shell,如果用户的shell在/etc/shells没有记录,则无法登陆ftp

解决办法:在服务端的/etc/shells文件里面添加用户的shell(解释器)

vim /etc/shells #添加一行/sbin/nologin即可

在这里插入图片描述

关闭匿名登陆功能

  • 1、修改主配置文件/etc/vsftpd/vsftpd.conf开启本地用户权限(关闭匿名用户)

[root@centos76_2 pub]# vim /etc/vsftpd/vsftpd.conf

#将下面这个的YES改为NO

anonymous_enable=NO

上面配置文件中的YES改为NO重启vsftpd服务以后,再次访问就需要让登陆了(Windows访问)。

在这里插入图片描述

  • 2、修改权限

如果你是能够链接到FTP 但是看不到文件 上传和下载都没有办法做出操作,再做下面操作

执行getsebool -a | grep ftp,可以看到下面红圈中2个为off状态

在这里插入图片描述

执行2个命令将她们开启:

[root@centos76_2 pub]# setsebool -P allow_ftpd_full_access on

[root@centos76_2 pub]# setsebool -P sftp_home_dir on

开启后状态就为on了

在这里插入图片描述

开启上传、下载、删除功能

[root@centos76_2 ccx]# vim /etc/vsftpd/vsftpd.conf

write_enable=YES

[root@centos76_2 ccx]# systemctl restart vsftpd

注:关闭匿名登陆以后,默认目录不在是/var/ftp/put了,而是 用户的目录【/home中,比如ccx用户,则默认目录就是/home/ccx】,关闭匿名登陆以后,访问方法是ftp://ip进去默认就是家目录,如果后面跟路径了,可能就回报550权限问题了【限windows】

测试

我先在ccx家目录中创建一些文件,可以看到ccx用户的编译器是nologin的哦。

在这里插入图片描述

打开windows,输入:ftp://ip,输入用户名和密码

在这里插入图片描述

登陆以后就可以看到了这些文件了

在这里插入图片描述

上传下载删除新建都是可以正常使用的在这里插入图片描述

敲黑板,注意,我上面说过这段话,如果没注意看,可能就会产生下面错误了

在这里插入图片描述

我现在访问在位置栏输入:/ftp://ip/pub/访问就会报下面的550错误,这个是无法解决的!!!

在这里插入图片描述

修改默认家目录

如果不修改的话,我们通过不同用户登陆进去的,都是在这个用户的家目录里面【比如:/home/ccx, /home/ccx1, /home/ccx2】

但是修改了这个默认家目录以后,所有的用户登陆进去都在这个指定目录里面了。

这个不建议配置,除非你知道自己的在干什么。

一般情况都是不修改默认目录,但开启目录限制,就是每个用户登陆进去只能看到自己家目录的内容不能切换到其他目录【一般在linux上可以体现,linux可以cd切换目录,下面有说明】

新增行: local_root=/data/ccx #后面/data/ccx为路径

为路径根文件设置777权限,否则后面会无法操作:chmod 777 -R /data 【家目录不用是修改是因为家目录默认777权限】

[root@centos76_2 ccx]# vim /etc/vsftpd/vsftpd.conf

新增在任意位置即可

local_root=/data/ccx

allow_writeable_chroot=YES #2.3.5之后,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了,需新增此配置

[root@centos76_2 ccx]# mkdir -p /data/ccx #创建默认目录

[root@centos76_2 ccx]# chmod 777 -R /data

[root@centos76_2 ccx]#

[root@centos76_2 ccx]# touch /data/ccx/test{1…3} #创建几个默认文件夹测试用

[root@centos76_2 ccx]# ls /data/ccx/

test1 test2 test3

[root@centos76_2 ccx]#

[root@centos76_2 ccx]# systemctl restart vsftpd

测试

我使用ccx1这个用户测试,我先在这个家目录下创建几个文件,以便于后面区别是否配置成功

[root@centos76_2 ccx]# cd

[root@centos76_2 ~]# touch /home/ccx1/ccx1{1…3}

[root@centos76_2 ~]# ls /home/ccx1

ccx11 ccx12 ccx13

我们在地址栏把这个/去掉回车就可以重新登陆了哦【windows】

在这里插入图片描述

登陆 ccx1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值