home / kengdb / noteTb

noteTb

Table actions Table actions
  • Edit table schema

3 rows where folder_id = 36

✎ View and edit SQL

This data as json, CSV (advanced)

Suggested facets: tags, created_at (date), updated_at (date), tags (array)

id ▼ user_id content tags created_at updated_at enable pinned folder_id comment position visibility
327 1 1 # bb乐园要求 这是个我给儿子玩的服务账号 1. 用户用bb登录服务器 8.219.6.216 以后被锁定在 home/bb 目录下面,不可以更改任何此目录以外的文件 2. bb用户可以使用nginx,但是只能配置他目录下面的东西 - bb用户配置的所有nginx的路径,都必须是 bb开头,例如 leedreamer.cn/bb/xxx 3. bb可以用hermes,goose,等工具,但是只能操作他目录下面的东西 4. 我儿子用bb账户进来以后,用的hermes,goose,全都使用它自己的api key 呢?不跟我的重叠 5. 我儿子用bb账户进来以后可以安装任何软件,数据库等 [] 2026-05-15 23:38:12 2026-05-16 00:31:45 T F 36 36   0 public
328 1 1 # bb乐园chroot配置经验 - 版本:1.0.0 - 2026-05-16:Hermes - bb乐园chroot沙箱完整配置 # 事件1:SSH Chroot Jail 搭建 ## 概述 在 leedreamer.cn 服务器上为 bb 用户搭建 SSH chroot 沙箱,使用 debootstrap 构建 Ubuntu 24.04 (noble) 环境,用户登录后被锁定在 /home/bb 目录下,无法访问主机文件系统。 ## 架构 ``` 用户 bb → SSH → ChrootDirectory /home/bb ├── 完整 Ubuntu 24.04 系统 ├── /home/bb/ (bb 家目录) ├── /www/ (nginx 静态文件) └── 绑定挂载: /proc /sys /dev ``` ## 关键配置 ### SSH 配置 (/etc/ssh/sshd_config) ``` Match User bb ChrootDirectory /home/bb X11Forwarding no AllowTcpForwarding no PasswordAuthentication no ``` ### 用户映射 - 主机: bb:x:2000:2000::/home/bb/home/bb:/bin/bash - chroot内: bb:x:2000:2000::/home/bb:/bin/bash - UID必须一致,否则文件权限错乱 ### chroot目录权限 - ChrootDirectory 必须 root:root 755,sshd 拒绝非 root 拥有的目录 - bb 家目录: bb:bb 700 ### sudo - /home/bb/etc/sudoers.d/bb: bb ALL=(ALL) NOPASSWD:ALL - sudo 仅在 chroot 内生效,不影响主机 ### fstab 持久化 ``` /proc /home/bb/proc none bind 0 0 /sys /home/bb/sys none bind 0 0 /dev /home/bb/dev none bind 0 0 ``` # 事件2:家目录套娃问题修复 ## 问题 bb 家目录内存在多余的 home/ 子目录,形成 /home/bb/home/bb/ 的嵌套结构。嵌套目录中有实际使用过的数据(.bash_history、.hermes sessions、goose config等),而外层是初始模板。 ## 解决方法 1. 将嵌套层 /home/bb/home/bb/.bash_history 合并到主目录 2. 将嵌套层 .bashrc 中的路径修正($HOME/home/bb/ → $HOME/) 3. 用 rsync 合并 .hermes/、.config/goose/、.local/ 目录 4. 删除多余的 home/ 子目录 5. 修复 .bash_history 的所有者(之前操作导致变成 root:root) ## 坑 - 嵌套 .bashrc 里有 $HOME/home/bb/.local/bin 这种套娃路径,直接删目录会导致 PATH 失效 - 合并后必须修所有者,用 cat >> 追加文件会改变 owner # 事件3:Node.js 升级到 22 ## 背景 Reasonix 要求 Node ≥ 22,chroot 内初始只有 Node 18.19.1 ## 步骤 ```bash curl -fsSL https://deb.nodesource.com/setup_22.x | bash - apt-get install -y nodejs ``` ## 结果 - Node.js: 18.19.1 → 22.22.2 - npm: 9.2.0 → 10.9.7 - 注意: 升级会把旧 node 相关的 deb 包全删掉重新装 # 事件4:Reasonix Agent 安装 ## 概述 DeepSeek 原生的终端 AI 编程代理,npm 包名 reasonix,GitHub: esengine/DeepSeek-Reasonix (⭐2869) ## 安装 ```bash npm install -g reasonix ``` 安装后位于 /usr/bin/reasonix,版本 0.43.0 ## 配置 Reasonix 只需 DEEPSEEK_API_KEY 环境变量: ```bash export DEEPSEEK_API… [] 2026-05-16 00:36:03 2026-05-16 00:36:03 T F 36 36   0 public
335 1 1 # linux-jail bb乐园经验 - 版本:1.0.0 - 2026-05-16:Goose - 初始记录 # 事件 1:bb 用户 chroot 后路径套娃 ## 解决方法 ssh + chroot + shell 包装脚本 1. sshd_config 设置 `ChrootDirectory /home/bb`,用户 bb 登录后自动 chroot 到 `/home/bb` 2. `/etc/passwd` 中 bb 的 home 目录必须指向真实路径 `/home/bb`(sshd 在 chroot 前读 authorized_keys) 3. 创建包装脚本 `/usr/local/bin/chroot-bb-shell.sh`,内容:`export HOME=/root; cd /; exec /bin/bash --login` 4. bb 用户的 shell 设为该包装脚本,确保 chroot 后 `$HOME` 指向 jail 内的 `/root`(即 `/home/bb/root/`) 5. jal 内所有文件 `chown bb:bb`(bb 就是 jail 里的 root) ## 坑 sshd 的 ChrootDirectory 和 home 目录的关系 - sshd **在 chroot 之前**就要读取 `~/.ssh/authorized_keys` 做公钥认证,所以 `$HOME` 必须是外部真实路径 - chroot 后 ssd 才切换文件系统,所以 `.profile`、`.bashrc` 等要从 jail 内的路径读取 - 用 `usermod -d / bb` 会导致 ssd 在真实系统找 `/.ssh/authorized_keys` 而失败 - chroot 根目录 `/home/bb/` 必须归 `root:root` 且权限 `755`,否则 ssd 拒绝 chroot # 事件 2:jail 内用户权限不足(goose 写配置、mkdir 失败) ## 解决方法 $HOME 重定向到 /root - jail 内所有文件已经 chown 给 bb,但 `$HOME` 默认是 `/home/bb`(chroot 后不存在) - goose 读 `$HOME/.config/goose/` 写配置,路径不存在所以 `Permission denied` - 通过包装脚本将 `$HOME` 设为 `/root`(jail 内是 `/home/bb/root/`),goose 就能正常读写 - 同理 `mkdir /project` 失败是因为 chroot 根 `/` 归 root,改为进 `/project` 子目录操作 ## 坑 chroot jail 里 $HOME 必须指向存在的路径 - root 用户的 shell 包装脚本在 ssh 登录时会被 ssd 执行,权限是 bb 用户 - 如果 `$HOME` 指向一个 bb 无权限读的目录(如外部真实的 `/root`),shell 起不来 - 解决方案:jail 内的 `/home/bb/root/` 归 bb 所有,设 `$HOME=/root` 即可 # 事件 3:jail 内 nginx 与外部 nginx 协同 ## 解决方法 反向代理 + 固定端口 - 外部 nginx 监听 443/80,`location /bb/` 反向代理到 `http://127.0.0.1:8080/bb/` - jail 内再跑一个 nginx,监听 8080,负责 `/bb/` 下的路由分发 - jail 内 nginx 配置文件:`/etc/nginx/sites-enabled/bb` - 三个固定服务端口 8081/8082/8083,全留给 bb 用户自由使用 - 外部通过 `https://leedreamer.cn/bb/serverN/` 访问 ## 坑 jail 内 nginx 不能用 80/443 端口(无权限 + 被外部占用) - 用高端口 8080 做入口,8081/8082/8083 做服务端口 - jail 里 nginx 配置变化后:`nginx -t && nginx -s reload` - `sbin/nginx`、`/etc/sudo.conf`、`/etc/sudoers` 等系统文件被 chown 后 sudo 失效,需恢复 `root:root` # 事件 4:SFTP 无法连接(exit code 127) ## 解决方法 将 sftp-server 拷入 jail - ssd 的 Subsystem sftp 配置指向 `/usr/lib/openssh/sftp-server` - chroot jail 里没有这个文件,所以 SFTP 连接失败 - 从外… ["linux", "chroot", "nginx", "jail", "bb"] 2026-05-16 21:21:14 2026-05-16 21:41:24 T F 36 36   0 public

Advanced export

JSON shape: default, array, newline-delimited, object

CSV options:

CREATE TABLE "noteTb" (
                    id INTEGER PRIMARY KEY,
                    user_id INTEGER DEFAULT NULL REFERENCES userTb(id),
                    content TEXT NOT NULL DEFAULT '',
                    tags TEXT DEFAULT '[]',
                    created_at TEXT NOT NULL DEFAULT (datetime('now','localtime')),
                    updated_at TEXT NOT NULL DEFAULT (datetime('now','localtime')),
                    enable TEXT DEFAULT 'T',
                    pinned TEXT DEFAULT 'F',
                    folder_id INTEGER DEFAULT NULL REFERENCES folderTb(id),
                    comment TEXT DEFAULT '', position INTEGER DEFAULT 0, visibility TEXT NOT NULL DEFAULT 'private');
CREATE INDEX idx_note_visibility ON noteTb(user_id, visibility, enable);
Powered by Datasette · Queries took 1.2ms