身家过亿的帝都王子来到1024盛宴-小码农献上linux进阶知识点一篇

简介: 身家过亿的帝都王子来到1024盛宴-小码农献上linux进阶知识点一篇

文章目录


身家过亿的帝都王子来到1024盛宴-小码农献上linux进阶知识点一篇

联动文章 身家过亿的帝都公主来到1024盛宴-小码农弟弟献上linux基础知识点一篇


真机进行远程管理虚拟机

  1. 真机ping两台虚拟机

ping 172.25.0.10 desktop这台机器

image.png

ping 172.25.0.11 server这台机器

image.png

2.真机执行命令: ssh 用户@对方的IP地址

image.png

为了方便管理,用户直接root

image.png

远程创建一个xixi文档,再去该机器上看一下有没有,很明显是有的

image.png


ctrl + shift + t是打开新的终端

-X:可以在远程管理时,开启对方的图形程序

image.png


简化复杂的命令

永久别名的设置 ~/.bashrc

~代表的是家目录,而且bashrc是不是以.开头,这就说明他非常的重要,这个文件关系到用户自定义的一些信息,并且也是系统级的配置文件

linux有一个特点就是临时的会用命令来敲,永久的需要写在一个文本文件当中。命令执行的大多会保存在内存当中,而文本文件是保存在磁盘当中

image.png

先在真机上切换到普通用户Student 用vim打开bashrc

在里面写入下面实现远程管理的别名来达到永久的效果

image.png

然后新开一个终端才会生效


权限和归属

基本权限

访问方式(权限)

读取:允许查看内容 -read r

写入:允许修改内容 -write w

可执行:允许运行和切换 -execute x

对于文本文件

r:可以看内容 cat head less tail

w:可以修改 vim > >>

x:可以执行代码 shell脚本

基本权限的类别

权限适用对象

所有者:拥有此文件/目录的用户 -user u

所属组:拥有此文件/目录的组 -group g

其他用户:除所有者,所属组以外的用户 -other o

查看权限

使用ls -l命令

ls -ld 文件或目录

那这两个有什么区别呢

ls -l展示的是目录里面内容的详细属性

ls -ld展示的是目录本身的详细属性

image.png

image.png

设置基本权限(只有root一个人,其他用户都不可以改)

使用chmod命令

chmod [-R] 归属关系±=权限类别 文档…

[-R]:递归设置权限

image.png

image.png

给所属组添加写入权限

image.png

当然为了方便可以用===来操作,用,==隔开

image.png

如果是所有人都是rwx权限

image.png

其他人有w权限的话nsd01目录会有着重色,让人知道其他人(o)有写入权限


linux判断用户具备的权限

匹配及停止

顺序:所有者>所属组>其他人

1.判断用户角色,所有者 所属组 其他人

2.查看相应角色的权限位

image.png

那我也想让lisi有写权限呢,那就通过root改权限普通用户是不可以改权限的


image.png

设置文档归属

使用chown命令

chown [-R] 属主 文档…

chown [-R] :属组 文档…

chown [-R] 属主:属组 文档…

image.png

特殊/附加权限

Set GID

附加在属组的x位上

属组的权限标识会变为s

适用于目录,Set GID可以使目录下新增的文档自动设置与父目录相同的属组

让子文档自动继承父目录的所属组身份

image.png

image.png

你会发现aa自动继承s权限

Set UID(基本很少用)(但是攻击方很常用,他是一种攻击手段)

附加在属主的x位上

属主的权限标识会变为 s

适用于可执行文件,Set UID可以让使用者具有文件属主的身份及部分权限

image.png

这个绿色的就是可执行文件,mkdir这条命令的可执行文件就是这个

image.png

这个可执行文件飘红就是因为所有者有了s权限而已

image.png

然后在lisi用户下创建/opt/abc会发现所有者不是lisi而是root,这就是Set UID的原因

image.png

我们改回来并把abc删了后再用lisi创建看看,但是很抱歉你创建不了,没有权限

image.png

这也是上面说到为什么Set UID是一种攻击手段了


Sticky Bit

附加在其他人的x位上

其他人的权限标识会变为t

适用于开放w权限的目录,可以阻止用户滥用w写入权限(禁止操作别人的文档)因为w有写入权限也就是说他可以无休止的删文件 所以为了防止出现大家互删的局面 就引入了t权限

image.png

image.pngimage.png


acl访问控制列表

acl策略(也叫acl权限)的作用

  • 文档归属的局限性

任何人只属于三种角色:属主,属组,其他人

无法实现更精细的控制

  • acl访问策略

能够对个别用户,个别组设置独立的权限

大多数挂载的EXT3/4.XFS文件系统默认以支持

setfacl -m这里的m是modify修改的意思 u[g]:

用户[组]这里的u g 不是所有者,所属组的意思,只是代表冒号后面是用户或组的意思:权限[rwx] 文件路径

image.png

那有没有专门看acl权限的呢,是有的:

getfacl 文件路径

image.png

删除acl策略

setfacl [-R] -x u:用户 文档 删除指定acl策略

setfacl [-R] -b 文档 删除所以acl策略

image.png

image.png

设置权限的黑名单,单独拒绝一个用户

image.png


一个经典题:请实现lisi用户,可以查看/etc/shadow文件内容,您有几种办法?

一般问了这个肯定不是一个办法

1.利用其他人进行设置

chmod o+r /etc/shadow

2.利用所属组进行设置

chown :lisi /etc/shadow一定要看清是所属组还是所有者

chmod g+r /etc/shadow

3.利用所有者进行设置

chown lisi /etc/shadow

chmod u+r /etc/shadow

4.利用acl进行设置

setfacl -m u:lisi:r /etc/shadow


软件包管理

零散软件包管理

1.虚拟机server具备软件包

2.虚拟机classroom构建web服务,让光盘的内容以网页的形式提供给所有的客户端

web服务:主要就是提供网页内容

http协议:超文本传输协议

https协议:安全超文本传输协议

3.真机打开

firefox classroom.example.com

image.png

打开之后你会看到一些文件夹

http://classroom.example.com/content/rhel7.0/x86_64/dvd/Packages/ 这个就是firefox上cd包的路径

下载软件包

使用wget下载工具

wget 软件包的URL网址

image.png

wget软件包的URL网址 -O /目录路径/新文件名最好用上面那条命令 保存到当前然后mv就行了 这个-O命令有点长了

使用rpm命令管理软件

RPM ----- Package Manager ,RPM包管理器

rpm -q 软件名… 查询软件安没安装

image.png

rpm -ivh 软件名-版本信息.rpm…安装这个包

只有安装软件的时候才会打这个全名(版本啊,.rpm啊什么的)

image.png

rpm -e 软件名… 卸载包

image.png

rpm -ql 软件名 列出安装的内容就是查询软件的安装清单

image.png

导入红帽签名认证操作

image.png

然后把他导入

rpm --import 下载下来的文件

image.png

然后我们再重新安装vsftpd就没有那个警告信息了

image.png

升级linux内核

1.下载新的内核

http://classroom.example.com/content/rhel7.0/x86_64/errata/Packages/

在这个路径里面

image.png

image.png

image.png


内核装好后重启才会生效


查看内核版本

uname -r

重启前:

image.png

重启后:

image.png


yum软件包仓库:自动解决依赖关系

以后我们自己装包基本都是用yum来装的,很少用rpm来装,因为rpm不可以自动解决依赖关系

yum主要提供服务:可以为客户端自动解决依赖关系,安装软件包

服务端:1.众多的软件包(Packages) 2.仓库数据文件(repodata)。这两个东西都在光盘里面

image.png

这里的虚拟机classroom已经是完美的yum服务端,他已经构建了web服务共享光盘所有内容

总结:未来我们如何搭建服务端呢?构建web服务或FTP服务,共享光盘所有内容

客户端:虚拟机server或虚拟机desktop

yum客户端机制是要我们书写一个配置文件:指定服务端位置/etc/yum.repos.d/*.repo

image.png

在这个路径下有错误的配置文件会影响真确的配置文件(也就是说在这个路径下100个文件99个是正确的1个是错的,那么其他的正确的也不能用)

所以为了绝对正确直接把该路径下所有的配置文件都删了,所以用了==*.repo==

image.png

然后列出我们仓库的所有信息

yum repolist

image.png

有这个并不代表yum是可以用的,yum到底能不能用是看他能不能为你去装包

yum [-y] install 软件名

image.png

image.png

他会自动为我们寻找依赖关系,但还要我们回答

y 就是装 d 就是下载下来不装 N就是不装

所以为了更快也可以这样写

yum -y install httpd


卸载软件包yum remove 软件名

因为他可以连带卸载掉依赖他的软件包,所以不要和-y一起用,可能会把重要文件也会一起卸载掉

image.png

当你看到只需要移除1个或没有你想保留的就可以y了


清空缓存yum clean all

yum clean all 就是把yum内存里面所有的缓存清掉

然后你再打yum repolist 会明显有一个慢的感觉,因为他要重新加载到内存里面

image.png

分区规划及使用

一个扇区512字节

一块硬盘的艺术之旅

识别硬盘=>分区规划=>格式化=>挂载使用

MBR/msdos 分区模式

14个主分区,或者03个主分区+1个扩展分区(n个逻辑分区)

最大支持容量为2.2TB个的磁盘

扩展分区不能格式化

1.识别硬盘

lsblk

image.png

2.分区规划

分区模式:MBR GPT

MBR 主启动记录模式

最大空间支持2T

类型:主分区 扩展分区 逻辑分区

最多有4个主分区

3个主分区+1个扩展分区(n个逻辑分区)

image.png

GPT

最大空间18EB

使用fdisk分区工具

查看分区表

fdisk -l 硬盘设备文件

image.png

修改硬盘分区表

fdisk 硬盘设备 这是交互式的还算比较安全的

image.png

image.png

image.png


image.png

image.png

image.png

然后我们不保存退出试一试 按q

image.png

我们再把刚刚操作的再弄一遍反正也很快,然后保存再看一下

image.png

/dev/sda5表示的含义

SCSI设备的硬盘,第一块第五个分区。也可以说

SCSI设备的硬盘,第一块第一个逻辑分区

格式化:赋予空间文件系统的过程

那什么叫文件系统呢:空间存储数据的规则

windows: FAT NTFS

linux: ext4(RHEL6) xfs(RHEL7)

常用的格式化工具

mkfs 工具集

mkfs.ext3 分区设备路径

mkfs.ext4 分区设备路径

mkfs.xfs 分区设备路径

mkfs.vfat -F 32 分区设备路径

image.png

我们格vdb1

也有一个命令看看自己格没格完

blkid /dev/vdb1

image.png


用blkid来看没被格式化的分区是是什么都不显示的,因为没有文件系统

image.png

我们在用xfs文件系统来格式化vdb2

image.png

挂载使用

创建一个目录part

image.png

将vdb1挂载到part上

image.png

那么如何检测他挂载成功了呢


检测挂载df

df是查看正在挂载所有设备的使用情况

image.png

所以我们易读我们和==-h==配合使用,这个和ls -h一个道理,就是为了易读

image.png

我们再挂载vdb2

image.png

但是这些都是临时挂载,也就是说一重启这些挂载点就消失了。

image.png

所以我们要干嘛


开机自动挂载

配置文件/etc/fstab 的记录格式

设备路径 挂载点 文件系统类型 参数 备份标记 检测顺序

这个配置文件和我们上面学的yum软件仓库配置文件一样的性质

image.png

image.png

怎么知道自己成没成功呢

有一个自动挂载检测mount -a a是auto自动的意思,这个命令回车会阅读通篇的fstab这个文件,检测他的书写是否符合他的格式

image.png

如果没有任何报错代表语法格式都是正确的,并会按照我写的挂载点进行挂载

image.png

综合分区

我们继续分区

分到第三个

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.pngimage.png

总结

1.识别硬盘 lsblk

2.规划分区 fdisk

3.识别分区 partprobe

4.分区格式化 mkfs.etx4 mkfs.xfs 用blkid查看文件系统类型

5.分区挂载

  • 可以mount 手动挂载 临时
  • 可以去配置文件/etc/fstab 永久

6.挂载查看

  • mount -a自动挂载
  • df -h 挂载查看


LVM逻辑卷

最低要求整个分区,不可以是一个分区的剩余空间

  1. 整合分散的空间
  2. 空间可以扩展(不会影响到原来的数据内容)


LVM工作方式

在分区—>格式化中间增加分一个逻辑层

零散空间存储–整合的虚拟磁盘—虚拟的分区

image.png

LVM管理工具集

image.png

制作逻辑卷

比如我想把vdb1,2,3做成卷组

1.首先扫描物理卷

pvscan

image.png

会有一个没有匹配的物理卷的提示

还有一条命令实际上是和pvscan一样的就是pvs

如果回车后什么都没有就是代表没有

image.png

2.创建物理卷

pvcreate

image.png

然后再用pvcreate命令就行了

image.png

然后我们再pvs看看有没有物理卷

image.png

看到这个就说明物理卷创建成功了


3.创建卷组

有了物理卷之后我们就可以创建卷组了

先vgs

image.png

他说没有,那我们就创建

vgcreate 卷组名 物理卷1 物理卷2…

image.png

3合1:实际上这条vgcreate命令很强大,他可以在没有物理卷的前提下,先把分区转成物理卷在合成卷组

格式 vgcreate 卷组名 分区路径…

image.png

image.png


4.创建逻辑卷

lvcreate -n mylv -L 8G systemvg 我想创建一个mylv的逻辑卷8G大小,基于的卷组是sysytemvg

n是名字 L是大小

image.png


5.逻辑卷的使用

逻辑卷生成也会在dev文件下生成相应的文件

image.png

我们对逻辑卷格式化

image.png

6.逻辑卷挂载

image.png

逻辑卷的线上扩展

1.卷组有足够的剩余空间

有空间就可以扩展逻辑卷

lvextend -L 3G 逻辑卷路径 就是括到3G 如果你记得之前多大的话也可以这样

lvextend -L +1G 逻辑卷路径 之前2G现在再加1G就是括到3G

image.png

扩展文件系统大小文件系统是一种规则,类似横着存还是竖着存的这种意思

刷新文件系统

resize2fs: 扩展ext4文件系统

xfs_growfs: 扩展xfs文件系统

image.png

2.卷组没有足够的剩余空间

扩展卷组

比如我还想扩3个G但发现卷组剩余的空间也没有3个G

image.png

之后的步骤就是卷组空间够的情况了

image.png

逻辑卷缩小基本没人缩小,会损坏数据

逻辑卷不光可以扩展也可以缩小

xfs文件系统不支持缩小

ext4文件系统支持缩小

卷组划分空间的单位:PE

默认1PE=4M

显示卷组的详细信息

vgdisplay 卷组名

image.png

请划分一个大小250M的逻辑卷lvrehat

image.png

修改PE为1M就万事大吉了

vgchange -s 1M systemvg

image.png

image.png

lvcreate -L 250M -n lv systemvg中-L后面是大小 这里是250M
lvcreate -l 250 -n lv systemvg中-l后面是PE个数,不在意PE大小,这里是250个PE 那么他就会是250*PE大小来创建逻辑卷

逻辑卷的删除

顺序:先删除逻辑卷,然后再删除卷组,最后删除物理卷

grep文件过滤:显示文件有效信息(去除注释,去除空行)

grep [选项] ‘匹配模式’ 文本文件

常用命令选项

-v 取反匹配

-i 忽略大小写

^word 以字符串word开头

word$ 以字符串word结尾

注释信息:大多数配置文件中以#开头

image.png

那么怎样只能看到#开头的信息呢


image.png

但实际上我们需要的是不注释的文件信息


image.png

匹配空行:^$就是以什么开头以什么结尾 就是什么都没有 就是空行

image.png

因为有些文件注释和空行很多看起来费劲

image.png

grep -v ^# 文件路径把这个再管道给不要空行的 | grep -v ^$

image.png


查找文件

根据预设的条件递归查找对应的文件

find [目录] [条件1] [-a|-o] [条件2]…

常见条件表示

-type 类型(f,d,l)f表示文本文件 d表示目录 l表示快捷方式

image.png

-name “文档名称” 按照名字进行查找

image.png

image.png

-size +|-文件大小 (k,M,G)+是大于多少的时候,-是小于多少的时候

image.png

-user 用户名

image.png

-mtime 根据文件修改时间==(都是过去时间)==

-mtime +10 :10天之前修改过的文档

-mtime -10 :最近10天之内修改过的文档

image.png

find高级使用 exec操作

find … -exec 处理命令{} ;

优势:以{}代替每一个结果,逐个处理,遇;结束

把find的结果通过exec给拷贝 要注意管道操作不可以管道给两个参数及其以上的,因为到时候命令不知道那个是源参数,还是目标参数

image.png


NTP时间同步

NTP网络时间协议

Network Time Protocol

NTP服务器为客户机提供标准时间

NTP客户机需要与NTP服务器保持沟通

RHEL7客户端的校时服务

软件包:chrony

配置文件:/etc/chrony.conf

系统服务:chronyd

NTP服务器:虚拟机classroom

NTP客户机:虚拟机server

1.安装chrony软件包,与NTP服务器沟通

image.png

2.修改配置文件

image.png

image.png

3.重启程序(重启客户端服务)

同步时间这个服务

systemctl restart chronydchronyd中的d是daemon守护进程的意思

systemctl enable chronyd开机自启动这个程序

image.png

重启服务和开机自启程序都是没有什么显示与返回的

image.png

使用LDAP认证,实现网络用户认证,达到用户的集中管理

网络用户:用户信息会放在网络中LDAP服务器

本地用户:用户信息会放在/etc/passwd中

LDAP服务器:虚拟机classroom

客户端:虚拟机server

1.安装sssd软件,与LDAP服务器沟通

yum -y install sssd

rpm -q sssd

image.png

2.安装authconfig-gtk图形的工具 ,进行配置客户端sssd软件

yum -y install authconfig-gtk

authconfig-gtk

image.png

我这个虚拟机看不到图型界面就借老师的图吧

image.png

image.png

联动文章 身家过亿的帝都公主来到1024盛宴-小码农弟弟献上linux基础知识点一篇


目录
相关文章
|
5月前
|
Java Linux 应用服务中间件
【JavaEE进阶】 Linux常用命令
【JavaEE进阶】 Linux常用命令
|
6月前
|
监控 网络协议 Java
Linux 网络编程从入门到进阶 学习指南
在上一篇文章中,我们探讨了 Linux 系统编程的诸多基础构件,包括文件操作、进程管理和线程同步等,接下来,我们将视野扩展到网络世界。在这个新篇章里,我们要让应用跳出单机限制,学会在网络上跨机器交流信息。
Linux 网络编程从入门到进阶 学习指南
|
2月前
|
Linux
|
5月前
|
存储 网络协议 编译器
【干货总结】Linux C/C++面试知识点
Linux C/C++基础与进阶知识点,不仅用于面试,平时开发也用得上!
574 14
|
5月前
|
存储 关系型数据库 MySQL
MySQL数据库进阶第一篇(存储引擎与Linux系统上安装MySQL数据库)
MySQL数据库进阶第一篇(存储引擎与Linux系统上安装MySQL数据库)
|
4月前
|
缓存 网络协议 Linux
Linux、Python、计算机网络中的常见知识点
Linux、Python、计算机网络中的常见知识点
|
5月前
|
Java 关系型数据库 MySQL
【JavaEE进阶】 Linux搭建Java部署环境
【JavaEE进阶】 Linux搭建Java部署环境
|
5月前
|
人工智能 运维 中间件
Linux 常用进阶指令
Linux 常用进阶指令
37 0
|
6月前
|
开发框架 .NET Linux
2024年最全C# 图解教程 第5版 —— 第1章 C# 和 ,2024年最新终于有人把Linux运维程序员必学知识点全整理出来了
2024年最全C# 图解教程 第5版 —— 第1章 C# 和 ,2024年最新终于有人把Linux运维程序员必学知识点全整理出来了
2024年最全C# 图解教程 第5版 —— 第1章 C# 和 ,2024年最新终于有人把Linux运维程序员必学知识点全整理出来了
|
6月前
|
Unix Shell Linux
linux互斥锁(pthread_mutex)知识点总结
linux互斥锁(pthread_mutex)知识点总结