linux进阶知识点
Posted 小码农UU
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux进阶知识点相关的知识,希望对你有一定的参考价值。
文章目录
真机进行远程管理虚拟机
- 真机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逻辑卷
最低要求整个分区,不可以是一个分区的剩余空间
- 整合分散的空间
- 空间可以扩展(不会影响到原来的数据内容)
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)]
以上是关于linux进阶知识点的主要内容,如果未能解决你的问题,请参考以下文章