Share permission between Apache/httpd and common user

Table of Contents

我是 Emacs 的 org 重度用户,一直以来希望在各个平台上都能用上 Emacs 的 org ,也在使用 org 过程中研究了一些相关的技术。

1. 同步

  1. Emacs 环境同步:各个平台 Emacs 的编译, doom emacs 的配置同步,自建 git server, 使用 cloudflare 进行 ssh 服务穿透等
  2. org 环境同步:在 PC 和 MacOS 上使用相同选项编译的同 doom 配置的 Emacs , android 设备上使用 orgzly , ios 上使用 beorg
  3. 文件同步: syncthing 在个人设备间同步; apache httpd dav 对某些 org 文件的同步

2. 加密

  1. gpg-agent 服务,以及主密钥子密钥的管理
  2. ubikey 的移动密钥

但在使用 webdav 进行移动设备和服务器 org 同步时,发现在使用过程中,移动设备上传 org 文件到 webdav 服务器上时,会将文件覆写成 http:http 的权限,导致同步后,服务器使用 Emacs 可以浏览但是无权限编辑。 即使将当前主用户加入到 http 用户组也没用。因为 apache httpd 会将文件设置成 http 用户组只有 read 权限。

3. chattr

最终使用 chattr 设置了目录的特殊权限,丝滑实现了目录的共享。