Table of Contents
我是 Emacs 的 org 重度用户,一直以来希望在各个平台上都能用上 Emacs 的 org ,也在使用 org 过程中研究了一些相关的技术。
1. 同步
- Emacs 环境同步:各个平台 Emacs 的编译, doom emacs 的配置同步,自建 git server, 使用 cloudflare 进行 ssh 服务穿透等
- org 环境同步:在 PC 和 MacOS 上使用相同选项编译的同 doom 配置的 Emacs , android 设备上使用 orgzly , ios 上使用 beorg
- 文件同步: syncthing 在个人设备间同步; apache httpd dav 对某些 org 文件的同步
2. 加密
- gpg-agent 服务,以及主密钥子密钥的管理
- ubikey 的移动密钥
但在使用 webdav 进行移动设备和服务器 org 同步时,发现在使用过程中,移动设备上传 org 文件到 webdav 服务器上时,会将文件覆写成 http:http
的权限,导致同步后,服务器使用 Emacs 可以浏览但是无权限编辑。
即使将当前主用户加入到 http
用户组也没用。因为 apache httpd 会将文件设置成 http 用户组只有 read 权限。
3. 使用 setfacl
设置目录在不同用户间共享
最终使用 chattr
设置了目录的特殊权限,丝滑实现了目录的共享。
#给两个用户都设置读写执行权限: sudo setfacl -m u:wd:rwx /srv/http/dav/org sudo setfacl -m u:http:rwx /srv/http/dav/org #如果还希望子文件和子目录自动继承 ACL: sudo setfacl -d -m u:wd:rwx /srv/http/dav/org sudo setfacl -d -m u:http:rwx /srv/http/dav/org #查看结果: getfacl /srv/http/dav/org
权限细节如图: