虚拟磁盘挂载与扩容
虚拟磁盘挂载12# 查看磁盘基本信息qemu-img info vm-104-disk-1.raw RAW格式1234567891011121314151617181920对于未分区镜像文件直接使用loop:mount -o loop image.img /mnt/image已分区的镜像文件:如果已知分区的起始位置mount -o loop,offset=32256 image.img /mnt/image或者使用losetup + kpartxlosetup /dev/loop0 image.imgkpartx -a /dev/loop0mount /dev/mapper/loop0p1 /mnt/imagekpartx命令的作用,是让Linux内核读取一个设备上的分区表,然后生成代表相应分区的设备。kpartx -l imagefile 可以查看一个映像文件中的分区,使用 kpartx -a imagefile 命令后,就可以通过 /dev/mapper/loop0pX (其中X是 分区号)来访问映像。卸载:umount /mntkpartx -d /dev/loop10lose ...
Samba安装配置记录
安装12345678910111213141516171819202122apt install samba samba-clientuseradd zhongjinsmbpasswd -a zhongjinvim /etc/samba/smb.conf[nas] comment = zhongjin nas path = /media/root/37db4e25-8a6f-46ac-b6d5-dacd6e09e75e/nas create mask = 0775 directory mask = 0755 writable = yes browseable = yes read only = no guest ok = no valid users = zhongjin# aclgetfacl /media/rootsetfacl -R -m u:zhongjin:rwx /media/root/37db4e25-8a6f-46ac-b6d5-dacd6e09e75e/nas 配置参数参考https://www.samba.org/samba/d ...
OpenVpn搭建教程
PKI 体系概述公钥基础设施公钥基础设施 PKI(Public Key Infrastructure)是通过使用公钥技术和数据证书来提供信息系统安全服务,并负责验证数字证书持有者身份的一种体系。PKI 基础设施采用证书管理公钥,通过第三方可信任认证中心,把用户的公钥和用户的身份信息捆绑在一起,它是具有通用性的安全基础设施,是一套服务体系。 PKI 的功能是通过答发数据证书来绑定证书持有者的身份和相关的公开密钥,为用户获取证书、访问证书和撤销证书提供方便的途径。同时利用数字证书及相关的各种服务(证书发布、黑名单发布等)实现通信过程中实体的身份认证,保证了通信数据的机密性、完整性、不可否认性和认证性。 PKI 体系架构PKI 体系架构由证书申请者、注册机构RA、认证中心CA、证书撤销列表CRL组成。 CA(Certification Authority):负责证书的颁发和吊销(Revoke),接收来自 RA 的请求,是最核心的部分。 RA(Registration Authority):对用户身份进行验证,校验数据合法性,负责登记,审核过了就发给 CA。 证书存储库:存放证书,多采用 ...
邮件系统搭建之Postfix+Dovecot+Postfixadmin
邮件系统概念基本概念MUA(Mail User Agent)接收邮件所使用的邮件客户端,使用IMAP或POP3协议与服务器通信; MTA(Mail Transfer Agent) 通过SMTP协议发送、转发邮件; MDA(Mail Deliver Agent)将MTA接收到的邮件保存到磁盘或指定地方,通常会进行垃圾邮件及病毒扫描;在许多情况下,MDA 实际上是一个本地交付代理 (LDA); MRA(Mail Receive Agent)负责实现IMAP与POP3协议,与MUA进行交互; SMTP(Simple Mail Transfer Protocol)传输发送邮件所使用的标准协议; IMAP(Internet Message Access Protocol)接收邮件使用的标准协议之一; POP3(Post Office Protocol 3) 接收邮件使用的标准协议之一。 一套邮件系统服务端,基本由MTA、MDA(LDA)、MRA组件组成。 邮件发送和接收过程 1.假设邮件服务器为mail.imaginefei.com,发件人为user ...
使用aliyun域名API自动续期letencrypt证书
概述本文将简单介绍如何利用Aliyun DNS API,编写脚本管理域名解析,利用Let’s Encrypt生成和自动续期https证书。 2023年3月20日更新,补充了GoDaddy相关api,重构管理脚本 Python环境和Aliyun SDK安装Python虚拟环境配置1234567891011mkdir -p /opt/domain_managercd /opt/domain_manager# 创建python沙盒,请先提前安装好python3环境,我这边使用的是Python 3.7.3python3 -m venv venv# 激活沙盒环境,如需退出激活模式,输入deactivate命令回车即可source /opt/domain_manager/venv/bin/activate# 更新pip工具pip install -U pip setuptools SDK安装123456789101112131415161718# requirements.txtaliyun-python-sdk-alidns==3.0.1aliyun-python-sdk-core==2. ...
K8S集群高可用部署
系列文章K8S集群高可用部署kubeadm部署k8s集群 机器列表 IP地址 主机名 角色 10.211.55.203 k8s-cluster-master1 Master1 10.211.55.204 k8s-cluster-master2 Master2 10.211.55.205 k8s-cluster-master3 Master3 10.211.55.206 k8s-cluster-node1 Node1 10.211.55.207 k8s-cluster-apiserver-vip VIP Parallels desktop虚机处理PD处理虚机克隆后product_uuid相同的方法: 先解除绑定,可以使用删除并保留文件的方式,也可以使用命令行 123456789prlctl unregister ID|nameID/name: 为虚拟机名字比如我就是使用命令:prlctl unregister k8s-cluster-master1prlctl unregister k8s-cluster-master2prlctl unregiste ...
kubeadm部署k8s集群
系列文章K8S集群高可用部署kubeadm部署k8s集群 机器列表 IP地址 主机名 角色 10.211.55.200 ubuntu2204-adm-master Master 10.211.55.201 ubuntu2204-adm-node1 Node1 10.211.55.202 ubuntu2204-adm-node2 Node2 Parallels desktop虚机处理PD处理虚机克隆后product_uuid相同的方法: 先解除绑定,可以使用删除并保留文件的方式,也可以使用命令行 12345678$ prlctl unregister ID|nameID/name: 为虚拟机名字比如我就是使用命令:$ prlctl unregister "kubernetes01 node1" 重新注册,注册的时候加上重新生成 UUID 的参数 123456$ prlctl register path --regenerate-src-uuid path: 虚拟机的 pvm 文件路径。执行后重启 product_uuid 即更改。 ...
Jenkins安装初始化更换插件源
修改源1.从清华大学源下载update-center.json文件,并修改文件内的“插件下载URL”和“连接检查域名”,建议可以通过搜索文本的方式,查看json文件原始的插件下载URL,低版本和高版本有差异。 123456curl -O https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/dynamic-stable-2.346.1/update-center.json# 按实际修改URLsed -i 's@https://updates.jenkins.io/download@https://mirrors.tuna.tsinghua.edu.cn/jenkins@g' update-center.jsonsed -i 's@http://www.google.com@http://www.baidu.com@g' update-center.json 2.安装nginx,并复制update-center.json到/usr/share/nginx/ ...
Python基础:装饰器
闭包闭包就是能够读取其他函数内部变量的函数。 装饰器应用场景装饰器的强大在于它能够在不修改原有业务逻辑的情况下对代码进行扩展,权限校验、用户认证、日志记录、性能测试、事务处理、缓存等都是装饰器的绝佳应用场景,它能够最大程度地对代码进行复用。 常用装饰器1、函数装饰函数12345678910111213141516def wrapFun(func): def inner(a, b): print('function name:', func.__name__) r = func(a, b) return r return inner@wrapFun # myadd = wrapFun(myadd)def myadd(a, b): return a + bprint(myadd(2, 3))结果:function name: myadd5 2、函数装饰函数(带参数)1234567891011121314151617181920212223242526272829303132333435def logging( ...