马哥随堂笔记
文章平均质量分 64
马哥Linux
金牌收租佬
这个作者很懒,什么都没留下…
展开
-
通配符
man 7 glob* 匹配0个或多个字符? 匹配任何单个字符~ 当前用户家目录~+ 当前工作目录~- 前一个工作目录[0-9] 匹配数字范围[a-z] 小写字母[A-Z] 大写字母[ab] 匹配列表中的任何一个字符[^a] 匹配列表中的所有字符以外的字符[:digit:] 数字[:lower:] 小写字母[:upper:] 大写字母[:alpha:] 字母[:alnum:] 数字或字母[:blank:] 水平空白字符[:spac...原创 2021-08-26 09:41:50 · 155 阅读 · 0 评论 -
TCP-Wrappers
对有状态连接的特定服务进行安全检测并实现访问控制以库文件形式实现某进程是否接受libwrap的控制取决于发起此进程的程序在编译时是否针对libwrap进行编译的判断服务程序是否能够由tcp_wrappers进行访问控制的方法: ldd /usr/sbin/sshd|grep libwrap.so strings 'which sshd'|grep libwrap.so配置文件:/etc/hosts.allow 优先级高 /etc/hosts.deny 默认允...原创 2021-08-26 09:41:28 · 158 阅读 · 0 评论 -
sudo
su 切换身份:su -l username -c 'command'sudo [-u user] COMMAND -V 显示版本 -u user 指定user,默认root -l,ll 列出用户在主机上可用和被禁止的命令 -v 再延长密码有效期限5分钟 -k 清除时间戳 -K 删除时间戳文件 -b 在后台执行命令 -p 改变询问密码的提示符号sudo权限委派配置文件:vim /etc...原创 2021-08-26 09:42:05 · 75 阅读 · 0 评论 -
SSH
客户端:sshSSH不指定用户,默认使用root账号存放基于key验证的公钥:~/.ssh/authorized_keys存放连接过的主机和密钥:~/.ssh/known_hosts客户端配置文件:/etc/ssh/ssh_config StrictHostKeyChecking no 首次登录不显示检查提示服务器端:sshd日志文件:/var/log/secure配置文件:/etc/ssh/sshd_config常用参数:Port 端口号Li...原创 2021-08-26 09:42:18 · 151 阅读 · 0 评论 -
PSSH
scp命令scp [options] SRC... DEST/两种格式 scp [options] [user@]IP:/远程文件 /本机目录 把远程主机文件复制到本机 scp [options] /本机文件 [user@]IP:/远程目录 把本机文件复制到远程主机选项: -c 压缩数据流 -r 递归复制 -p 保持原文件的属性信息 -q 静默模式 -P # 指定目标主机端口rsync命令基于s...原创 2021-08-26 09:42:32 · 142 阅读 · 0 评论 -
PAM模块
PAM是关注如何为服务验证用户的API,通过提供一些动态链接库和一套统一的API,将系统提供的服务和该服务的认证方式分开提供了对所有服务进行认证的中央机制,适用于login,远程登录,su等应用程序中API(使用者)——》PAM(平台)——》SPI(提供者)相关文件:模块文件目录:/lib64/security/*.so环境相关的设置:/etc/security主配置文件:/etc/pam.conf,默认不存在为每种应用模块提供一个专用的配置文件:/etc/pam.d/APP_NA...原创 2021-08-27 09:15:53 · 341 阅读 · 0 评论 -
OpenSSL证书
CA证书(结构)PKI: 签证机构:CA 注册机构:RA 证书吊销列表:CRL 证书存取库(内容) X.509:定义了证书的结构以及认证协议标准 版本号 序列号 签名算法 颁发者 有效期 主体名称 主体公钥 CRL分发点 扩展信息 发行者签名获取证书两种方法: 使用证书授权机构 生成签名请求(csr) 将csr发送给CA 从CA出接收...原创 2021-08-27 09:16:18 · 266 阅读 · 0 评论 -
加密算法
对称加密:加密和解密使用同一个秘钥DES,3DES,AES(128、192、256bits)特性:1、加密、解密使用同一个秘钥,效率高2、将原始数据分割成固定大小的块,逐个进行加密缺陷:1、密钥过多 2、密钥分发 3、数据来源无法确认非对称加密算法RSA(加密,数字签名)、DSA(数字签名)公钥加密:密钥成对出现 公钥:公开给所有人;public key 私钥:自己留存,必须保证其私密性;secret key特点:用公钥加密数据,只能使用与之配对的私钥解密;...原创 2021-08-26 09:41:19 · 121 阅读 · 0 评论 -
systemd
POST-->Bootloader-->kernel+initramfs-->rootfs-->systemd1.加载BIOS的硬件信息,获取第一个启动设备2.引导装载程序,centos7是grub23.加载装载程序的配置文件:/etc/grub.d/ /etc/default/grub /boot/grub2/grub.cfg4.加载initramfs5.加载内核选项6.内核初始化,centos7使用systemd代替init7.执行initd.target所有..原创 2021-08-27 09:17:07 · 263 阅读 · 0 评论 -
seLinux
启用禁用:vim /etc/selinux/configenfocing 启用permissive 禁用,但违反会报警disabled 禁用临时禁:setenforce 0临时开:setenforce 1查看状态:sestatus也可以在内核加载项里面添加“selinux=0|1”,实现启用禁用管理文件安全标签semanage fcontext -l 查看系统默认安全标签cat /etc/selinux/targeted/contexts/fil...原创 2021-08-27 09:17:23 · 197 阅读 · 0 评论 -
自动化expect
expext中相关命令spawn:启动新的进程send:用于向进程发送字符串expect:从进程接收字符串interact:允许用户交互exp_continue:匹配多个字符串在执行动作后加此命令expect:单分支模式expect "hi" {send "hi,too\n"}多分支模式expect {"hi" {send "hi,too\n"}"hehe" {send "hehe,too\n"}"bye" {send "bye,too\n"}}spawn:自动化传输原创 2021-08-27 09:17:36 · 64 阅读 · 0 评论 -
内核启动centos6
核心文件:/boot/vmlinuz-####-release(linux内核文件) /boot/initramfs-####-release.img(用于识别挂载根的文件系统)模块文件:/lib/modules/####-release(启动需要的驱动程序和程序)centos6启动流程1.加载BIOS的硬件信息,获取第一个启动设备2.读取第一个启动设备MBR的引导\加载程序(grub)的BOOT文件系统 1st\1.5st3.加载核心操作系统的核心信息,核心开始解压缩,...原创 2021-08-27 09:16:40 · 267 阅读 · 0 评论 -
内核配置和编译
/proc目录 内核把自己内部状态信息及统计信息,以及可配置参数通过proc伪文件系统加以输出参数: 只读:输出信息 可写:可接受用户指定“新值”来实现对内核某功能或特性的配置/proc/sys 1)sysctl命令用于查看或设定此目录中诸多参数 sysctl -w path.to.parameter=VALUE sysctl -w kernel.hostname=mage.com 2)echo命令通过重定向方式也可以修改大多数参数的值 e...原创 2021-08-27 09:17:58 · 123 阅读 · 0 评论 -
编程数组
变量:储存单个元素的内存空间数组:储存多个元素的连续的内存空间,相当于多个变量的集合数组名和索引: 索引:编号从0开始,属于数值索引 注意:索引可支持自定义的格式,而不仅是数值格式,即为关联索引,bash4.0版本之后开始支持 bash的数组支持稀疏格式(索引不连续)声明数组: declare -a 数组名 数字数组 declare -A 数组名 自定义数组,关联数组 注意:两者不可相互转换数组赋值1)一次只赋值一个元素数组名[索...原创 2021-08-26 09:41:03 · 578 阅读 · 0 评论 -
编程函数
函数介绍函数function是由若干条shell命令组成的语句块,实现代码重用和模块化编程它与shell程序形式上是相似的,不同的是它不是一个单独的进程,不能独立运行,而是shell程序的一部分函数和shell程序比较相似,区别在于:shell程序在子shell中运行而shell函数在当前shell中运行。因此在当前shell中,函数可以对shell中变量进行修改查看函数命令declare -f删除函数unset f_name函数有两部分组成:函数名和函数体help functio原创 2021-08-27 09:18:27 · 100 阅读 · 0 评论 -
编程语句
流程控制过程式编程语言:循环执行run-parts 批量运行目录里所有脚本选择执行if语句,if语句可嵌套:1.单分支if 判断条件;then 条件为真的分支代码fi2.双分支if 判断条件;then 条件为真的分支代码else 条件为假的分支代码fi3.多分支if 判断条件1;then 条件为真的分支代码elif 判断条件2;then 条件为真的分支代码elif 判断条件3;th...原创 2021-08-26 09:40:21 · 1063 阅读 · 0 评论 -
进程管理
进程的基本状态:创建、就绪、执行、阻塞、终止状态之间的六种转换:运行→就绪,就绪→运行,运行→阻塞,阻塞→就绪,阻塞→运行,就绪→阻塞进程优先级: 系统优先级:数字越小,优先级越高 0-139(centos4,5) 0-98,99(centos6) 实时优先级:99-0值最大优先级越高 nice值:-20到19,对应系统优先级100-139或99查看优先级ps axo nice\pri\psr\reprio更改nice优先级renice...原创 2021-08-27 09:18:43 · 181 阅读 · 0 评论 -
时间同步
(Centos7)1.ntpdate x.x.x.x2.vim /etc/chrony.conf添加“server x.x.x.x iburst”3.systemctl enable chronyd4.systemctl start chronyd(Centos6)1.ntpdate x.x.x.x2.vim /etc/ntp.conf添加“server x.x.x.x iburst”3.chkconfig ntp on4.service ntpd start...原创 2021-08-27 09:18:53 · 127 阅读 · 0 评论 -
计划任务
未来的某时间点执行一次性任务:at [选项] TIME -l 查看计划任务 -c # 查看任务具体内容 -d # 删除任务 -f 从文件读取任务 -m 执行完发邮件确认执行方式:1)交互式 2)输入重定向 3)at -f 文件依赖于atd服务,需要启动才能实现at任务at队列存放在/var/spool/at目录中/etc/at.{deny,allow}控制用户是否能执行at任务 白名单:/etc/at.allow 默认不存在,只有该...原创 2021-08-30 09:12:44 · 78 阅读 · 0 评论 -
bond和team
BONDING:(Centos6)使用前提:停止NetworkManager服务工作模式Mode 0(balance-rr)转轮策略:从头到尾顺序的在每一个slave接口上面发送数据包。本模式提供负载均衡和容错的能力Mode 1(active-backup)活动-主备策略:只有一个slave被激活,只有活动的slave接口失败时才会激活其他slave。为了避免交换机发生混乱此时绑定的MAC地址只有一个外部端口上可见Mode 3(broadcast)广播策略:在所有的slave接口上传送原创 2021-08-30 09:13:21 · 222 阅读 · 0 评论 -
网络配置文件
配置IP地址:(注意:DHCP只能在主网卡才生效)/etc/sysconfig/network-scripts/ifcfg-eth0DEVICE= 对应网卡!ONBOOT= 是否开启,默认开启! BOOTPROTO= 静态或自动分配地址!IPADDR= IP地址!PREFIX= 掩码!GATEWAY= 网关!DNS#= DNS服务器!NAME= 网卡描述HWADDR= ...原创 2021-08-30 09:13:38 · 338 阅读 · 0 评论 -
网络工具
判断网络连通性:ping -s 指定包大小,默认64字节 -f 泛洪,极限检测 -a 将地址解析为计算机名 -c # 次数 -i # 指定收发信息的间隔时间 -I 使用指定的IP地址送出数据包 -v 显示详细过程 -t # 设置TTL的大小(默认ttl=64经过一个路由就-1) -R 记录路由过程mtr -s 用来指定ping数据包的大小 -n no-dns不对IP地址做域名解析 -a 来设置发送数据包...原创 2021-08-30 09:14:01 · 92 阅读 · 0 评论 -
网络理论
协议模型总包头结构:1、2层|3层|4层|5层|循环校验位1、物理层:bit2、数据链路层:帧 frame结构:前导信息|目标MAC|源MAC|协议类型|DATA|校验位3、网络层:包 packet(IP地址、路由)IP协议结构:版本|首部长度|服务类型TTL|协议(TCP/UDP) 源IP地址 目标IP地址ICMP协议:pingARP协议:把IP地址解析为MAC地址RARP协议:把MAC地址解析为IP地址4、传输层:段 segment(TC...原创 2021-08-26 09:39:42 · 92 阅读 · 0 评论 -
RAID、LVM
RAID-0 条带集提升读写速度磁盘:2,2+容量100%RAID-1镜像磁盘:2的倍数容量:50%RAID-51个校验位磁盘:3,3+容量:(N-1)/NRAID-62个校验位磁盘:4,4+容量:(N-2)/NRAID-10先做RAID-1,再把几组RAID-1做成RAID-0坏几率:1/5RAID-01先做RAID-0,再把几组RAID-0做成RAID-1坏几率:3/5LVM一、物理卷(PV)pvcreate /dev/sda...原创 2021-08-30 09:14:34 · 93 阅读 · 0 评论 -
磁盘管理
centos6新增硬盘为sdacentos7新增硬盘按顺序增加XFS不允许相同的UUID设备进行挂载buffer 缓冲,内存→硬盘cache 缓存,硬盘→内存XFS 最大支持500TEXT4 最大支持50T日志型文件系统:ext3\ext4\xfs 支持断点续传非日志型文件系统:ext2\vfat 不支持断点续传硬盘扫描:echo '- - -' > /sys/class/scsi_host/host#/scan管理分区0磁道0扇区...原创 2021-08-30 09:14:46 · 95 阅读 · 0 评论 -
软件包管理、编译
包数据库(公共) /var/lib/rpm 程序包名版本 依赖关系 功能说明 安装后生成的文件路径及校验码信息rpm包管理 -ivh 常用安装选项 -ql 查看包文件列表安装 指定文件路径rpm -i 安装 -v 显示过程 -vv -h 显示进度条 --test 测试安装 --nodeps...原创 2021-08-26 09:39:29 · 84 阅读 · 0 评论 -
文件查找和压缩
locate(非实时查找、根据数据库updatadb)/var/lib/mlocate/mlocate.db特点:查找速度快模糊查找非实时查找搜索的是文件的全路径,不仅仅是文件名可能只搜索用户具备读取和执行权限的目录locate -i 不区分大小写的搜索 -n # 只列举前#个匹配项目 -r 使用正则表达式find(实时查找)默认搜索当前目录特点:查找熟读慢精确查找实时查找可能只搜索用户具备读取和执行权限的目录find 路径-max...原创 2021-08-25 15:13:17 · 115 阅读 · 0 评论 -
shell编程基础、变量
检查脚本中的语法错误bash -n script.sh预览执行结果bash -x script.sh运行data目录下所有的脚本run-parts /databash和+x 开始子进程运行脚本 source和 . 在当前进程运行脚本bash展开命令行优先级:1、把命令行分成单个单词 2、展开别名3、展开大括号的声明4、展开波浪符声明5、命令替换6、再次把命令行分成命令词7、展开文件统配8、准备I/O重定向9、运行命令bash的配...原创 2021-08-25 15:11:10 · 77 阅读 · 0 评论 -
正则表达式
字母:. 任意字符[] 其中一个字符[^] 除次数:* 0次以上\? 0次或1次\+ 1次以上\{n\} n次\{n,\} 大于n次\{,n\} 小于n次\{m,n\} 大于m,少于n位置:^ 行首$ 行尾\<或\b 单词词首 \<root\>\>或b\ 单词词尾 \b...原创 2021-08-25 15:08:28 · 79 阅读 · 0 评论 -
VIM文本编辑器
vim +# 打开文件后,让光标处于第#行的行首,+默认行尾 +/正则表达式 打开文件后,让光标处于匹配正则表达式的行首 -b 二进制方式打开文件 -d 比较多个文件 -m 只读打开文件 -e 直接进入ex模式三种主要的模式:命令(Normal)模式:默认模式,移动光标,剪切/粘贴文本插入(Insert)模式或编辑模式:修改文本扩展命令(extended)模式:保存,退出Esc键,退出当前模式2次Esc键,返回到命令模式模式切换插入→命令...原创 2021-08-25 15:07:20 · 107 阅读 · 0 评论 -
文本处理工具
cat -E 显示行结束符$ -n 对显示出的结果加行号 -A 显示所有控制符 -b 非空行编号 -s 压缩连续的空行成一行tac 反向显示结果(多行)rev 反向显示结果(同一行)more 分页显示less 分页显示,功能较多head 前几行,默认前10行 -n# 显示前#行 -c# 显示前#个字节 -# 显示第#行tail 后几行,默认前10行 -f 跟踪显示文件新追加的内容,常用在日志监控(文件删除后不会...原创 2021-08-25 15:05:38 · 82 阅读 · 0 评论 -
文件权限管理
权限分类:r w x X s S权限生效顺序:u(所有者)->g(所属组)->o(other) 先看所有者,再组,后看other ACL权限优先级比传统权限高chown-》change own修改所有者chmod-》change mod修改文件权限chgrp-》change group修改所属组chmod -R 目录下所有目录和文件,递归chgrp -R 修改文件的数组,递归chown wang:g1 file file更改为wang用户和g1组方法1:mode 法...原创 2021-08-25 15:04:07 · 141 阅读 · 0 评论 -
用户和组管理
linux用户:Usernanme/UID管理员:root/0普通用户:1-65535 系统用户:1-499(centos6),1-999(centos7) 登录用户:500+(centos6),1000+(centos7)linux组:Groupname/GID管理员组:root,0普通租: 系统组:1-499(centos6),1-999(centos7) 普通组:500+(centos6),1000+(centos7)进程所能够访问资源的权限取决于进程的运行者的身份...原创 2021-08-25 14:57:47 · 59 阅读 · 0 评论 -
IO重定向
标准输入(STDIN) -0 接受来自键盘的输入标准输出(STDOUT) -1 输出到终端窗口标准错误(STDERR) -2 输出到终端窗口把输出和错误重定向到文件> 把标准输出重定向到文件2> 把标准错误重定向到文件&> 把所有输出重定向到文件> 文件内容会覆盖>| 强行覆盖set -C 禁止覆盖 +C 允许覆盖>> 原有内容基础上,追加内容哪个输出结果不一样BA cmd > log 2>&...原创 2021-08-25 14:55:34 · 95 阅读 · 0 评论 -
文件管理
文件名称区分大小写,FAT格式除外 以.开头的文件为隐藏文件 文件有两类数据:元数据metadata、数据data 文件名最长255个字节文件类型b 块设备,block c 字符设备,charactor d 目录 l 链接文件 p 管道文件,pipe s 套接字文件,socket 查看文件状态stat filename三个时间戳:access time:访问时间atimemodify time:修改时间mtime,数据ch原创 2021-08-25 14:53:45 · 90 阅读 · 0 评论