簡體   English   中英

在Cocoa和Objective-C中使用sudo命令?

[英]Using sudo commands in Cocoa and Objective-C?

在Objective-C / Cocoa中運行類似$sudo touch folder_name$sudo rm的正確方法是什么? 我正在改變並移動幾個文件,需要提升權限。 任何代碼示例將不勝感激。 謝謝。

一種方法是使用AuthorizationExecuteWithPrivileges() ,但是對於正常的過程不鼓勵這樣做。 我收集的主要是安裝人員。

就像是:

AuthorizationRef auth = NULL;
OSStatus err = AuthorizationCreate(NULL, kAuthorizationEmptyEnvironment, kAuthorizationFlagInteractionAllowed, &auth);
err = AuthorizationExecuteWithPrivileges(auth, command, kAuthorizationFlagDefaults, args, NULL);

並添加適當的err檢查...

請參閱授權文檔。

有幾種方法可以做到這一點。 您選擇哪一個取決於您想要做什么。 最簡單和最不安全的方法是簡單地在您從代碼調用的額外幫助工具上設置s-bit,並執行需要管理員權限的操作。 查看BetterAuthorizationSample ,了解執行特權代碼的最復雜和最復雜的方法。

授權服務編程指南為您提供所需的一切。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM