先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024b (备注运维)
正文
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