Skip to content

Commit

Permalink
创建 README.MD
Browse files Browse the repository at this point in the history
  • Loading branch information
LIghtJUNction committed Oct 4, 2024
1 parent 60fcd27 commit 247cfe4
Showing 1 changed file with 61 additions and 0 deletions.
61 changes: 61 additions & 0 deletions kernel/README.MD
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# KernelSU 项目说明文档

## 项目简介

KernelSU 是一个用于增强 Linux 内核功能的项目。它通过添加各种钩子和管理功能,提供了对系统权限和安全策略的更细粒度控制。

## 文件结构

### 1. `ksu_hook.h`

该头文件定义了多个函数接口,用于处理不同的系统调用和事件。这些接口包括:

- `ksu_handle_faccessat`:处理文件访问权限检查。
- `ksu_handle_stat`:处理文件状态获取。
- `ksu_handle_vfs_read`:处理虚拟文件系统的读取操作。
- `ksu_handle_execveat`:处理执行文件的系统调用。
- `ksu_handle_input_handle_event`:处理输入事件。

### 2. `allowlist.c`

该文件实现了一个允许列表机制,用于管理哪些用户 ID (UID) 被允许执行特定操作。主要功能包括:

- 初始化默认配置文件。
- 从允许列表中移除特定 UID。
- 获取和设置应用程序配置文件。
- 检查 UID 是否应该卸载。

### 3. `core_hook.c`

该文件实现了核心钩子功能,用于拦截和处理各种系统事件。主要功能包括:

- 检查当前用户是否被允许执行特定操作。
- 设置用户组信息。
- 设置用户权限和能力。
- 处理安全策略。

## 使用方法

1. **编译和安装**:按照标准的 Linux 内核模块编译和安装方法进行操作。
2. **配置文件**:根据需要修改配置文件,以适应特定的安全策略和权限管理需求。
3. **加载模块**:使用 `insmod` 命令加载编译好的内核模块。

## 注意事项

- 确保在修改和加载内核模块之前,备份当前系统配置。
- 详细阅读每个文件中的注释,以理解各个函数和宏的具体作用。
- 测试环境中进行充分测试,确保不会对生产环境造成影响。

## 贡献

欢迎对 KernelSU 项目进行贡献。请遵循以下步骤:

1. Fork 本仓库。
2. 创建一个新的分支 (`git checkout -b feature-branch`)。
3. 提交你的修改 (`git commit -am 'Add new feature'`)。
4. 推送到分支 (`git push origin feature-branch`)。
5. 创建一个 Pull Request。

## 联系我们

如果有任何问题或建议,请通过 GitHub Issues 与我们联系。

0 comments on commit 247cfe4

Please sign in to comment.