你可以嘗試設置setuid的位,並更改文件的所有者爲root:
sudo chown root /Applications/Hot\ Dog.app/Contents/MacOS/Hot\ Dog
sudu chmod 4755 /Applications/Hot\ Dog.app/Contents/MacOS/Hot\ Dog
第一行設置的熱狗應用程序屬於根。 第二行設置setuid位,即使其他用戶啓動了應用程序,它也會以其所屬用戶的身份運行。
據我所知Mac OS不允許在shell腳本上使用setuid。
但是,您應該注意,這會更改熱狗應用程序的權限,並且更改是永久性的。誰有權訪問此應用程序並嘗試運行它將以管理員權限運行它。如果你是這臺電腦的唯一用戶,你應該可以,但如果這是一個多用戶機器,並且應用程序確實有潛在危險,你應該知道每個人都可以使用它。
您可以通過定義自定義組衝擊漲停,說熱狗,把自己這一組中,並使用來代替:
sudo chown root:hotdog /Applications/Hot\ Dog.app/Contents/MacOS/Hot\ Dog
sudu chmod 4750 /Applications/Hot\ Dog.app/Contents/MacOS/Hot\ Dog
第一行設置文件的所有權轉讓給根用戶和熱狗組。第二個允許所有者(根)和誰在熱狗組中執行,而不是其他人。它還設置setuid位,這意味着應用程序將以管理員權限運行,即使非管理員運行它。
謝謝,我會試一試,雖然是權限更改永久或只是在腳本運行的生命週期? –
更改是永久性的。我會用更多信息編輯我的帖子。 – vlad
感謝您的簡要解釋,非常感謝。我試着改變setuid,它確實有效。定義一個自定義組的好主意 - 我絕對總是厭倦給予任何root權限;這是一個很大的禁忌。再次感謝! ;-) –