# NAS OS — 轻量级 NAS 操作系统

基于 Debian 12 的轻量级 NAS 操作系统，提供文件存储、网络共享、用户管理和 Web 管理面板。

## 技术栈

| 层级 | 技术 |
|------|------|
| 基础系统 | Debian 12 (裁剪版) |
| 后端框架 | Python 3.11 + FastAPI |
| 前端 | Vue 3 + 原生 JavaScript |
| 数据库 | SQLite 3 + Redis |
| 文件共享 | Samba + NFS |
| 进程管理 | systemd |

## 快速开始

### 系统要求
- Debian 12 (或 Ubuntu 22.04+)
- Python 3.11+
- 至少 1GB RAM
- root 权限

### 一键安装

```bash
git clone https://github.com/example/nas-os.git
cd nas-os
sudo bash scripts/install.sh
```

安装完成后访问 `http://<设备IP>:80`，默认管理员账户 `admin` / `admin123`。

### 开发环境

```bash
python3 -m venv venv
source venv/bin/activate
pip install -r src/requirements.txt
cd src
uvicorn main:app --reload --host 0.0.0.0 --port 8000
```

## 项目结构

```
nas-os/
├── src/
│   ├── main.py              # FastAPI 应用入口
│   ├── config.py            # 配置管理
│   ├── requirements.txt     # Python 依赖
│   ├── api/                 # API 路由层
│   │   ├── __init__.py
│   │   ├── disk_routes.py   # 磁盘管理
│   │   ├── share_routes.py  # 共享管理
│   │   ├── user_routes.py   # 用户管理
│   │   └── health_routes.py # 健康检查
│   ├── services/            # 业务逻辑层
│   │   ├── __init__.py
│   │   ├── disk_manager.py  # 磁盘管理
│   │   ├── samba_manager.py # SMB 管理
│   │   ├── nfs_manager.py   # NFS 管理
│   │   └── user_manager.py  # 用户管理
│   ├── auth/                # 认证授权
│   │   ├── __init__.py
│   │   ├── jwt_handler.py   # JWT 管理
│   │   ├── dependencies.py  # FastAPI 依赖
│   │   └── user_manager.py  # PAM 认证
│   ├── core/                # 核心工具
│   │   ├── __init__.py
│   │   ├── command.py       # 命令执行器
│   │   └── fs_utils.c       # C 文件系统工具
│   └── static/              # 前端静态文件
│       ├── index.html
│       ├── css/
│       └── js/
├── scripts/                 # 部署脚本
│   ├── install.sh           # 一键安装
│   ├── harden.sh            # 安全加固
│   ├── uninstall.sh         # 卸载
│   └── backup.sh            # 配置备份
├── tests/                   # 测试
│   ├── unit/
│   ├── integration/
│   └── e2e/
├── docs/                    # 文档
│   ├── api.md
│   ├── architecture.md
│   └── deployment.md
└── README.md
```

## 核心功能

- 💾 **磁盘管理**: 发现、挂载、RAID、SMART 监控
- 📡 **文件共享**: SMB/CIFS、NFS 配置与管理
- 👤 **用户系统**: 本地用户/组、PAM 认证、磁盘配额
- 🖥️ **Web 面板**: 仪表盘、存储管理、共享管理、用户管理

## 安全特性

- JWT 认证（24h 过期）
- API 限流
- 路径遍历防护
- 命令注入防护
- 防火墙自动配置
- SSH 加固

## 许可证

MIT License
