SECURITY_ATTRIBUTES 實現最低權限的問題

SECURITY_ATTRIBUTES 實現最低權限 主要用於多進程之間共享數據空間的句柄的權限設置,
若高權限 進程 設置默認值 NULL,對於低權限進程來說 可能無法讀取。

參考文章
windows中以最低權限(SECURITY_ATTRIBUTES)創建內核對象

創建一個比EveryOne SECURITY_ATTRIBUTES更開放的安全屬性

實現代碼

            HANDLE CreateLocalShareMen()
            {

                HANDLE hMapFile;
                SECURITY_ATTRIBUTES SecAttr;
                SECURITY_DESCRIPTOR SecDesc;

                SecAttr.nLength = sizeof(SecAttr);
                SecAttr.bInheritHandle = FALSE;
                SecAttr.lpSecurityDescriptor = &SecDesc;

                InitializeSecurityDescriptor(&SecDesc, SECURITY_DESCRIPTOR_REVISION);
                SetSecurityDescriptorDacl(&SecDesc, TRUE, 0, FALSE);


                hMapFile = CreateFileMapping(INVALID_HANDLE_VALUE, &SecAttr, PAGE_READWRITE, 0, TALK_LYNC_SHAREMEN_SIZE, TALK_LYNC_SHAREMEN);
                if(hMapFile == NULL)
                {
                    ErrLogW("get provity error : %d",GetLastError());
                }

                return  hMapFile;
            }
發佈了23 篇原創文章 · 獲贊 15 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章