以非 root 用户运行(强烈推荐)#
在部署 Syncthing 时,不建议使用 root 用户运行。
原因如下:
- root 权限过高,一旦配置错误可能影响整个系统
- 同步过程中可能误操作系统目录(如
/etc、/var) - 文件权限容易混乱,后期维护成本高
实际运维中,使用独立用户运行是标准做法
创建用户
1
| useradd -m -s /usr/sbin/nologin syncthing
|
说明:
-m:自动创建用户目录
-s /usr/sbin/nologin:禁止该用户登录系统(提升安全性)
这个用户仅用于运行 Syncthing 服务,不用于登录
使用 syncthing 启动 Syncthing 服务
1
| systemctl enable --now syncthing@syncthing
|
首次启动后,Syncthing 会自动初始化配置目录:
1
| /home/syncthing/.local/state/syncthing/
|
该目录包含:
- config.xml(主配置文件)
- 设备证书(身份认证)
- 同步索引数据
建议不要手动删除或随意修改此目录内容
(可选) 配置WEB监听地址或端口#
默认情况下,Syncthing 的 Web 管理界面仅监听:
这意味着:
只能通过本机访问(更安全)
如果你需要远程访问(例如跨服务器管理),可以修改配置文件:
1
| vi "/home/syncthing/.local/state/syncthing/config.xml"
|
找到:
1
| <address>127.0.0.1:8384</address>
|
修改为:
1
| <address>0.0.0.0:8384</address>
|
表示监听所有网络接口的TCP 8384端口。
(可选)为 Syncthing 用户设置目录权限#
为了确保 Syncthing 可以正常读写同步目录,需要正确设置权限.
例如: 需要同步 /site 目录
1
| chown -R syncthing:syncthing /site
|
说明:
- Syncthing 不会自动提升权限
- 所有文件操作都以运行用户身份执行
如果权限不正确,可能出现:
- 文件无法同步
- 无法删除文件
- 同步报错(permission denied)
运维建议:
- 同步目录尽量统一归属 syncthing 用户
- 避免多个用户同时写入同一目录
- 特别是在 “Receive Only” 场景下,避免人为修改文件