ワンクリックで
dootask-fix-permission
修复 DooTask 可写目录(bootstrap/cache、docker、public、storage)的属主/权限:chown 回当前用户 + 目录 chmod 775,对齐 install 的赋权逻辑,赋权不删数据。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
修复 DooTask 可写目录(bootstrap/cache、docker、public、storage)的属主/权限:chown 回当前用户 + 目录 chmod 775,对齐 install 的赋权逻辑,赋权不删数据。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
从 `pro` 分支发布 DooTask 前端新版本:翻译 → 版本号/更新日志 → 构建 → 提交推送,刚性顺序、每步确认、失败即停。
首次部署 DooTask:前置检查后执行 `sudo ./cmd install`(建库 + migrate --seed 的重操作),刚性流程、单次确认、失败即停。
更新已部署的 DooTask:前置检查后执行 `sudo ./cmd update`(拉代码 + composer + 迁移 + 重启),本地有改动时停下交用户决定,不自动强制、失败即停。
| name | dootask-fix-permission |
| description | 修复 DooTask 可写目录(bootstrap/cache、docker、public、storage)的属主/权限:chown 回当前用户 + 目录 chmod 775,对齐 install 的赋权逻辑,赋权不删数据。 |
容器内进程常以 root 写入挂载目录(storage、public/uploads、bootstrap/cache 等),导致宿主机当前用户对这些文件没有写权限,进而触发:
./cmd install 报「目录【xxx】权限不足」/ 目录权限检测失败./cmd build(vite)报 EACCES: permission denied, copyfile(复制 public/uploads/... 时)storage/bootstrap/cache 失败本技能对齐 ./cmd install 的目录赋权逻辑:对四个可写目录做 chmod 775(目录)+ chown 回当前用户。
与 install 一致的四个:
bootstrap/cache
docker
public # 含 public/uploads(真实上传数据)
storage
public/uploads 含真实上传文件(头像、附件等)。永远优先 chown 改属主,不要删数据。 即便用户说"清理一下",也只允许清临时目录 public/uploads/tmp,切勿删 uploads 下其他内容。
cmd 且这四个目录在)public(含 public/uploads)检查通过后汇报将执行的命令,向用户确认一次再执行。
确认后执行(属主修回当前用户,目录权限 775):
# 1) 属主修回当前用户(递归)
sudo chown -R "$(id -u):$(id -g)" bootstrap/cache docker public storage
# 2) 目录权限 775(仅目录,对齐 install 的 `find -type d -exec chmod 775`)
find bootstrap/cache docker public storage -type d -exec chmod 775 {} \;
只想解 build 的 uploads 报错时,可只对
public:sudo chown -R "$(id -u):$(id -g)" public/uploads
执行后报告:改了哪些目录、属主/权限现状(可 ls -ld 抽查),并提示用户可重试之前失败的 install/build/update。
chown 报权限不足 → 当前用户无 sudo 权限,提示用户用有 root 权限的账户,或经 docker 以 root 执行;不要静默跳过| 错误做法 | 正确做法 |
|---|---|
build 报 uploads EACCES 就 rm 删文件 | chown 修属主,保留数据 |
删整个 public/uploads 清场 | 最多清 public/uploads/tmp,别碰真实上传数据 |
对文件无差别 chmod 777 | 目录 chmod 775 + chown 回当前用户即可 |
| 不加 sudo 直接 chown root 文件 | 改属主需 root |
chown 赋权,不丢数据