avatar
文章
324
标签
40
分类
15

Helloeuler
搜索
Windows11下WSL安装openEuler2403SP1版本
发表于2025-07-18|openEuler
前言近些年微软推出了WSL子系统,可以在Windows下方便的使用Linux,充分利用主机的资源,无需再单独通过vmvare启动虚拟机。 Windows Subsystem for Linux(WSL)是微软在 Windows 10 和 Windows 11 上推出的功能,允许用户直接在 Windows 系统中运行 原生 Linux 二进制可执行文件,而无需传统的虚拟机(如 VMware、VirtualBox)或双系统引导。WSL 提供了与 Linux 内核高度兼容的子系统,使开发者、系统管理员和普通用户能够更方便地在 Windows 上使用 Linux 工具和环境。 openEuler作为新一代的国产操作系统,提供了原生的WSL版本,可以在Windows下非常容易的安装起来。 安装1.下载openEuler最新版本的WSL,当前是openEuler 2403 SP1: https://dl-cdn.openeuler.openatom.cn/openEuler-24.03-LTS-SP1/WSL/openEuler-WSL-24.03.zip 2.解压后安装证书:DistroL ...
Snyk漏洞数据库功能介绍
发表于2025-07-18|deepseek
https://security.snyk.io/网站介绍 https://security.snyk.io/ 是 Snyk 漏洞数据库的公开访问入口。它是 Snyk 公司提供的一项核心服务,旨在为开发者、安全团队和整个社区提供全面、准确且可操作的开源软件漏洞信息。 以下是该网站的主要介绍和功能: 核心功能:漏洞搜索引擎 主要目的: 允许用户搜索和浏览已知的开源软件漏洞。 搜索方式: 按漏洞标识符搜索: 例如 CVE-2021-44228 (Log4Shell), CVE-2018-11776 (Struts2 RCE)。 按软件包名称搜索: 例如 log4j-core, lodash, react, requests。 按生态系统/包管理器搜索: 支持广泛的生态系统,包括 npm, PyPI, Maven, NuGet, Go, RubyGems, Linux (Debian, RHEL, Ubuntu 等), Docker 容器镜像等。 按关键词搜索: 搜索漏洞描述中的关键词。 筛选功能: 可以按漏洞严重性等级、生态系统、利用状态、漏洞类型等条件进行筛选。 提 ...
Windows WSL功能及使用指南
发表于2025-07-18|deepseek
介绍一下Windows wsl Windows Subsystem for Linux(WSL)是微软在 Windows 10 和 Windows 11 上推出的功能,允许用户直接在 Windows 系统中运行 原生 Linux 二进制可执行文件,而无需传统的虚拟机(如 VMware、VirtualBox)或双系统引导。WSL 提供了与 Linux 内核高度兼容的子系统,使开发者、系统管理员和普通用户能够更方便地在 Windows 上使用 Linux 工具和环境。 WSL 的主要版本1. WSL 1 架构:将 Linux 系统调用转换为 Windows 内核调用,无需真正的 Linux 内核。 特点: 轻量级,启动快。 文件系统性能较差(尤其是大量小文件操作)。 不支持完整的 Linux 内核功能(如 Docker 需要额外配置)。 2. WSL 2 架构:基于 轻量级虚拟机(Hyper-V),运行真正的 Linux 内核。 特点: 接近原生 Linux 性能(文件系统、进程管理等大幅优化)。 支持 Docker 等依赖 Linux 内核的功能。 需要启用 Hyper-V(部分 ...
中断上下文中调用pfn_to_page和phys_to_pfn
发表于2025-07-18|deepseek
pfn_to_page、phys_to_pfn能否在中断上下文中调用 在Linux内核中,pfn_to_page 和 phys_to_pfn 函数通常可以在中断上下文中安全调用。以下是详细分析: 1. phys_to_pfn 功能:将物理地址(phys_addr_t)转换为页帧号(Page Frame Number, PFN)。 实现:12// include/linux/pfn.h#define phys_to_pfn(phys) ((unsigned long)((phys) >> PAGE_SHIFT)) 安全性: 这是一个简单的位操作(右移 PAGE_SHIFT 位),不涉及任何锁、内存分配或复杂计算。 完全可在中断上下文中使用。 2. pfn_to_page 功能:将PFN转换为对应的 struct page 指针。 实现:依赖内核的内存模型(CONFIG_SPARSEMEM、CONFIG_FLATMEM 等),但主流实现是安全的: FLATMEM(简单系统):12// arch/arm/include/asm/memory.h#define pfn_t ...
Linux seccomp机制原理详解
发表于2025-07-17|deepseek
Linux seccomp机制原理 Linux seccomp(secure computing)是一种内核安全机制,用于严格限制进程可用的系统调用(syscalls)。它的核心目标是通过减少内核攻击面来增强安全性。当一个进程(或其子进程)进入 seccomp 模式后,它只能调用被明确允许的极少数系统调用。任何尝试调用未授权的系统调用都会立即被内核终止(默认行为)。 核心原理: 系统调用过滤: Linux 应用程序的所有特权操作(文件访问、网络通信、进程管理等)都通过系统调用请求内核服务。 攻击者常常利用程序漏洞(如缓冲区溢出)执行任意代码,并尝试调用危险的系统调用(如 execve, socket, ptrace, keyctl)来提升权限、突破沙箱或进行其他恶意操作。 seccomp 允许为进程定义一个过滤器规则集,明确指定哪些系统调用是允许的,哪些是禁止的。只有白名单上的调用才能被执行。 基于 BPF 的过滤引擎: seccomp 的现代实现(称为 seccomp-bpf)利用 Berkeley Packet Filter (BPF) 作为其过滤引擎。 开发者编写一个 ...
Linux查找全局可写文件命令
发表于2025-07-17|deepseek
利用linux find命令,帮忙写一个组合命令搜索Linux系统中全局可写文件,排除掉/proc和/sys目录 要搜索Linux系统中全局可写的文件(包括目录),同时排除 /proc 和 /sys 目录,可以使用以下组合命令: 1sudo find / -path /proc -prune -o -path /sys -prune -o ! -type l -perm -0002 -print 2>/dev/null 命令详解: sudo以管理员权限运行,确保能访问所有系统文件。 find /从根目录开始搜索。 排除目录逻辑 -path /proc -prune -o:若路径是 /proc,则跳过整个目录(-prune),否则(-o)继续后续条件。 -path /sys -prune -o:同上,跳过 /sys 目录。 筛选目标文件 ! -type l:排除符号链接(因为符号链接的权限无关紧要)。 -perm -0002:匹配其他用户(others)有写权限的文件(权限位 0002 表示 other 可写)。 输出与错误处理 ...
Linux查看文件类型命令
发表于2025-07-17|deepseek
查看文件类型的命令 在 Linux 和 Unix 系统中,查看文件类型的主要命令是 **file**。以下是详细用法: 1. 基本用法1file 文件名 示例: 1234file image.jpg# 输出:image.jpg: JPEG image data, ...file script.sh# 输出:script.sh: Bourne-Again shell script, ... 2. 查看多个文件1file file1.txt file2.png 3. 查看目录下所有文件1file * 4. 特殊选项 **-i**:显示 MIME 类型 12file -i document.pdf# 输出:document.pdf: application/pdf; charset=binary **-b**:简洁输出(不显示文件名) 12file -b archive.zip# 输出:Zip archive data, ... **-L**:跟随符号链接(查看链接指向的实际文件) 1file -L symlink 其他相关命令 **ls -l**:通过首字符识别基本类型 1 ...
Python实现JSON转Excel教程
发表于2025-07-17|deepseek
利用python实现json转execl 要将JSON数据转换为Excel文件,可以使用Python的pandas库,它提供了高效的数据处理能力。以下是详细的实现步骤: 步骤1:安装依赖库1pip install pandas openpyxl pandas:用于数据处理和Excel文件操作 openpyxl:作为Excel写入引擎(pandas依赖) 步骤2:实现代码1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253import jsonimport pandas as pdfrom pathlib import Pathdef json_to_excel(input_path, output_path, sheet_name="Sheet1", encoding="utf-8"): """ 将JSON文件转换为Excel文件 参数: i ...
利用linux find命令找到非二进制的文件,排除掉 /pro
发表于2025-07-17|deepseek
利用linux find命令找到非二进制的文件,排除掉 /proc /sys目录 服务器繁忙,请稍后再试。 利用linux find命令找到非二进制的文件,排除掉 /proc /sys目录 在Linux中,使用find命令结合file工具可以查找非二进制文件(通常是文本文件),并通过-prune选项排除/proc和/sys目录。以下是完整命令: 12345find / \( -path /proc -o -path /sys \) -prune -o -type f -exec sh -c ' for f; do file -i "$f" | grep -q "text/" && printf "%s\n" "$f" done' sh {} + 命令详解: 排除目录: \( -path /proc -o -path /sys \):匹配/proc或/sys路径。 -prune:排除这 ...
Linux memremap接口使用指南
发表于2025-07-16|deepseek
Linux memremap接口用法及示例 memremap 是 Linux 内核提供的一个函数,用于灵活地将物理地址范围映射到内核虚拟地址空间。它是对传统 ioremap 函数的增强,提供了对内存类型(如设备内存、写合并内存)的更好控制。它主要在驱动程序中用于访问设备内存(如寄存器、帧缓冲区)或特殊类型的系统内存。 核心功能: 物理到虚拟地址映射: 将给定的物理地址区域 (phys_addr, size) 映射到内核的虚拟地址空间。 内存类型控制: 通过 flags 参数指定映射的内存类型,这对访问设备内存、写合并内存或普通内存至关重要,影响 CPU 缓存行为。 替代部分 ioremap: 对于设备内存映射,memremap 通常比 ioremap 更灵活和推荐。 头文件: 1#include <linux/io.h> 函数原型: 1void *memremap(phys_addr_t phys_addr, size_t size, unsigned long flags); 参数: phys_addr:要映射的物理起始地址。 size:要映射的区域大小(字节数 ...
Linux内核mmgrab、mmdrop、mmput函数用法详解
发表于2025-07-16|deepseek
mmgrab、mmdrop mmput函数用法 在 Linux 内核开发中,mmgrab()、mmdrop() 和 mmput() 是用于管理 struct mm_struct(进程地址空间描述符)引用计数的核心函数。以下是它们的详细用法和区别: 1. mmgrab() 功能:增加 mm_struct 的用户引用计数(mm->mm_users)。 使用场景: 需要短期访问进程内存空间时(如内核线程处理用户请求)。 确保目标 mm_struct 在操作期间不被释放。 示例:123456struct mm_struct *mm = get_task_mm(task); // 获取目标任务的 mm_struct(已增加引用)if (mm) { mmgrab(mm); // 显式增加引用计数(可选,因 get_task_mm 已增加) // 安全操作 mm(如访问页表) mmput(mm); // 操作完成后减少引用} 注意: mmgrab() 仅增加计数,不检查计数是否为零。 2. mmput( ...
Linux kmap用法及示例详解
发表于2025-07-15|deepseek
Linux kmap用法及示例 kmap 是 Linux 内核中用于将高端内存(High Memory)页面临时映射到内核虚拟地址空间的 API。它在 32 位系统(地址空间有限)中尤为重要,64 位系统中通常直接使用线性映射。 核心概念 高端内存(High Memory)在 32 位 Linux 中,内核虚拟地址空间有限(通常 1GB)。当物理内存 > 896MB 时,超出部分称为高端内存,无法永久映射到内核空间,需动态映射。 kmap 作用为高端内存页面分配一个临时内核虚拟地址,使内核能访问其内容。 映射限制映射槽位有限,需及时用 kunmap 释放。 函数原型1234567#include <linux/highmem.h>// 映射页面到内核地址空间void *kmap(struct page *page);// 解除映射void kunmap(struct page *page); 使用步骤 获取目标页的 struct page*(如通过 alloc_page() 或页面缓存)。 调用 kmap(page) 获取内核虚拟地址。 通过返回的虚拟地址访 ...
Linux seccomp机制及示例代码
发表于2025-07-15|deepseek
Linux seccomp介绍及demo示例 Linux seccomp 介绍seccomp(Secure Computing Mode) 是 Linux 内核的安全机制,用于限制进程可执行的系统调用(syscalls)。通过过滤系统调用,seccomp 能有效减少内核暴露的攻击面,提升应用安全性。它有两种工作模式: 严格模式(strict mode)只允许 read(), write(), _exit(), sigreturn() 四个系统调用,其他调用会触发 SIGKILL。 过滤模式(filter mode / seccomp-bpf)使用 BPF(Berkeley Packet Filter)规则 自定义允许/禁止的系统调用,支持精细控制(如参数检查、返回错误码而非终止进程)。 示例:使用 libseccomp 的过滤模式 Demo场景说明创建一个程序,仅允许: 退出进程(exit_group) 内存分配(brk,由 malloc 触发) 向终端输出(write) 从终端读取(read) 禁止其他所有系统调用(如文件操作)。 代码实现12345 ...
seccomp异常排查与修复指南
发表于2025-07-15|deepseek
seccomp异常时的维测 遇到 seccomp(Secure Computing Mode)异常 时,通常表现为进程因违反 seccomp 规则而被内核终止(常见信号 SIGSYS 或 SIGKILL),日志中会有相关记录。以下是系统的维测步骤和关键点: 1. 确认异常现象 日志定位: 检查系统日志(/var/log/syslog、/var/log/messages 或 journalctl):12journalctl -k --grep="seccomp"grep -i "seccomp" /var/log/syslog 典型日志示例:1audit: type=1326 ... syscall=xxx ... seccomp=action=KILL ... 进程信号: 若进程崩溃,用 dmesg 或 journalctl 检查是否因 SIGSYS(非法系统调用)终止。 2. 获取触发的系统调用信息 从日志提取关键字段: syscall=:触发的系统调用号(如 231 代表 exit_group)。 arch=:CPU 架构 ...
果壳铃铛使用注意事项总结
发表于2025-07-15|deepseek
果壳铃铛有没有啥注意事项 “果壳铃铛”这个名字听起来像是一个特定品牌或产品的名称,而不是一个通用类别(比如“婴儿铃铛”或“宠物铃铛”)。因此,最准确的注意事项肯定来自产品本身的说明书或官方渠道。 不过,基于“铃铛”这个物品的常见特性,我可以给你一些通用性的注意事项和建议,无论它是给婴儿、宠物、装饰、还是其他用途: 安全第一: 小零件风险: 如果铃铛体积较小,或者上面有容易脱落的小部件(如小珠子、挂绳末端装饰等),绝对不能让婴幼儿单独玩耍,存在误吞窒息风险。同样,对喜欢啃咬物品的宠物也存在风险。 材质安全: 确认材质是否安全无毒,特别是给婴儿或宠物使用的。塑料是否有异味?金属是否容易生锈?涂料是否容易脱落被误食? 结构稳固: 检查铃铛本身是否坚固,连接部分(如挂绳、挂钩)是否牢靠,避免在使用中突然断裂或脱落造成意外(比如砸到人或宠物,或者小零件掉落)。 尖锐边缘: 检查是否有毛刺、锐利的边缘或尖角,可能划伤皮肤。 使用对象: 婴儿玩具: 如果是婴儿玩具铃铛: 务必在成人监护下使用。 选择符合婴儿玩具安全标准(如中国的GB 6675,欧盟的EN 71,美国的ASTM F963)的 ...
1…345…22
avatar
juyin
文章
324
标签
40
分类
15
最新文章
Linux 5.10内核__vfs_getxattr函数用法2025-07-30
Linux __vfs_getxattr函数用法及示例,要求不能2025-07-30
Linux内核vfs_getxattr接口不使用睡眠函数的实现2025-07-30
Linux内核接口__vfs_getxattr的用法及示例2025-07-30
Linux读取文件扩展属性方法总结2025-07-30
分类
  • Linux2
  • Linux Kernel2
  • Linux kernel1
  • Linux命令20
  • deepseek240
  • openEuler4
  • 个人1
  • 内存管理1
标签
LinuxSSHuseraddvdsoLinux Kernel内存管理virt_to_page物理地址转换TensorFlow深度学习openEulerwslopenEuler embeddedqemu社区提交安全LSM工具makefileglibc, musl一致性软件依赖命令C调试libclilog4cplus生长因子GRE协议编码风格栈溢出磁盘阵列GCCgcc插件Linux加固KASLRSELinuxMACdeepseek
归档
  • 七月 202590
  • 六月 202551
  • 五月 202557
  • 四月 202533
  • 三月 20259
  • 二月 20254
  • 一月 20251
  • 九月 20241
网站资讯
文章数目 :
324
本站访客数 :
本站总访问量 :
Copyrigh ©2016 - 2025 By juyin
Powered by Hexo Theme(Butterfly)
搜索
数据库加载中