Windows 多用户之间如何共享软件设置数据 (AppData) ?

2022-08-07 11:54:57 +08:00
 Biwood

我的 Windows10 现在有两个用户,用户 A 和用户 B ,用户 A 是管理员账户,安装了一些软件可以多用户共用。用户 B 是普通账户,虽然可以直接打开用户 A 安装的软件,但是设置都是全新的。我查了下,用户 A 的应用设置数据应该都在 C:\Users\UserA\AppData\Local 这个目录下,请问有什么策略可以把这里的数据直接共享给其他用户吗?

2510 次点击
所在节点    Windows
12 条回复
singerll
2022-08-07 12:56:53 +08:00
把软件装到非 user 文件夹
codehz
2022-08-07 13:08:26 +08:00
你要用来隔离就不能这样用,不然普通用户可以一键获得管理员用户的权限)
Biwood
2022-08-07 13:50:45 +08:00
@singerll 安装位置一般是 C:\Program Files 目录,这个是没问题的,主要是配置数据默认被隔离了

@codehz 当然,也不是让其他人直接访问管理员的数据,而是提供一个公共访问的根目录,类似 Linux 中的 /etc 或者 /usr/share
codehz
2022-08-07 14:05:04 +08:00
@Biwood 程序自己决定写到 appdata 的话基本没啥官方方法去让他写别的地方,可以考虑用 portable 版
h404bi
2022-08-07 14:07:25 +08:00
你想共享的这些数据是 immutable 的还是 B 可写的,如果是可写的这样用有风险,B 可以写入危险数据让管理员 A 进行交互。如果是 immutable 的,安装时把共享的数据放在 %ProgramData% 下就行,不过这取决于软件对这个的支持。
Biwood
2022-08-07 14:08:12 +08:00
@codehz 嗯,目前有部分用 portable 版可以正常用,其他的得去找找官方有没有提供,实在不行只能手动复制一份 AppData 过去了
mcone
2022-08-07 14:28:26 +08:00
管理员把对应的 appdata 给 mklink 出去,再 mklink 给对应的用户名下就行了

不过这样做风险其实挺大的,除非两个用户都是你在用……
codehz
2022-08-07 17:38:48 +08:00
(考虑到某些程序可能是读取环境变量的,所以可以考虑修改环境变量 appdata localappdata 来实现,还不行就得 hook 了(
hez2010
2022-08-07 23:49:58 +08:00
全局的程序数据在 C:\ProgramData 这个隐藏文件夹里
aflynoob
2022-08-08 00:05:57 +08:00
用软连接映射到 onedrive 。只不过配置时候用不同的用户目录而已,onedrive 记得别放用户目录里了。
cnbatch
2022-08-08 02:15:24 +08:00
C:\Users\Public 这个文件夹内的目录及其子目录,是所有用户都能使用的,有写权限。
基于此,有个思路也许可以试试,可以避免 mklink 到管理员的账户文件夹,但又能大家一起用。

首先,在 Public 文件夹内创建一个新目录,例如叫做 C:\Users\Public\NewData 。
接着,把软件在 AppData\Local 的数据文件夹剪切到它里面去。假设原数据是在 C:\Users\UserA\AppData\Local\SoftwareData ,那就把 SoftwareData 转移到 NewData 那里,变成 C:\Users\Public\NewData\SoftwareData 。
然后使用 mklink ,把 C:\Users\Public\NewData\SoftwareData 软链接到各个用户的 AppData\Local 里面去。

这样一来,大家都可以共享软件数据,但又能继续隔离权限。
nothingistrue
2022-08-08 09:16:37 +08:00
shell:Common AppData , %ProgramData% , 即 C:\ProgramData ,是放共享程序文件的目录

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/871215

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX