mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2025-04-19 08:26:14 +00:00
Windows file permissions fix (#1887)
This commit is contained in:
parent
8d74d34f2a
commit
cc4251c5b7
21
one.cpp
21
one.cpp
@ -2235,6 +2235,27 @@ int main(int argc,char **argv)
|
||||
}
|
||||
}
|
||||
|
||||
// Check and fix permissions on critical files at startup
|
||||
try {
|
||||
char p[4096];
|
||||
OSUtils::ztsnprintf(p, sizeof(p), "%s" ZT_PATH_SEPARATOR_S "identity.secret", homeDir.c_str());
|
||||
if (OSUtils::fileExists(p)) {
|
||||
OSUtils::lockDownFile(p, false);
|
||||
}
|
||||
}
|
||||
catch (...) {
|
||||
}
|
||||
|
||||
try {
|
||||
char p[4096];
|
||||
OSUtils::ztsnprintf(p, sizeof(p), "%s" ZT_PATH_SEPARATOR_S "authtoken.secret", homeDir.c_str());
|
||||
if (OSUtils::fileExists(p)) {
|
||||
OSUtils::lockDownFile(p, false);
|
||||
}
|
||||
}
|
||||
catch (...) {
|
||||
}
|
||||
|
||||
// This can be removed once the new controller code has been around for many versions
|
||||
if (OSUtils::fileExists((homeDir + ZT_PATH_SEPARATOR_S + "controller.db").c_str(),true)) {
|
||||
fprintf(stderr,"%s: FATAL: an old controller.db exists in %s -- see instructions in controller/README.md for how to migrate!" ZT_EOL_S,argv[0],homeDir.c_str());
|
||||
|
@ -257,6 +257,16 @@ void OSUtils::lockDownFile(const char *path,bool isDir)
|
||||
CloseHandle(processInfo.hProcess);
|
||||
CloseHandle(processInfo.hThread);
|
||||
}
|
||||
|
||||
// Remove 'Everyone' group from R/RX access
|
||||
startupInfo.cb = sizeof(startupInfo);
|
||||
memset(&startupInfo, 0, sizeof(STARTUPINFOA));
|
||||
memset(&processInfo, 0, sizeof(PROCESS_INFORMATION));
|
||||
if (CreateProcessA(NULL, (LPSTR)(std::string("C:\\Windows\\System32\\icacls.exe \"") + path + "\" /remove:g Everyone /t /c /Q").c_str(), NULL, NULL, FALSE, CREATE_NO_WINDOW, NULL, NULL, &startupInfo, &processInfo)) {
|
||||
WaitForSingleObject(processInfo.hProcess, INFINITE);
|
||||
CloseHandle(processInfo.hProcess);
|
||||
CloseHandle(processInfo.hThread);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user