tailscale/paths
Aaron Klotz 9ebb5d4205 ipn, paths: ensure that the state directory for Windows has the correct perms
ProgramData has a permissive ACL. For us to safely store machine-wide
state information, we must set a more restrictive ACL on our state directory.
We set the ACL so that only talescaled's user (ie, LocalSystem) and the
Administrators group may access our directory.

We must include Administrators to ensure that logs continue to be easily
accessible; omitting that group would force users to use special tools to
log in interactively as LocalSystem, which is not ideal.

(Note that the ACL we apply matches the ACL that was used for LocalSystem's
AppData\Local).

There are two cases where we need to reset perms: One is during migration
from the old location to the new. The second case is for clean installations
where we are creating the file store for the first time.

Updates #2856

Signed-off-by: Aaron Klotz <aaron@tailscale.com>
2021-09-22 14:50:00 -06:00
..
migrate.go ipn, paths: ensure that the state directory for Windows has the correct perms 2021-09-22 14:50:00 -06:00
paths_unix.go ipn, paths: ensure that the state directory for Windows has the correct perms 2021-09-22 14:50:00 -06:00
paths_windows.go ipn, paths: ensure that the state directory for Windows has the correct perms 2021-09-22 14:50:00 -06:00
paths.go ipn, paths: ensure that the state directory for Windows has the correct perms 2021-09-22 14:50:00 -06:00