小黑子我回来了
不错不错
66663啊
试一下
看一下
# 图片回复
看看咯
首页
网站统计
关于本站
在线留言
友链申请
高清壁纸
论坛
开往
虫洞
推荐
Linux命令
资源网
Search
1
京东呆瓜搭建青龙面板+xdd-plus机器人+nvjdc配置
3,227 阅读
2
Typecho Cuteen主题美化
2,701 阅读
3
Joe 主题 6.xx 底部增强,显示标签及二维码分享
2,376 阅读
4
傻妞机器人最新版安装教程
2,333 阅读
5
好久不见之网站底部样式
1,831 阅读
Linux
Shell
Mysql
Typecho
网络
其他
Redis
登录
Search
标签搜索
Linux
Typecho
美化
Nginx
Shell
综合架构
Mysql
Joe
源码
Web
数据备份
命令
Ansible
k8s
定时任务
视频
网易云
白嫖
网络
Rsync
小黑
累计撰写
153
篇文章
累计收到
834
条评论
博主
1月23日
在线
首页
栏目
Linux
Shell
Mysql
Typecho
网络
其他
Redis
页面
网站统计
关于本站
在线留言
友链申请
高清壁纸
推荐
Linux命令
资源网
开往
搜索到
153
篇与
罗小黑
的结果
2023-01-13
K8S部署grafana
{mtitle title="yaml文件"/}apiVersion: v1 kind: PersistentVolumeClaim metadata: name: grafana-pvc namespace: kube-mon spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi storageClassName: nfs-client --- apiVersion: apps/v1 kind: Deployment metadata: labels: app: grafana name: grafana namespace: kube-mon spec: selector: matchLabels: app: grafana template: metadata: labels: app: grafana spec: securityContext: fsGroup: 472 supplementalGroups: - 0 containers: - name: grafana image: grafana/grafana:8.4.4 imagePullPolicy: IfNotPresent ports: - containerPort: 3000 name: http-grafana protocol: TCP resources: requests: cpu: 250m memory: 750Mi volumeMounts: - mountPath: /var/lib/grafana name: grafana-pv volumes: - name: grafana-pv persistentVolumeClaim: claimName: grafana-pvc --- apiVersion: v1 kind: Service metadata: name: grafana namespace: kube-mon spec: ports: - port: 3000 protocol: TCP targetPort: http-grafana selector: app: grafana type: NodePort
2023年01月13日
22 阅读
0 评论
0 点赞
2023-01-13
K8S部署nexus
{mtitle title="yaml文件"/}apiVersion: v1 kind: PersistentVolumeClaim metadata: name: nexus-pvc # 自定义 namespace: nexus # 自定义,与本文前后所有命名空间保持一致 labels: pvc: nexus-pvc # 自定义 spec: storageClassName: nfs-client # 创建的StorageClass的名字 accessModes: - ReadWriteOnce resources: requests: storage: 20Gi --- kind: Deployment apiVersion: apps/v1 metadata: name: nexus3 # 自定义 labels: app: nexus3 # 自定义 namespace: nexus # 自定义,与本文前后所有命名空间保持一致 spec: replicas: 1 # 副本的数量 selector: matchLabels: app: nexus3 template: metadata: labels: app: nexus3 spec: containers: - name: nexus3 image: sonatype/nexus3:3.42.0 ports: - name: nexus3-8081 containerPort: 8081 # 容器端口 protocol: TCP resources: limits: memory: 6G cpu: 1000m imagePullPolicy: IfNotPresent volumeMounts: - name: data mountPath: /nexus-data # 数据路径挂载出来 restartPolicy: Always volumes: - name: data persistentVolumeClaim: claimName: nexus-pvc # PVC的名字 readOnly: false #volumes: # - name: nexus-data # nfs: # path: /data/nfs/graph/nexus-data # server: 192.168.58.106 --- kind: Service apiVersion: v1 metadata: name: nexus3 namespace: nexus labels: app: nexus3 spec: type: NodePort ports: - port: 8081 targetPort: 8081 nodePort: 30520 # 对外开发的端口,自定义 selector: app: nexus3
2023年01月13日
39 阅读
0 评论
0 点赞
2022-12-17
部署 KubeSphere
部署 KubeSphere确保您的机器满足安装的前提条件之后,可以按照以下步骤安装 KubeSphere。官方文档:https://kubesphere.io/zh/docs/v3.3/quick-start/minimal-kubesphere-on-k8s/wget https://github.com/kubesphere/ks-installer/releases/download/v3.3.1/kubesphere-installer.yaml wget https://github.com/kubesphere/ks-installer/releases/download/v3.3.1/cluster-configuration.yamlcluster-configuration.yaml 这个文件搜索 devops,改成truekubectl appl -f kubesphere-installer.yaml kubectl appl -f cluster-configuration.yaml检查安装日志:kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l 'app in (ks-install, ks-installer)' -o jsonpath='{.items[0].metadata.name}') -f使用 kubectl get pod --all-namespaces 查看所有 Pod 是否在 KubeSphere 的相关命名空间中正常运行。如果是,请通过以下命令检查控制台的端口(默认为 30880):kubectl get svc/ks-console -n kubesphere-system确保在安全组中打开了端口 30880,并通过 NodePort (IP:30880) 使用默认帐户和密码 (admin/P@88w0rd) 访问 Web 控制台。登录控制台后,您可以在系统组件中检查不同组件的状态。如果要使用相关服务,可能需要等待某些组件启动并运行。
2022年12月17日
68 阅读
0 评论
1 点赞
2022-12-17
K8S Nubale3.3部署
K8S Nubale3.3部署192.168.58.106master192.168.83.227node192.168.83.228node192.168.83.232node官方文档https://docs.nebula-graph.com.cn/3.3.0/nebula-operator/4.connect-to-nebula-graph-service/部署本地卷插件(如果本地已经部署过一个可跳过)curl https://github.com/kubernetes-sigs/sig-storage-local-static-provisioner/archive/v2.4.0.zip unzip v2.4.0.zip修改 v2.4.0/helm/provisioner/values.yaml classes 部分:将 hostDir: /mnt/fast-disks 改成 hostDir: /mnt/disks, storageClass: true 改成 storageClass: true。然后执行: helm install local-static-provisioner --namespace default sig-storage-local-static-provisioner/helm/provisioner# 查看 local-static-provisioner 部署情况 $ helm list NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION local-volume-provisioner default 1 2021-02-10 11:06:34.3540341 +0800 CST deployed provisioner-2.4.0 2.4.0安装 Helmwget https://get.helm.sh/helm-v3.5.2-linux-amd64.tar.gz tar -zxvf helm/helm-v3.5.2-linux-amd64.tgz mv linux-amd64/helm /usr/bin/helm安装 NebulaGraph Operator添加 NebulaGraph Operator chart 仓库至 Helm。helm repo add nebula-operator https://vesoft-inc.github.io/nebula-operator/charts拉取最新的 Helm 仓库。helm repo update参考 Helm 仓库获取更多helm repo相关信息。安装 NebulaGraph Operator。helm install nebula-operator nebula-operator/nebula-operator --namespace=<namespace_name> --version=${chart_version}例如,安装1.3.0版的 Operator 命令如下。helm install nebula-operator nebula-operator/nebula-operator --namespace=nebula-operator-system --version=1.3.0上述命令中的nebula-operator-system为用户创建的命名空间。如果用户未创建该命名空间,可以执行kubectl create namespace nebula-operator-system进行创建。用户也可创建其他命名空间。1.3.0为 NebulaGraph Operator chart 的版本。当 Chart 中只有一个默认版本时,可不指定。执行helm search repo -l nebula-operator查看 Chart 版本。用户可在执行安装 NebulaGraph Operator chart 命令时自定义其配置。更多信息,查看下文自定义配置 Chart。如果服务器无法连接外网,可以下载 NebulaGraph Operator chart 至本地,再传到服务器。helm pull nebula-operator/nebula-operator --version=1.3.0--version: 升级版本号。如不指定,则默认为最新版本。卸载 NebulaGraph Operator卸载 NebulaGraph Operator chart。helm uninstall nebula-operator --namespace=<nebula-operator-system>删除 CRD。kubectl delete crd nebulaclusters.apps.nebula-graph.io使用 Kubectl 部署 NebulaGraph 集群前提条件安装 NebulaGraph Operator设置 Kubernetes node节点# 下面是 Kubernetes 节点列表,我们需要设置 node 节点的调度标签。可以将 192.168.83.227,192.168.83.228,192.168.83.232 打上 nebula=cloud: "cloud" 的标签。 kubectl lable node 192.168.83.227 nebula="cloud" --overwrite kubectl lable node 192.168.83.228 nebula="cloud" --overwrite kubectl lable node 192.168.83.232 nebula="cloud" --overwrite创建集群本文以创建名为nebula的集群为例,说明如何部署 NebulaGraph 集群。创建集群。社区版集群示例,创建名为apps_v1alpha1_nebulacluster.yaml的文件。 apiVersion: apps.nebula-graph.io/v1alpha1 kind: NebulaCluster metadata: name: nebula spec: graphd: resources: requests: cpu: "500m" memory: "500Mi" limits: cpu: "1" memory: "1Gi" replicas: 3 image: vesoft/nebula-graphd version: v3.3.0 logVolumeClaim: resources: requests: storage: 2Gi storageClassName: fast-disks metad: resources: requests: cpu: "500m" memory: "500Mi" limits: cpu: "1" memory: "1Gi" replicas: 3 image: vesoft/nebula-metad version: v3.3.0 logVolumeClaim: resources: requests: storage: 2Gi storageClassName: fast-disks dataVolumeClaim: resources: requests: storage: 2Gi storageClassName: fast-disks storaged: resources: requests: cpu: "500m" memory: "500Mi" limits: cpu: "1" memory: "1Gi" replicas: 3 image: vesoft/nebula-storaged version: v3.3.0 logVolumeClaim: resources: requests: storage: 2Gi storageClassName: fast-disks dataVolumeClaims: # 从 Operator 1.3.0 开始,支持挂载多个数据盘。 - resources: requests: storage: 2Gi storageClassName: fast-disks - resources: requests: storage: 2Gi storageClassName: fast-disks enableAutoBalance: true reference: name: statefulsets.apps version: v1 schedulerName: default-scheduler nodeSelector: nebula: cloud imagePullPolicy: Always unsatisfiableAction: ScheduleAnyway参数描述如下:参数默认值描述metadata.name-创建的 NebulaGraph 集群名称。spec.graphd.replicas1Graphd 服务的副本数。spec.graphd.imagesvesoft/nebula-graphdGraphd 服务的容器镜像。spec.graphd.versionv3.3.0Graphd 服务的版本号。spec.graphd.service-Graphd 服务 Service 配置。spec.graphd.logVolumeClaim.storageClassName-Graphd 服务的日志盘存储配置。spec.metad.replicas1Metad 服务的副本数。spec.metad.imagesvesoft/nebula-metadMetad 服务的容器镜像。spec.metad.versionv3.3.0Metad 服务的版本号。spec.metad.dataVolumeClaim.storageClassName-Metad 服务的数据盘存储配置。spec.metad.logVolumeClaim.storageClassName-Metad 服务的日志盘存储配置。spec.storaged.replicas3Storaged 服务的副本数。spec.storaged.imagesvesoft/nebula-storagedStoraged 服务的容器镜像。spec.storaged.versionv3.3.0Storaged 服务的版本号。spec.storaged.dataVolumeClaims.resources.requests.storage-Storaged 服务的数据盘存储大小,可指定多块数据盘存储数据。当指定多块数据盘时,路径为:/usr/local/nebula/data1、/usr/local/nebula/data2等。spec.storaged.dataVolumeClaims.resources.storageClassName-Storaged 服务的数据盘存储配置。若不指定,则使用全局的存储配置。spec.storaged.logVolumeClaim.storageClassName-Storaged 服务的日志盘存储配置。spec.storaged.enableAutoBalancetrue是否自动均衡数据。spec.reference.name-依赖的控制器名称。spec.schedulerName-调度器名称。spec.imagePullPolicyNebulaGraph 镜像的拉取策略。关于拉取策略详情,请参考 Image pull policy。镜像拉取策略。创建 NebulaGraph 集群。kubectl create -f apps_v1alpha1_nebulacluster.yaml查看 NebulaGraph 集群状态。kubectl get nebulaclusters.apps.nebula-graph.io nebula使用 Helm 部署 NebulaGraph 集群前提条件安装 NebulaGraph Operator创建 NebulaGraph 集群添加 NebulaGraph Operator chart 仓库至 Helm(如已创添加,略过前面 1 至 2 步,从第 3 步开始执行)。helm repo add nebula-operator https://vesoft-inc.github.io/nebula-operator/charts更新 Helm 仓库,拉取最新仓库资源。helm repo update设置 Kubernetes node节点# 下面是 Kubernetes 节点列表,我们需要设置 node 节点的调度标签。可以将 192.168.83.227,192.168.83.228,192.168.83.232 打上 nebula=cloud: "cloud" 的标签。 kubectl lable node 192.168.83.227 nebula="cloud" --overwrite kubectl lable node 192.168.83.228 nebula="cloud" --overwrite kubectl lable node 192.168.83.232 nebula="cloud" --overwrite配置 Helm 的环境变量。export NEBULA_CLUSTER_NAME=nebula # NebulaGraph 集群的名字。 export NEBULA_CLUSTER_NAMESPACE=nebula # NebulaGraph 集群所处的命名空间的名字。 export STORAGE_CLASS_NAME=fast-disks # NebulaGraph 集群的 StorageClass。为 NebulaGraph 集群创建命名空间(如已创建,略过此步)。kubectl create namespace "${NEBULA_CLUSTER_NAMESPACE}"创建 NebulaGraph 集群。helm install "${NEBULA_CLUSTER_NAME}" nebula-operator/nebula-cluster \ --namespace="${NEBULA_CLUSTER_NAMESPACE}" \ --set nameOverride=${NEBULA_CLUSTER_NAME} \ --set nebula.storageClassName="${STORAGE_CLASS_NAME}"查看 NebulaGraph 集群创建状态。kubectl -n "${NEBULA_CLUSTER_NAMESPACE}" get pod -l "app.kubernetes.io/cluster=${NEBULA_CLUSTER_NAME}"返回示例:NAME READY STATUS RESTARTS AGE nebula-graphd-0 1/1 Running 0 5m34s nebula-graphd-1 1/1 Running 0 5m34s nebula-metad-0 1/1 Running 0 5m34s nebula-metad-1 1/1 Running 0 5m34s nebula-metad-2 1/1 Running 0 5m34s nebula-storaged-0 1/1 Running 0 5m34s nebula-storaged-1 1/1 Running 0 5m34s nebula-storaged-2 1/1 Running 0 5m34s删除集群使用 Helm 删除集群的命令如下:helm uninstall "${NEBULA_CLUSTER_NAME}" --namespace="${NEBULA_CLUSTER_NAMESPACE}"或者使用真实值删除集群,例如:helm uninstall nebula --namespace=nebula
2022年12月17日
36 阅读
0 评论
0 点赞
2022-10-27
SSH连接服务器失败
重启sshd服务,导致ssh连接不上服务器,经过排查,查看日志发现出现一下错误Oct 25 12:59:00 kdgcapp-58-106 sshd[7413]: PAM unable to dlopen(/usr/lib64/security/pam_stack.so): /usr/lib64/security/pam_stack.so: cannot open shared obje... directory Oct 25 12:59:00 kdgcapp-58-106 sshd[7413]: PAM adding faulty module: /usr/lib64/security/pam_stack.so解决方法:经过排查发现是ssh rpm 升级后会修改/etc/pam.d/sshd 文件,如下: #%PAM-1.0 auth required pam_stack.so service=system-auth account required pam_nologin.so account required pam_stack.so service=system-auth password required pam_stack.so service=system-auth session required pam_stack.so service=system-auth 修改为之前的即可。修改后的文件如下: #%PAM-1.0 auth required pam_sepermit.so auth include password-auth account required pam_nologin.so account include password-auth password include password-aut # pam_selinux.so close should be the first session rule session required pam_selinux.so close session required pam_loginuid.so # pam_selinux.so open should only be followed by sessions to be executed in the user context session required pam_selinux.so open env_params session optional pam_keyinit.so force revoke session include password-auth
2022年10月27日
222 阅读
0 评论
0 点赞
2022-10-27
续订Office365E5订阅
前言 Microsoft 365 E5 Renew XMicrosoft 365 E5 Renew X是一款网页版的E5续订服务,其依赖网页浏览器呈现支持用户多端操作,完全将E5账户API调用托管在了服务器端因此用户无需电脑也可使用。 Microsoft 365 E5 Renew X 由来Microsoft 365 E5 Renew X为Microsoft 365 E5 Web的升级版,相对于旧版其增强了管理功能且更容易部署,API调用内核继承于续订桌面版软件Microsoft 365 E5 Renew Plus。 一、注册Azure应用程序 1、登录Azure应用注册,账号就是上个教程中申请到的管理员账号(账户名类似XXXX@YYYY.onmicrosoft.com格式),然后点击“新注册”。 2、名称随意填,“受支持的账户类型”选择“任何组织目录(任何 Azure AD 目录 - 多租户)中的帐户和个人 Microsoft 帐户(例如,Skype、Xbox)”。重定向不用填,然后点击注册。 3、点击进入新创建的应用后,点击“概述”,复制保存“应用程序(客户端)ID”的值,以后会用。然后点击“添加重定向URL” 4、点击“添加平台”,再点击“移动和桌面应用程序”。 5、更改图中该项设置为“是”,然后点击保存。 二、配置API权限 配置应用程序的API权限(重要) 小白提示:建议选择“委托的权限(用户登录)”该权限类型,调用API较多,操作步骤较少简单粗暴,调用成功几率高 注册的应用程序API权限类型有两种,其主要区别如下表所示: 权限类型委托的权限(用户登录)应用程序权限(非用户登录)官方释义应用程序必须以登录用户身份访问API应用程序在用户未登录的情况下作为后台服务或守护程序运行需要的信息账户名称+账户密码+应用程序(客户端)ID账户名称+客户端机密+应用程序(客户端)ID功能影响程序中所有API均可调用部分API权限受限无法调用(官方限制)API权限配置可由PC版程序自动配置添加API权限必须手动配置API权限显示颜色标识蓝色深青色 以下是登录或非登录所需要的权限列表: 最后根据所选的API权限类型在:2.1 选择“委托的权限(用户登录)”类型的API或者2.2 选择“应用程序权限(非用户登录)”类型的API中选择性阅读。 选择“委托的权限” 添加完成的效果如图如果没有“代表XXX授予管理员同意”按钮 说明该账号不是管理员账号 换登管理员账号创建应用 最后点击代表XXX授予管理员同意,对话框选择“是”(该图包含了当前程序“委托的权限(用户登录)”全部API所需要的权限)。 选择“应用程序权限(非用户登录)”类型的API 和上面一样把下图的权限开启即可 创建客户端密码 1.点击“证书密码”-“新客户端密码”-“24个月”-“添加” 2.点击“值”该列中的“复制”(不要复制"ID"列中的值),并立即将该密码保存至电脑,保存的值即为“客户端密码”, 注:该值必须立即保存,退出该页面后将永远无法查看。 3 将账号API调用托管至服务创建一个新的E5子账户(可选步骤)登入E5管理员账户进入管理员界面,创建一个新的子账户,使用这个子账户登录程序调用API。为什么建议这样做:Microsoft 365 E5 Renew中的部分API包含了写操作,例如邮件和Onedrive的API,这些API在随机模式下会生成大量垃圾邮件和文件(虽然单独为此设立了一个文件夹),部分人可能会对此行为非常介意,而且程序频繁的读写可能会对您正常使用账户造成影响,因此不建议使用管理员账户登录。 本文提供两种方法运行:Windows程序下载链接在文末 API配置成功后,打开软件的开机自启动即可 三、docker版部署 1、打开终端,输入安装命令: git clone https://github.com/MoeXiaoHei/Microsoft365_E5.git #创建容器 docker run -dit \ -v $PWD/Microsoft365_E5_Renew_X/Deploy:/app/Deploy \ -v $PWD/Microsoft365_E5_Renew_X/appdata:/app/appdata \ -p 1066:1066 \ --name Microsoft365 \ --restart always \ moexiaohei/microsoft-365-e5:latest 密码是12345678 容器创建完成后,打开1066端口。 2、输入ip:1066进入网页版页面。 默认密码12345678 3、登录以后点击“添加运行账号”,输入账号,之前保存的ID,密码,选择“登录调用方式”,最后点击“添加运行账号”即可。 4、添加完成后,续订服务就已经配置成功了。 注意: 1、一定不要打开双重验证。 2、续订很玄学,只能说是通过这种手段提高续订概率。 3、如有疑问可以查看作者官方文档Microsoft 365 E5 Renew Plus 帮助文档 - Wiki 分享 (coding.net) 最后,再次附上作者的教程E5 调用API续订服务:Microsoft 365 E5 Renew X_SundayRX的博客-CSDN博客_e5续订。 {mtitle title="软件"/}隐藏内容,请前往内页查看详情
2022年10月27日
158 阅读
2 评论
0 点赞
2022-10-27
免费获得Office365
前言 Office365开发版E5是为开发人员提供的,是微软的官方活动,申请Office 365开发者计划可以获得为期3个月的免费Office365 E5。而E5计划就包含了25个用于所有Office 365 应用的许可证。 申请账号 Microsoft 365开发者人员中心 2、登录账号 3、注册365开发人员,国家填China,公司随便填,然后接受条款,点下一步 4、这里随便填,然后下一步 5、设置365沙盒,选择可配置沙盒 6、在弹出的页面中输入一个你能记得住的用户名和域,然后记住你的"用户名@域.onmicrosoft.com",点继续。 这里手机号验证需要科学上网,这个自己解决,如果科学上网还是不能发送短信,那就把页面调整英文 7、现在,我们已经申请好了E5订阅了,并一次性申请了25个用户许可证。如果你只是自己用,现在已经可以使用"用户名@域.onmicrosoft.com"和之前设置的密码登录你电脑上的Office了。 分配账号与安装365 之前说过E5订阅有25个用户许可证,我们可以点击 转到订阅或者登录 https://www.office.com/?auth=2 分配账号给自己的朋友这里一定要加上 ?auth=2 ,否则会进入个人版office365的登录界面,无法使用这里的组织账号登录点击 安装office可以安装office365,默认会安装所有的软件。若有自定义的需求,可以使用office tool plus安装。 点击下方的 管理可以分配账号,进入新页面点击 用户——活跃用户——添加用户即可。 设置5T网盘容量 默认onedrive容量是1T,但是可以通过设置更改为5T。1.点击365主页的onedrive图标,若提示“我们目前还在 OneDrive 上设置文件”可以先跳过本步骤,先完成下面的操作。 2.打开 https://admin.onedrive.com/?v=StorageSettings ,也可以在 管理中心——所有管理中心——onedrive中找到,更改默认存储为5012GB。 下次分享了续期教程
2022年10月27日
99 阅读
0 评论
1 点赞
2022-10-11
搭建jsdelivr镜像站
如果不想搞的话,可以用我的 https://jsd.ucbk.cn新建一个网站,然后把下面内容覆盖到nginx配置文件server { listen 80; listen 443 ssl http2; # 请更改为你的证书路径 ssl_certificate fullchain.pem; ssl_certificate_key privkey.pem; # 请更改为你的镜像域名 server_name jsd.ucbk.cn; location / { proxy_pass https://cdn.jsdelivr.net; proxy_set_header Host $proxy_host; proxy_set_header Accept-Encoding ''; proxy_ssl_server_name on; proxy_ssl_name $proxy_host; proxy_redirect / /; # Proxy Cache proxy_cache jsdelivr; proxy_cache_lock on; proxy_cache_lock_timeout 15s; proxy_cache_use_stale updating; proxy_cache_background_update on; proxy_cache_key $host$request_uri; proxy_cache_valid 200 301 302 30d; proxy_cache_valid 500 501 502 503 15s; proxy_cache_valid any 5m; # Replace Domain sub_filter_once off; sub_filter_types application/javascript application/json text/xml text/css; sub_filter '$proxy_host' '$host'; } } # 缓存路径请根据需要更改 proxy_cache_path /var/tmp/nginx/jsdelivr levels=1:2 use_temp_path=off keys_zone=jsdelivr:300m inactive=30d max_size=30g;之后直接把网站涉及到cdn.jsdelivr.net都改成你自己的就可以了,如果不想改的话直接在你网站nginx配置中加以下内容就可以了sub_filter_once off; sub_filter_types application/javascript application/json text/xml text/css; sub_filter 'cdn.jsdelivr.net' 'jsd.ucbk.cn';
2022年10月11日
159 阅读
0 评论
2 点赞
2022-10-06
本站联名导航
点击跳转
2022年10月06日
119 阅读
0 评论
0 点赞
2022-08-04
Linux 安装python3.7.6
准备依赖环境yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel expat-devel expat-devel gdbm-devel1、下载wget https://www.python.org/ftp/python/3.7.6/Python-3.7.6.tgz2、解压tar -zxvf Python-3.7.6.tgz3、建空文件夹mkdir /usr/local/python34、执行配置文件,编译,编译安装cd Python-3.7.6 ./configure --prefix=/usr/local/python3 make && make install5、建立软链接ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3 ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip36、安装virtualenvpip3 install virtualenv -i https://mirrors.aliyun.com/pypi/simple7、建立软连接ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv
2022年08月04日
346 阅读
5 评论
0 点赞
2022-07-11
01-k8s集群搭建-基础环境准备
安装依赖包cd /etc/yum.repos.d sudo mkdir bak sudo mv * bak sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo sudo wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo sudo sed -i 's\$releasever\7\g' CentOS-Base.repo sudo yum clean all sudo yum makecache sudo yum install -y conntrack ntpdate ntp ipvsadm ipset jq iptables curl sysstat libseccomp wget vim net-toos git iptables-services yum-utils device-mapper-persistent-data lvm2 nfs-utils cri-tools socat systemd安装依赖包(离线)#依赖包收集 yum install yum-plugin-downloadonly #下载需要安装的包和依赖,默认保存/var/cache/yum yum install --downloadonly --downloaddir=/path XXX #安装的时候要写包全名,并把所有依赖一起安装关闭防火墙sudo systemctl stop firewalld sudo systemctl disable firewalld启动iptables服务sudo systemctl status iptables sudo systemctl start iptables sudo systemctl enable iptables #确保安装iptables就行 没必要启动关闭虚拟内存sudo swapoff -a sudo cp /etc/fstab /etc/fstab_bak sudo sh -c "cat /etc/fstab_bak |grep -v swap > /etc/fstab"关闭SELINUXsetenforce 0 sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config调整内核参数—可选sudo vim /etc/sysctl.conf --- net.ipv4.ip_forward = 1 net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 --- sudo modprobe -- ip_vs sudo modprobe -- ip_vs_rr sudo modprobe -- ip_vs_wrr sudo modprobe -- ip_vs_sh sudo modprobe -- nf_conntrack_ipv4 sudo modprobe br_netfilter sudo sysctl -p调整系统时区-可选#设置系统时区为 中国/上海 timedatectl set-timezone Asia/Shanghai #将当前的UTC时间写入硬件时钟 timedatectl set-local-rtc 0 #重启依赖于系统时间的服务 systemctl restart syslog systemctl restart crond关闭系统不需要的服务—可选sudo systemctl stop postfix sudo systemctl disable postfix设置resyslogd和systemd journald--可选mkdir /var/log/journal mkdir /etc/systemd/journald.conf.d cat > /etc/systemd/journald.conf.d/99-prophet.conf << EOF [Journal] # 持久化保存到磁盘 Storage=persistent # 压缩历史日志 Compress=yes SyncIntervalSec=5m RatelimitInterval=30s RatelimitBurst=1000 # 最大占用空间 SystemMaxUse=10G # 单日志文件最大 200M SystemMaxFileSize=200M # 日志保存时间 2周 MaxRetentionSec=2week # 不将日志转发到syslog ForwardToSyslog=no EOF systemctl restart systemd-journald升级系统内核(选做)#据说3.10.X内核存在一些BUG rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm #完成后检查 /boot/grub2/grub.cfg 中对应内核 menuentry 中是否包含 initrd16配置,如果没有,再安装一次 yum --enablerepo=elrepo-kernel install -y kernel-lt #设置开机从新内核启动 grub2-set-default "CENTOS Linux (4.4.182-1.el7.elrepo.x86_64) 7 (Core)"ipvs依赖(kube-proxy新模式需要)sudo modprobe -- ip_vs sudo modprobe -- ip_vs_rr sudo modprobe -- ip_vs_wrr sudo modprobe -- ip_vs_sh sudo modprobe -- nf_conntrack_ipv4 sudo modprobe br_netfilter
2022年07月11日
175 阅读
0 评论
1 点赞
2022-05-27
把程序制作成docker镜像
前言docker相关命令: 点击创建Dockerfile文件先把程序单独放一个目录,这个app目录下面就是程序文件,我在这里面创建Dockerfilecd app vim Dockerfile #(这里第一个字母要大写) FROM ubuntu:21.04 AS runtime #基本镜像 ENV DEBIAN_FRONTEND=noninteractive WORKDIR /app #创建容器的运行目录 RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #宿主机和容器时间同步 RUN echo 'Asia/Shanghai' >/etc/timezone #宿主机和容器时间同步,这个可以和上面写在一块 COPY . /app #容器的运行目录 run apt-get update \ #安装程序的相关依赖 && apt-get install -y wget \ && wget https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \ && dpkg -i packages-microsoft-prod.deb \ && rm -rf packages-microsoft-prod.deb \ && apt-get install -y apt-transport-https \ && apt-get install -y vim \ && apt-get update \ && apt-get install -y dotnet-sdk-3.1 ENV ASPNETCORE_URLS=http://+:1066 EXPOSE 1066 #容器的端口 ENTRYPOINT ["dotnet", "Microsoft365_E5_Renew_X.dll"] #执行程序 PS:参数的含义,自己自行百度吧,这里只大概说一下打包成镜像[root@VM-12-13-centos app]# docker build -t microsoft-365-e5:1.1.0 -f Dockerfile . #docker build -t 镜像名:版本 -f Dockerfile文件 注意这里有个'.' 不要忘记了出现上图说明创建成功,然后看一下docker images创建容器docker run -dit \ -v $PWD/Microsoft365_E5_Renew_X/app/Deploy/Config.xml:/app/Deploy/Config.xml \ -v $PWD/Microsoft365_E5_Renew_X/appdata:/app/appdata \ -p 1066:1066 \ --name Microsoft365 \ --restart always \ microsoft-365-e5:1.1.0上传dockerhub首先我们先创建一下账号 https://hub.docker.com/在Linux中登录docker login输入注册的用户和密码,然后我们先给镜像打个标签,因为上传格式为 用户名/镜像名:版本,其实在build的时候就可以命名成这样docker tag microsoft-365-e5:1.1.0 用户名/microsoft-365-e5:1.1.0创建好之后,push一下,就完成了docker push 用户名/microsoft-365-e5:1.1.0
2022年05月27日
388 阅读
0 评论
0 点赞
2022-05-26
挖矿木马自助清理手册
什么是挖矿木马挖矿木马会占用CPU进行超频运算,从而占用主机大量的CPU资源,严重影响服务器上的其他应用的正常运行。黑客为了得到更多的算力资源,一般都会对全网进行无差别扫描,同时利用SSH爆破和漏洞利用等手段攻击主机。部分挖矿木马还具备蠕虫化的特点,在主机被成功入侵之后,挖矿木马还会向内网渗透,并在被入侵的服务器上持久化驻留以获取最大收益。整体的攻击流程大致如下图所示:二. 挖矿木马中招特征挖矿木马会在用户不知情的情况下利用主机的算力进行挖矿,最明显的特征就是主机的CPU被大量消耗,查看云主机CPU占用率的方法有两种:控制台实例监控主机执行TOP命令如下图所示,通过执行top命令,即可在返回结果中看到当时系统的CPU占用率。top -c如果您的主机CPU占用率居高不下,那么主机很有可能已经被植入了挖矿木马,会影响服务器上的其他应用的正常运行,需要立刻上机排查。三. 清理挖矿木马及时隔离主机部分带有蠕虫功能的挖矿木马在取得主机的控制权后,会继续对公网的其他主机,或者以当前主机作为跳板机对同一局域网内的其他主机进行横向渗透,所以在发现主机被植入挖矿木马后,在不影响业务正常运行的前提下,应该及时隔离受感染的主机,然后进行下一步分析和清除工作。腾讯云主机可以通过设置安全组隔离主机,具体参考如下链接:https://cloud.tencent.com/document/product/215/20089阻断异常网络通信挖矿木马不仅会连接矿池,还有可能会连接黑客的C2服务器,接收并执行C2指令、投递其他恶意木马,所以需要及时进行网络阻断。(1)检查主机防火墙当前生效的iptables规则中是否存在业务范围之外的可疑地址和端口,它们可能是挖矿木马的矿池或C2地址iptables -L -n(2)从iptables规则中清除可疑地址和端口vi /etc/sysconfig/iptables(3)阻断挖矿木马的网络通信iptables -A INPUT -s 可疑地址 -j DROP iptables -A OUTPUT -d 可疑地址 -j DROP清除计划任务大部分挖矿木马会通过在受感染主机中写入计划任务实现持久化,如果仅仅只是清除挖矿进程,无法将其根除,到了预设的时间点,系统会通过计划任务从黑客的C2服务器重新下载并执行挖矿木马。挖矿木马常见的计划任务通常是下载并执行sh脚本,如下图所示:可以通过执行如下命令查看是否存在可疑定时任务,若有,则先保存相关记录用于后续分析,再进行删除:查看系统当前用户的计划任务:crontab -l查看系统特定用户的计划任务:crontab -u username -l查看其他计划任务文件:cat /etc/crontab cat /var/spool/cron cat /etc/anacrontab cat /etc/cron.d/ cat /etc/cron.daily/ cat /etc/cron.hourly/ cat /etc/cron.weekly/ cat /etc/cron.monthly/ cat /var/spool/cron/清除启动项除了计划任务,挖矿木马通过添加启动项同样能实现持久化。可以使用如下命令查看开机启动项中是否有异常的启动服务。CentOS7以下版本:chkconfig –listCentOS7及以上版本:systemctl list-unit-files如果发现有恶意启动项,可以通过如下命令进行关闭:CentOS7以下版本:chkconfig 服务名 offCentOS7及以上版本:systemctl disable 服务名另外,还需要仔细排查以下目录及文件,及时删除可疑的启动项:/usr/lib/systemd/system /usr/lib/systemd/system/multi-user.target.wants /etc/rc.local /etc/inittab /etc/rc0.d/ /etc/rc1.d/ /etc/rc2.d/ /etc/rc3.d/ /etc/rc4.d/ /etc/rc5.d/ /etc/rc6.d/ /etc/rc.d/排查的时候,可以按照文件修改时间来排序,重点排查近期被创建服务项。如下图所示,系统近期被创建了一个名为bot.service的服务,该服务在系统启动时会启动/etc/kinsing这个木马文件,需要关闭bot服务,并删除/etc/kinsing文件。清除预加载so通过配置/etc/ld.so.preload,可以自定义程序运行前优先加载的动态链接库,部分木马通过修改该文件,添加恶意so文件,从而实现挖矿进程的隐藏等恶意功能。检查/etc/ld.so.preload(该文件默认为空),清除异常的动态链接库。可以执行> /etc/ld.so.preload命令进行清除。清除SSH公钥挖矿木马通常还会在~/.ssh/authoruzed_keys文件中写入黑客的SSH公钥,这样子就算用户将挖矿木马清除得一干二净,黑客还是可以免密登陆该主机,这也是常见的保持服务器控制权的手段。排查~/.ssh/authorized_keys文件,如果发现可疑的SSH公钥,直接删除。清除挖矿木马(1)清除挖矿进程挖矿木马最大的特点就是会在用户不知情的情况下,利用主机的算力进行挖矿,从而消耗主机大量的CPU资源,所以,通过执行如下命令排查系统中占用大量CPU资源的进程。top -c ps -ef确认相关进程为挖矿进程后,按照如下步骤将其清除:获取并记录挖矿进程的文件路径:ls -l /proc/$PID/exe杀死挖矿进程:kill -9 $PID删除挖矿进程对应的文件(2)清除其它相关恶意进程恶意进程与外部的C2服务器进行通信时,往往会开启端口进行监听。执行如下命令,查看服务器是否有未被授权的端口被监听。netstat -antp若有未授权进程,按照如下步骤将其清除:获取并记录未授权进程的文件路径:ls -l /proc/$PID/exe杀死未授权进程:kill -9 $PID删除未授权进程对应的文件还可以通过如下命令排查近期新增的文件,清除相关木马 find /etc -ctime -2 (这里指定目录为/etc,获取近2天内的新增文件) lsof -c kinsing (这里要查看文件名为kinsing的相关进程信息)风险排查、安全加固对系统进行风险排查和安全加固,避免挖矿木马卷土重来,详情可参考如下链接:https://cloud.tencent.com/document/product/296/9604四. 常见问题明明刚刚清理了挖矿木马,没过多久就又卷土重来?很多用户会反馈挖矿木马老是清理不干净,明明已经Kill了进程,删除了木马文件,没过多久,CPU占用率又上来了。究其根本,还是因为清除得不够彻底。大部分用户都只是Kill掉挖矿进程和对应文件,却没有清理计划任务和守护进程。一般建议先清除计划任务、启动项、守护进程,再清除挖矿进程和其他恶意进程。如何判定可疑进程是否为恶意进程?如下图所示,未知进程kinsing监听本地31458端口,非常可疑,可通过如下方法判定:(1)执行ls -al /proc/$PID/exe确认可疑进程对应的文件;(2)若文件未被删除,则直接上传文件到Virustotal进行检测,或者计算出文件对应的md5,使用md5去Virustotal进行查询;若文件已被删除,可执行cat /proc/$PID/exe > /tmp/t.bin将进程dump到特定目录,再上传文件到Virustotal或者计算dump文件对应的md5到Virustotal进行查询。如果有多款杀毒引擎同时检出,那基本可以判定该进程为恶意进程。Virustotal地址:https://www.virustotal.com/gui/s为什么系统CPU占用率接近100%,却看不到是哪个进程导致的?如下图所示,系统CPU占用率接近100%,却看不到是哪个进程导致的,这种情况一般是因为系统命令被木马篡改了,从而隐藏了木马进程的踪迹,让用户无法进行溯源分析。命令篡改有多种方式,分别如下:(1)top源文件被篡改,恶意进程信息被过滤后返回通过执行如下命令即可复原:rm -rf /usr/bin/top && mv /usr/bin/top.original /usr/bin/top【相关文章】https://blog.csdn.net/chenmozhe22/article/details/112578057(2)篡改预加载so文件,ls、top、ps等命令已经被木马的动态链接库劫持,无法获得木马进程相关的信息通过执行如下命令即可复原:> /etc/ld.so.preload && rm -rf 恶意so文件路径复制 【相关文章】https://cloud.tencent.com/developer/article/1744547(3)通过其他未知手段篡改系统命令可分别尝试如下两种方案解决:i.从其他相同版本系统中拷贝命令源文件到当前系统中进行覆盖;可使用uname -a命令查看当前系统版本;ii.或者安装busybox来对系统进行排查。busybox是一个集成了300多个最常用Linux命令和工具的软件,可以使用busybox替代系统命令对系统进行排查; yum -y install wget make gcc perl glibc-static ncurses-devel libgcrypt-devel wget http://busybox.net/downloads/busybox-1.33.0.tar.bz2 tar -jxvf busybox-1.33.0.tar.bz2 cd busybox-1.33.0 && make && make install【相关文章】https://www.cnblogs.com/angryprogrammer/p/13456681.html
2022年05月26日
155 阅读
0 评论
0 点赞
2022-04-02
docker容器打包成镜像
先查看镜像docker images格式# docker commit [OPTIONS] CONTAINER(容器名称或者ID) [REPOSITORY[:TAG]] -a : 提交的镜像作者 -c : 使用Dockerfile指令来创建镜像 -m : 描述 -p : 在commit时,将容器暂停 docker commit -a xiaohei -m "容器名" 镜像名 镜像标签 docker commit -a xiaohei -m "ql" qinglong qinglong:2.12dokcer 重新命名标签docker tag 镜像名 用户名/镜像名 docker tag qinglong:2.12 moexiaohei/qinglong:2.12 docker save -o qinglong.tar qinglong:2.12
2022年04月02日
132 阅读
0 评论
0 点赞
2022-03-12
网易云音乐人认证申请教程
前言通过音乐人的任务获取云豆,可以兑换一年黑胶会员(这种白嫖的事怎么可能少的了我呢 ::(狗头) )步骤一打开网址,按照要求认证https://music.163.com/musician音乐人邀请码:p9k8961步骤二需要软件: 全民k歌,音乐剪辑大师(这些应用商店都有)步骤三在全民k歌,挑一首可以翻唱的歌,然后获取音乐连接,百度一下全民k歌解析,获取m4a格式的音乐,打开音乐剪辑大师把它转换成(MP3/WAV)格式。采集4410以上 比特率320 (这个软件可能会在导出的时候卡退,多试几次就好了)最后就根据页面填写信息然后提交就行了Q群: 318145274 tool.ucbk.cn免费提供网易云呆瓜1、签到领云贝2、自动完成云贝任务,并领取云贝3、 打卡升级4、自动打卡300首歌5、音乐人自动签到领取云豆(350云豆 兑换黑胶会员)6、自动领取VIP成长值7、音乐人自动完成任务,并领取云豆8、支持多账户
2022年03月12日
1,638 阅读
12 评论
2 点赞
1
2
...
11