资讯专栏INFORMATION COLUMN

linux进阶知识点

13651657101 / 2979人阅读

摘要:文章目录真机进行远程管理虚拟机是打开新的终端简化复杂的命令永久别名的设置权限和归属基本权限访问方式权限对于文本文件基本权限的类别查看权限设置基本权限只有一个人,其他用户都不可以改判断用户具备的权限设置文档归属特殊附加权

文章目录

真机进行远程管理虚拟机

  1. 真机ping两台虚拟机

ping 172.25.0.10 desktop这台机器

ping 172.25.0.11 server这台机器

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

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

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

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

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

简化复杂的命令

永久别名的设置 ~/.bashrc

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

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

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

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

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

权限和归属

基本权限

访问方式(权限)

读取:允许查看内容 -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展示的是目录本身的详细属性

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

使用chmod命令

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

​ [-R]:递归设置权限

给所属组添加写入权限

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

如果是所有人都是rwx权限

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

linux判断用户具备的权限

匹配及停止

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

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

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

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

设置文档归属

使用chown命令

chown [-R] 属主 文档…

chown [-R] :属组 文档…

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

特殊/附加权限

Set GID

附加在属组的x位上

属组的权限标识会变为s

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

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

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

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

附加在属主的x位上

属主的权限标识会变为 s

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

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

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

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

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

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

Sticky Bit

附加在其他人的x位上

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

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

acl访问控制列表

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

  • 文档归属的局限性

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

无法实现更精细的控制

  • acl访问策略

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

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

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

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

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

getfacl 文件路径

删除acl策略

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

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

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

一个经典题:请实现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

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

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

下载软件包

使用wget下载工具

wget 软件包的URL网址

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

使用rpm命令管理软件

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

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

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

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

rpm -e 软件名… 卸载包

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

导入红帽签名认证操作

然后把他导入

rpm --import 下载下来的文件

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

升级linux内核

1.下载新的内核

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

在这个路径里面

内核装好后重启才会生效

查看内核版本

uname -r

重启前:

重启后:

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

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

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

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

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

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

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

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

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

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

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

yum repolist

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

yum [-y] install 软件名

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

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

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

yum -y install httpd

卸载软件包yum remove 软件名

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

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

清空缓存yum clean all

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

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

分区规划及使用

一个扇区512字节

一块硬盘的艺术之旅

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

MBR/msdos 分区模式

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

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

扩展分区不能格式化

1.识别硬盘

lsblk

2.分区规划

分区模式:MBR GPT

MBR 主启动记录模式

最大空间支持2T

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

最多有4个主分区

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

GPT

最大空间18EB

使用fdisk分区工具

查看分区表

fdisk -l 硬盘设备文件

修改硬盘分区表

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

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

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

/dev/sda5表示的含义

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

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

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

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

windows: FAT NTFS

linux: ext4(RHEL6) xfs(RHEL7)

常用的格式化工具

mkfs 工具集

mkfs.ext3 分区设备路径

mkfs.ext4 分区设备路径

mkfs.xfs 分区设备路径

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

我们格vdb1

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

blkid /dev/vdb1

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

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

挂载使用

创建一个目录part

将vdb1挂载到part上

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

检测挂载df

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

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

我们再挂载vdb2

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

所以我们要干嘛

开机自动挂载

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

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

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

怎么知道自己成没成功呢

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

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

综合分区

我们继续分区

分到第三个

总结

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工作方式

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

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

LVM管理工具集

制作逻辑卷

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

1.首先扫描物理卷

pvscan

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

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

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

2.创建物理卷

pvcreate

然后再用pvcreate命令就行了

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

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

3.创建卷组

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

先vgs

他说没有,那我们就创建

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

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

格式 vgcreate 卷组名 分区路径…

4.创建逻辑卷

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

n是名字 L是大小

5.逻辑卷的使用

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

我们对逻辑卷格式化

6.逻辑卷挂载

逻辑卷的线上扩展

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

有空间就可以扩展逻辑卷

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

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

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

刷新文件系统

resize2fs: 扩展ext4文件系统

xfs_growfs: 扩展xfs文件系统

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

扩展卷组

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

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

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

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

xfs文件系统不支持缩小

ext4文件系统支持缩小

卷组划分空间的单位:PE

默认1PE=4M

显示卷组的详细信息

vgdisplay 卷组名

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

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

vgchange -s 1M systemvg

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结尾

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

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

grep ^# 文件路径

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

grep -v ^# 文件路径

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

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

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

查找文件

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

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

常见条件表示

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

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

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

-user 用户名

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

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

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

find高级使用 exec操作

find … -exec 处理命令{} ;

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

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

NTP时间同步

NTP网络时间协议

Network Time Protocol

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

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

RHEL7客户端的校时服务

软件包:chrony

配置文件:/etc/chrony.conf

系统服务:chronyd

NTP服务器:虚拟机classroom

NTP客户机:虚拟机server

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

2.修改配置文件

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

同步时间这个服务

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

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

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

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

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

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

LDAP服务器:虚拟机classroom

客户端:虚拟机server

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

yum -y install sssd

rpm -q sssd

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

yum -y install authconfig-gtk

authconfig-gtk

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

P客户机:虚拟机server

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

[外链图片转存中…(img-CsUcQJAX-1630921310453)]

2.修改配置文件

[外链图片转存中…(img-Mt2RLaQb-1630921310464)]

[外链图片转存中…(img-dcUeBiCU-1630921310465)]

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

同步时间这个服务

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

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

[外链图片转存中…(img-4JpNEFzL-1630921310467)]

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

[外链图片转存中…(img-ohvxzVJs-1630921310469)]

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

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

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

LDAP服务器:虚拟机classroom

客户端:虚拟机server

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

yum -y install sssd

rpm -q sssd

[外链图片转存中…(img-jAhvfGKz-1630921310471)]

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

yum -y install authconfig-gtk

authconfig-gtk

[外链图片转存中…(img-9eChhhcX-1630921310473)]

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

[外链图片转存中…(img-sQQpWCwa-1630921310475)]

[外链图片转存中…(img-JLIL8O6F-1630921310477)]

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/119378.html

相关文章

  • Linux课程适合0基础学吗?要学习哪些内容?

    摘要:课程从基础入门开始教学,学习难度循序渐进,由浅入深,即使是零基础的学习者也可以完全能够听懂。   想要从事IT行业,但是有不想要学习编程该选择哪门技术合适呢?当然是Linux运维了。Linux是市场上非常受欢迎的技术,应用范围广泛,就业前景好,受到了很多人的喜欢。那么问题来了,Linux运维零基础可以学习吗?  在服务器市...

    高胜山 评论0 收藏0
  • Java入门基础识点总结(详细篇)

    摘要:深入理解数据库管理系统通用知识及数据库的使用与管理。为后台开发打下坚实基础。项目文档,项目规范,需求分析,数据库设计,工程构建,需求评审,配置管理,修复,项目管理等。 很多新手在学习java的时候都比较迷茫,不知道从哪里开始学起,这里就给大家整理了一份java开发学习路线,比较系统全面,可参...

    shinezejian 评论0 收藏0
  • 一个老鸟发的公司内部整理的 Android 学习路线图

    摘要:一个老鸟发的公司内部整理的学习路线图年月日阅读数发了一篇一个老鸟也发了一份他给公司内部小伙伴整理的路线图。另一份开发学习路线图。看完这本书后,小明对的历史结构代码规范等都有了一个大概的了解,并且,小明已经可以写出一些简单的了。一个老鸟发的公司内部整理的 Android 学习路线图 2017年09月12日 17:13:27 阅读数:20449   jixiaohua发了一篇一个老...

    miya 评论0 收藏0
  • 你和阿里资深架构师之间,差的不仅仅是年龄(进阶必看)

    摘要:导读阅读本文需要有足够的时间,笔者会由浅到深带你一步一步了解一个资深架构师所要掌握的各类知识点,你也可以按照文章中所列的知识体系对比自身,对自己进行查漏补缺,觉得本文对你有帮助的话,可以点赞关注一下。目录一基础篇二进阶篇三高级篇四架构篇五扩 导读:阅读本文需要有足够的时间,笔者会由浅到深带你一步一步了解一个资深架构师所要掌握的各类知识点,你也可以按照文章中所列的知识体系对比自身,对自己...

    huaixiaoz 评论0 收藏0
  • 大学四年学计算机最值得看的技术书,要读就读最好的书,程序员精品书单!

    摘要:其他语言数据结构跟算法一样是在开始写代码的时候用得很少,都有着包装好的现成东西供你使用,但同样是面试和岗位上升会用得到,我就不说数据结构对代码有多少好处,请记住一句话能够实现个功能和能够最优地实现个功能,是完全不同级别的要求。 ...

    liangzai_cool 评论0 收藏0
  • 聊聊一行读研时最成功的投资

    摘要:大家好,我是一行今天给大家聊聊一行在读研里最成功的投资,那必然是键盘边上的每一本技术书啦毕竟股票基金这种投资即使赚了钱,过段时间就得还回去,非常的神奇但是读过的每一本技术书籍,都内化在手指上了,只要给个键盘,就能给它实 ...

    CarterLi 评论0 收藏0

发表评论

0条评论

13651657101

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<