这些Windows环境变量的含义是什么:
HOMEDRIVE,
HOMEPATH,
HOMESHARE,
和USERPROFILE?
谁设定了它们?什么时候?谁使用它们?为了做什么?
samba服务器的配置如何修改这些变量?
HOMEDRIVE
/ HOMEPATH
是用户的个人文件所在的位置:下载,音乐,文档等.
HOMESHARE
HOMEDRIVE
如果主目录使用UNC路径,则使用它.
USERPROFILE
用于存储用户的应用程序和操作系统配置文件以及个性化设置.它包括本地和漫游(Active Directory)文件夹.似乎人们比HOMEPATH
现在更喜欢使用它.
重要的是要注意虽然HOMEDRIVE
/ HOMEPATH
通常是相同的路径USERPROFILE
,但情况并非总是如此.
我不认为Samba会修改这些.它可能会利用它们来提供初始(主页)目录.Active Directory可能会更改它们.
参考文献:
[死链接] Windows NT中的环境变量
如果我定位多个操作系统版本,我应该在哪里存储我的数据和配置文件?
USERPROFILE
设置由userenv!LoadUserProfileW
何时加载用户的配置文件(HKEY_USERS\
配置单元).
这通常在第一次为用户启动进程时发生.
如果您特意安排不加载配置文件(例如,使用/noprofile
了runas
),那么过程在运行Default User
仍然有这个变量设定曲线-因为此刻它在系统启动时加载.
HOMEDRIVE
,HOMEPATH
和HOMESHARE
(以及其他几个变量)的设置由shell32!RegenerateUserEnvironment
Explorer初始化1调用.它们被放置在(易失性)HKCU\Volatile Environment
键中,该键在易失性状态下持续存在,直到配置文件卸载为止.
因此,仅在用户登录其桌面会话时设置它们.不适用于辅助登录或服务.
难怪人们USERPROFILE
现在更喜欢.
对于HOMEPATH
要设置,SYSTEM
必须为配置文件的目录权限(它们是最初设置的,当然,但与Cygwin的玩耍时如可能消失chmod
).
1 该代码还设置了一些已经设置的变量userenv
.这表明这是一个较旧的代码,自NT4天以来一直存在.配置文件和主路径之间的区别 - 服务器故障确认.