以特定的使用者身份執行某個程式命令

2022-09-01 15:51:21 字數 443 閱讀 5500

本文將介紹乙個控制台實用程式,在 windows nt 系統中執行,它以專門的使用者身份啟動某個程式命令。它用 windows api 函式 logonuser 程式設計,以專門的使用者身份/密碼登陸到nt。如果登陸成功,則用 createprocessasuseris 產生該使用者的專屬程序。程式執行截圖如下:

logonuser api呼叫要求呼叫者必須具備相當高階別的許可權:比如:「act as part of the operating system」,這是乙個不能隨便給出的特權,權力極大。本地管理員常常都不會有這個許可權。作為工作環境,本文介紹的實用程式因為要執行某些系統呼叫,所以要首先檢查使用者是否具備必要的特權,如果沒有這種特權則發生如下情況:

這樣做是能行得通的,因為系統賬號具有高階特權,同時,本地管理員組有安裝服務的許可權,實用程式的使用說明可以在命令列敲入程式名,不用帶引數,然後回車。

源**還包含如下的技術內容:

c 程式以管理員身份執行

1.在專案中新增清單檔案,如圖 清單檔案預設內容應該是這樣的 如果要更改 windows 使用者帳戶控制級別,請用以下節點之一替換 requestedexecutionlevel 節點。指定 requestedexecutionlevel 節點將會禁用檔案和登錄檔虛擬化。如果要利用檔案和登錄檔虛擬化...

winfrom以管理員身份執行程式

最近伺服器sqlserver記憶體佔用率總是超高,每次手動重啟伺服器太麻煩,於是寫乙個自動跑的程式,去檢查記憶體使用率,如果sqlserver記憶體占用超過一定數值,就將其關閉,重新啟動。測試的時候遇到的第乙個問題就是,程式寫好了,但是不能關閉服務,並報出 無法啟動 的異常,猜測可能是使用者許可權不...

限制使用者執行特定的命令

1 有些特定的需求下面可能要限制某些使用者能執行的命令 在root使用者下操作 建立乙個目錄,放在 下面 mkdir allow commands 新增乙個受限的使用者 adduser connect echo 123456 passwd stdin connect 取消使用者的執行命令許可權 se...