RH134

1-3章

特殊变量的意义以及Linux命令执行返回值意义

        $0:shell本身的文件名

        $1:添加到shell的各参数值。1是第一个参数,2是第二个参数

        $*:所有参数列表

        $$:pid即脚本运行的当前进程id号

        $#:参数个数

        $?:命令返回码。0表示执行正常,我们在脚本中可以通过判断上条命令执行的$?来进行下一步的操作

sh -x    测试或者说是预编译

read -p “提示输入”参数名称

test条件判定

文件名、文件类型

-e:该文件名是否存在;

-f:该文件名是否存在且为file;

-d:该文件名是否存在且为目录;

数字之间的判定

-eq:相等;

-ne:不相等;

-gt:大于;

-lt:小于;

-ge:大于等于;

-le:小于等于;

两个文件的比较

-nt(newer than):判断file1是否比file2新;

-ot(older than):判断file1是否比file2旧;

判断字符串的数据

test -z string:判断字符串是否为0,若为空返回true;

test -n string:判断字符串是否为0,若为空返回false;

test str1 = str2:判断str1是否等于str2,若相等返回true;!=则相反;

文件权限检测

-r:检测文件名是否存在且具有“可读”权限;

-u:检测文件名是否存在且具有“SUID”权限;

-g:检测文件名是否存在且具有“SGID”权限;

-k:检测文件名是否存在且具有“Sticky bit”权限;

多重条件的判断

-a:两个条件同时成立

-o:任何一个条件成立

tuned

tuned应用提供的配置文件分为以下几个类别:

        节能型配置文件

        性能提升型配置文件

性能提升型配置文件中包括侧重于以下方面的配置文件:

        存储和网络的低延迟

        存储和网络的高吞吐量

        虚拟机性能

        虚拟化主机性能

调优配置文件

随红帽企业Linux8分发的调优配置文件

调优配置文件用途
均衡非常适合需要在节能和性能之间进行折中的系统
desktop从balanced配置文件衍生而来加快交互式响应速度
throughput-performance调优系统以获得最大的吞吐量
latency-performance非常适合需要牺牲能耗来获取低延迟的服务器系统
网络延迟从latency-performance配置文件衍生而来。它可以启用额外的网络调优参数,以提供低网络延迟
网络吞吐量从throughput-performance配置文件衍生而来。应用其他网络调优参数,以获得最大网络吞吐量
节能调优系统以最大程度实现节能
Oracle基于throughput-performance配置文件,针对Oracle数据库负载进行优化
Virtual-guest当系统在虚拟机上运行时,调优系统以获得最高性能
Virtual-host当系统充当虚拟机主机时,调优系统以获得最高性能

tuned-adm命令可用于更改tuned守护进程的设置,tuned-adm命令可以查询当前设置、列出可用的配置文件、为系统推荐调优配置文件、直接更改配置文件或关闭调优。系统管理员可以用tuned-adm active来确定当前活动的调优配置文件。

MBR分区

MBR的意思是“主引导记录”,它是存在于磁盘驱动器开始部分的一个特殊的启动扇区。

GPT分区

GPT的意思是“全局唯一标识磁盘分区表”。它是一种更加先进新颖的磁盘组织方式,一种使用UEFI启动的磁盘组织方式。

分区工具

1.fdisk

        如果分区类型是MBR,且磁盘大小小于2T的情况下,可用采用fdisk

        SAS:SATA,RAID5,RAID1

2.gdisk

        如果分区类型是GPT,且大小小于2T的情况下,那么请使用gdisk工具

        特别要注意:千万不要用gdisk去操作已经是MBR格式的分区

3.parted

        只要你的磁盘大小是大于2T的,那么就可以使用parted。。不在乎你是MBR还是GPT

        确实难用

        parted对驱动器分区前,必须写入磁盘标签,规定分区类型。

                parted /dev/sdb mklabel msdos(MBR)

                parted /dev/sdb mklabel gpt(GPT)

开机自动挂载(/etc/fstab)

        1.设备名称或者设备UUID

        2.设备挂载点

        3.文件系统类型

        4.默认参数

        5.dump 0为不启用

        6.fsck 0为不检查

        文件编辑完成后使用mount -a挂载,测试保证配置文件正确

swap(交换分区)

swap分区在系统的物理内存不够用的时候,把硬盘内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,那些被释放的空间被临时保存到swap分区中,等到那些程序要运行时,再从swap分区中恢复保存的数据到内存中。

扩展或缩减文件系统

resize2fs针对EXT4

xfs_grows针对xfs文件

ACL(Access Control List)

ACL的全称是Access Control List(访问控制列表),一个针对文件/目录的访问控制列表。

它在UGO权限管理的基础上为文件提供一个额外的、更灵活的权限管理机制。

它被设计为UNIX文件权限管理的一个补充。ACL允许你给任何用户或用户组设置任何文件/目录的访问权限。

ACL是Linux里面常见的概念但不是Linux特有的。

ACL作用:

        既然是作为UGO权限管理的补充,ACL自然要有UGO办不到或者很难办到的本事,

        1.可以针对用户来设置权限

        2.可以针对用户组来设置权限

        3.子文件/目录继承父目录的权限

        查询ACL功能是否启用(默认都启用)

selinux

Linux上传统的访问控制是自主访问控制Discretionary Access Control(DAC)。在这种形式下,一个软件或守护进程以User ID(UID)或Set owner User ID(SUID)的身份运行,并且拥有该用户的目标(文件、套接字、以及其它进程)权限。这使得恶意代码很容易运行在特定权限下,从而取得访问关键的子系统的权限。

另一方面,强制访问控制Mandatory Access Control(MAC)基于保密性和完整性强制信息的隔离以限制破坏。该限制单元独立于传统的Linux安全机制的运作,并且没有超级用户的概念。

selinux是美国国家安全局对于强制访问控制的实现,是Linux历史上最杰出的新安全子系统。selinux默认安装在Fedora和Red Hat Enterprise Linux上。

selinux工作方式:

        主体Subjects

        目标Objects

        策略Policy

        模式Mode

当一个主体Subject(如一个程序)尝试访问一个目标Object(如一个文件),selinux安全服务器selinux security server(在内核中)从策略数据库Policy Database中运行一个检查。基于当前的模式mode,如果selinux安全服务器授予权限,该主体就能够访问该目标。如果selinux安全服务器拒绝了权限,就会在/var/log/messages中记录一条拒绝信息。

selinux有三种模式:

        Enforcing强制--selinux策略强制执行,基于selinux策略规则授予或拒绝主体对目标的访问

        Permissive宽容--selinux策略不强制执行,不实际拒绝访问,但会有拒绝信息写入日志。

        Disabled禁用--完全禁用selinux

传统linux,一切皆文件,由用户、组,权限控制访问。

而在Selinux中,一切皆对象(object),由存放在inode的扩展属性域的安全元素所控制其访问,所有文件及端口资源和进程都具备安全标签:安全上下文(security context)

查看文件或目录安全上下文:ls -Z

        各个字段的意思:

                SELinux:指定登陆系统的用户类型,多数都属于自由(unconfined)

                Role:定义文件,进程和用户的用途

                Type:指定数据类型

                Level:限制访问的需要,由组织定义的分层安全级别,0-15,s0默认且是最低

                File:

更改文件的安全上下文

        用于更改的命令:semanage fcontext(首选)、restorecon和chcon

系统启动

       选择system目标

        systemd目标是一组系统应启动以达到所需状态的system单元。下表列出了最重要的目标。

目标用途
graphical.target系统支持多用户、图形的登录
multi-user.target系统仅支持多用户基于文本的登录
rescue.target单用户模式
emergency.target紧急模式

        启动过程

        开机自检bios--> MBR引导-->GRUB菜单-->加载内核(kernel)-->init进程初始化

自动部署

        composer

        composer是RHEL8中提供的新工具.针对特殊用例,composer允许管理员构建自定义系统镜像,以便在云平台或虚拟环境中部署.

        Composer使用Cockpit图形控制台.你也可以使用composer-cli命令,从命令行调用Composer.

系统配置:

        ip

        hostname

        yum        

        selinux

        firewall

容器(podman)

        产生背景

                存在问题:

                1.开发和运维环境或配置不同,导致开发环境运行良好的交付产物在运维环境出现问题。

                2.传统运维过程中,如果线上有十台机器部署同样的业务,每台都需要部署一次,重复劳动。

                以上出现了两种解决方案:虚拟机、容器

       虚拟机vs容器

                虚拟机是使用虚拟化技术将底层硬件虚拟出一套硬件后,在虚拟硬件上面运行完整的操作系统,再在该系统上运行所需的应用,

                虚拟机存在几个缺点:

                        1.资源占用多,虚拟启动需要占用几百M的内存。

                        2.冗余步骤多,系统级别的操作步骤,往往无法跳过,比如用户登录。

                        3.启动慢,往往几分钟,启动操作系统多久,启动虚拟机就需要多久。

                容器的缺点:

                        安全性

        什么是容器

                Linux容器是由Linux内核所提供的具有特定隔离功能的进程,Linux容器技术能够让你对应用及整个运行时环境(包括全部所需文件)一起进行打包或隔离。从而让你在不同环境(如开发、测试和生产等环境)之间轻松迁移应用的同时,还可保留应用的全部功能。

                Linux容器还有利于明确划分职责范围,减少开发和运维团队间的冲突。这样,开发人员可以全心投入应用开发,而运维团队则可专注于基础架构维护。由于Linux容器基于开源技术构建,还将便于你在未来轻松采用各种更新、更强的技术产品。包括CRI-O、Kubernetes和Docker在内的容器技术,可帮助你的团队有效简化、加速和编排应用的开发与部署。

                总结,容器就是一个视图隔离、资源可限制、独立文件系统的进程集合。

        podman

                podman是一个开源的容器项目,可在大多数Linux平台上使用。podman是一个无守护进程的容器引擎,用于在Linux系统上开发,管理和运行Open Container Initiative(OCI)容器和容器镜像。Podman提供与Docker非常相似的功能。正如前面提到的那样,它不需要在你的系统上运行任何守护进程,并且它也可以在没有root权限的情况下运行。

                podman可以管理和运行任何符合OCI规范的容器和容器镜像。podman提供了一个与Docker兼容的命令行前端来管理Docker镜像。

                Linux提供了一组可用于执行此操作的容器工具,包括:

                        1.Podman-直接管理容器和容器镜像

                        2.Skopeo-可用于检查,复制,删除和签署镜像

                        3.Buildah-可用于创建新的容器镜像

                        镜像命名规则:

                                registry_name:仓库名

                                username:认证的用户名

                                Image_name:镜像名称

                                tag:镜像版本。默认的最新为lastest

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值