A怪問題發生使用NSHomeDirectory,使用NSHomeDirectory作爲根
NSString *homeDirectory = NSHomeDirectory();
NSLog(@"homeDirectory is: %@",homeDirectory);
作爲標準用戶homeDirectory
是/User/Paul
,但是當將應用程序作爲運行根的homeDirectory
的值現在爲/var/root
。
這是一個錯誤,或者當用戶是root用戶時它被認爲是正常的? 我如何總能找到最初啓動我的應用程序並獲得root權限的「標準用戶」的主文件夾的位置?
感謝您的回覆。有問題的應用程序位於另一個應用程序的「插件」文件夾內。主應用程序使用帶有「管理員特權」的NSAppleScript調用其可執行文件。一切都好,但我發現這個問題。如果「我們」知道路徑,您認爲根可以總是找到(並且工作)在不同用戶的文件夾上嗎? – Mike97
是的,但正如dabaus所說,並且正如我所說:默認情況下,新文件/目錄屬於root用戶 –
Root是超級用戶,因此以root身份運行的應用程序應該可以訪問受unix文件權限保護的所有內容。 – Dabaus