題:
有沒有辦法用密碼保護單個應用程序?
Pierre Watelet
2011-05-12 15:11:42 UTC
view on stackexchange narkive permalink

是否可以用密碼保護特定的Mac應用程序?

例如,我對保護郵件感興趣,因為即使您無法檢索新電子郵件,您仍然可以閱讀所有已收到的電子郵件。 / p>

這不是關於安全性的問題。這是關於在家庭中共享設備。我沒有重要信息。我只是想避免我的女兒或兒子從我的帳戶中意外發送電子郵件或阻止他們閱讀其中的一些郵件。

這聽起來像[XY問題]的示例(http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。您想防止別人窺探您的電子郵件(X),所以您要詢問如何保護電子郵件程序(Y)。您真正想問的是“保護我的電子郵件免遭監聽的最佳方法是什麼?”的答案是,最好是完全防止未經授權的用戶使用您的帳戶-例如,要求密碼停用屏幕保護程序或從睡眠狀態喚醒系統後。
支持@Austin's評論。即使您停止打開Mail.app,也沒有阻止某人訪問您的電子郵件。 Mail.app將您的電子郵件以明文形式保存在磁盤上的“〜/ Library / Application Support”中-如果有人想要您的電子郵件,他們會知道只是從那裡抓取文件並從中取出文件。
@Ian我相信純文本`.emlx`文件實際上位於`〜/ Library / Mail`中,但是您的觀點是正確的。
This is also like the parable about sending an armored truck to deliver cash to a homeless person that sleeps in a cardboard box. Yes, the cash is more secure in transit, but it's plain to see the cash will soon be unprotected and easily taken.
@Everybody:這不是關於安全性的問題。這是關於在家庭中共享設備。我沒有重要信息。我只是想避免我的女兒或兒子從我的帳戶中意外發送電子郵件或阻止他們閱讀其中的一些電子郵件。
That makes it so much clearer - just reading the bare words, this took on a lot of ramifications you simply don't have with children and accidents. I'm curious if in this case, you just set them up their own accounts or used my suggestion to parental control some of the apps on your account... (Or just answer this yourself - you can say what you chose, and people won't likely keep trying to help make answers better assuming you were still looking for a solution)
→Rabskatran:您的問題是一個基本的安全問題。您的需求是一個基本需求:控制誰可以讀取您的文件(包括存儲的電子郵件)。如果我正確地猜到了您的問題problem,我將投票給Mike的建議:**每個人一個賬戶**!免費: )。
十二 答案:
Jason Salaz
2011-05-13 03:04:51 UTC
view on stackexchange narkive permalink

關於您對Paul的回答的評論,想離開計算機一會兒:您必須鎖定計算機。

打開“系統偏好設置”,單擊“安全性”(第一行,倒數第二個選項),在“常規”選項卡下,選中“睡眠或屏幕保護程序啟動後立即輸入密碼”框。

然後,當您離開計算機時;

Ctrl ⌃ kbd> + Shift⇧ kbd> + 彈出⏏ kbd>

(其他說明:單擊上面的行。)

鎖定Mac。走開。回來,輸入密碼解鎖。安全的控制台。

+1保羅是第一個在自己的回答下方的評論中提及此問題的人,但是由於他尚未將其整合到自己的回答中,因此我將對此表示贊成。我希望我可以給+3,因為您必須鎖定計算機。期間。
-1,因為這是對所提問題的答案。OP明確要求密碼保護多用戶帳戶中的單個應用。另一種情況:還有另一位管理員可以輕鬆地重置您的密碼,並以您的身份登錄並訪問所有應用程序。
我在第一句話中談到了這一點。另外,如果還有另一個本地管理員帳戶,則無法用密碼保護應用程序遠離它們。只是不可能。
Paul R
2011-05-12 15:13:21 UTC
view on stackexchange narkive permalink

您可以僅在帳戶上設置家長控制,然後確定可以使用哪些應用。

您也可以在屏幕保護程序上設置密碼,並定義合適的“熱點”以激活屏幕保護程序-這樣,當您離開計算機時,只需將鼠標移至熱角即可有效鎖定屏幕,從而需要輸入密碼才能訪問屏幕。

不,我希望能夠讓計算機保持一會兒登錄狀態,並確保例如沒有人能夠閱讀我收到的電子郵件(如果尚未啟動郵件)。但更籠統地說,在我不在的時候,沒有人能夠啟動應用程序,製作東西並退出。
在這種情況下,只需在屏幕保護程序中設置一個“熱點”,然後要求輸入密碼才能退出屏幕保護程序。當您離開Mac時,請將鼠標推入熱角以鎖定屏幕。
或將屏幕保護程序的超時時間設置為短-郵件不一定是您要隱藏的唯一應用程序
因此無法在應用程序上設置密碼...
我敢肯定有一個應用程序可以為您做到這一點。您也可以將應用程序鎖定給計算機上的其他用戶,如果以正確的方式設置權限,則必須先進行身份驗證才能運行該應用程序。我認為。
@Paul +1我建議編輯有關直接在您的答案中設置受密碼保護的屏幕保護程序的好建議。
Kelvin
2011-05-12 22:16:31 UTC
view on stackexchange narkive permalink

可以使用腳本。

首先,應在OS X菜單欄中啟用腳本菜單。在此處閱讀“腳本菜單”部分:啟用腳本菜單

現在打開您的Library / Scripts文件夾,並使用以下內容創建一個名為“ run_with_password.rb”的文件(更改“ johndoe”作為您的用戶名):

 #!/ usr / bin / env ruby​​#以較低的特權運行應用程序需要'etc'需要'find'#注意:具有sudo訪問權限的任何人都可以以該用戶身份運行。但是他們仍然可以這樣做。#在終端上運行'id'以找出您的用戶名。RUN_USER ='johndoe'def get_root_info root_entry = Etc.getpwnam('root')返回root_entry.uid,root_entry.gidendROOT_UID,ROOT_GID = get_root_infodef sure_root Process.uid = ROOT_UID Process.gid = ROOT_GIDenddef print_user_info [[:uid,Process.uid],[:gid,Process.gid],[:euid,Process.euid],[:egid,Process.egid] ,] .each做| arr | $ stderr.puts arr.inspect endenddef set_effective(euid,egid)$ stderr.puts“設置對#{[euid,egid] .inspect}有效”,如果$ DEBUG#必須先設置組Process.egid = egid Process.euid = euidenddef do_privileged(&block)orig_euid = Process.euid orig_egid = Process.egid開始$ stderr.puts如果“ $ DEBUG set_effective(ROOT_UID,ROOT_GID)產生orig_euid,orig_egid特權,則“提升特權”,orig_egid確保$ sterr.puts低” (orig_euid,orig_egid)endend#必須在設置ROOT_UID,ROOT_GID之後調用setdef chmod_files_in_dir(mode,dir)mode_str = null case mode,當Integer mode_str ='%o'%mode時,當string mode_str = mode時,否則引發TypeError Find.find(dir){|條目|如果File.directory?(entry)和條目!= dir Find.prune#不遞歸到子目錄elsif File.file?(entry)$ stderr.puts“ chmod#{mode_str}#{entry}”如果$ DEBUG系統'chmod',mode_str,進入結束}結束
#假設dir由root擁有,則可執行文件也屬於該目錄。如果File.stat(dir).uid == ROOT_UID do_privileged(&chmod_proc)否則chmod_proc.call endenddef main(argv)#重要提示:如果我們沒有以root用戶身份運行,這將中止。 sure_root app_path = argv.shift或引發“ .app文件的所需路徑,例如/Applications/Mail.app” app_macos_dir = File.join(app_path,'Contents / MacOS')File.directory?(app_path)或引發“#{ app_path}不是應用程序捆綁包“ File.directory?(app_macos_dir)或引發”#{app_path}捆綁包沒有預期的MacOS結構“ pw_entry = Etc.getpwnam(RUN_USER)run_uid = pw_entry.uid run_gid = pw_entry.gid $ DEBUG $ stderr.puts [:run_uid,run_uid] .inspect $ stderr.puts [:run_gid,run_gid] .inspect print_user_info end#如果$ DEBUG print_user_info end開始chmod_files_x(' ,app_macos_dir)#'open'是異步的,因此確保將在應用退出之後和之前立即運行。 $ stderr.puts“正在運行的應用程序:#{app_path}”如果$ DEBUG系統“打開”,則app_path確保chmod_files_in_dir('-x',app_macos_dir)endendif __FILE__ == $ 0 $ DEBUG = false main(ARGV)end  

接下來,啟動腳本編輯器並粘貼此代碼(再次將johndoe更改為您的用戶名):

 執行shell腳本“ ruby​​ / Users / johndoe / Library / Scripts /具有管理員權限的run_with_password.rb /Applications/Mail.app“  

將文件另存為“ mail_with_password”,保存到庫/腳本中,並確保文件格式為“腳本”。

現在,“ mail_with_password”將出現在腳本菜單中。每次您運行它時,它都會要求您輸入密碼(就像某些安裝程序一樣)。完成運行後,它將禁用對常規Mail應用程序的訪問。因此,請運行一次腳本,然後嘗試運行郵件應用程序。它不會運行。請注意,這意味著將禁止您計算機上的所有用戶直接運行Mail,而不僅僅是您的用戶。

如果您想讓Mail重新正常運行,請在終端上運行以下命令:

  sudo chmod + x /Applications/Mail.app/Contents/MacOS/Mail代碼> 

您也許可以省略“ sudo”。如果收到“不允許操作”,請使用sudo。請注意,sudo會要求您輸入密碼以允許特權操作。

注意事項

  1. 如果不需要“ sudo”命令上面的步驟來執行chmod,這意味著精明的用戶也許能夠弄清楚如何再次啟用Mail應用程序。您可以通過將MacOS / Mail文件的所有者更改為root來加強安全性。
  2. 如果有人能夠將Mail應用程序複製到您的計算機上(例如通過USB驅動器),他們仍然可以訪問您的郵件。
  3. ruby腳本適用於大多數OS X應用程序捆綁包。我不建議調整ruby腳本,除非您真的知道自己在做什麼,因為它以root用戶(特權用戶)的身份在做某些事情。調整applescript代碼應該是無害的;但是您應該知道如何調整chmod命令以使您的應用程序再次直接可運行。
  4. 如果applescript文件中應用程序的路徑包含空格或其他特殊字符,則必須執行類似的操作在整個路徑中使用單引號。
  5. 編輯:Austin用戶建議此過程不保護.emlx文件。我實際上不使用郵件應用程序,因此我對數據存儲不熟悉。類似的問題適用於所有應用程序-因為此解決方案不會隱藏用戶數據。
  6. ol>

    Paranoia

    如果知道ruby的人可以訪問您的登錄用戶,則他們可以通過某種方式修改ruby腳本,從而在運行腳本時造成各種破壞,因為該腳本在一部分時間內作為root用戶運行。如果您認為這可能發生,則應使腳本只能由root用戶寫入。您還必須確保不會有人用自己的腳本替換腳本-如果您可以寫該文件夾,則他們可以這樣做。如果您開始對這些警告感到害怕並且不知道如何保護自己,則可能應該忘記此解決方案,而只記得在離開計算機時鎖定屏幕即可。

哇,4小時內有3票贊成票?我沒想到會有太多的人使用這種hack,特別是因為您必須為要保護的每個應用創建一個applescript。我想听聽人們如何使用我的解決方案,即使只是為了學習新技巧。
-1,但我希望這不是個人的看法。我真的很喜歡這裡的詳細程度,並且很顯然對此有很多想法,但是我認為此解決方案給人一種危險的錯誤安全感。您沒有提到的一個巨大警告是,它不會阻止訪問存儲在〜/ Library / Mail中的純文本`.emlx`郵件文件。
@Austin您當然有權提出要求,但我不明白您的原因。我認為我的警告和偏執部分應足以表明這並不意味著是安全的解決方案,而只是一種威懾作用。我添加了您的警告,但是在警告2之後本質上是相同的想法。另外,OP表示他/她不在乎其他人正在閱讀“已檢索的電子郵件”。
我對許多現實生活中從未使用過的複雜事物感到敬畏。這是一個-做得好,Kelvin-您從我這裡獲得了+1。 :-)我懷疑它能否最終解決該問題,但我希望它能獲得榮譽。
我認為您誤解了問題的一部分(當然,它的措詞可能更好)。 @Rabskatran-如果我錯了,請糾正我,但是我非常有信心OP試圖解釋想要使用密碼保護應用程序的原因。簡而言之,即使偵聽程序無法檢索*新*郵件(大概是因為帳戶密碼未存儲在Mail中),但它們*仍將*能夠讀取*現有*下載的郵件,這就是為什麼OP需要密碼保護。
良好的腳本技巧,但問題就在旁邊。使用sudo腳本解決用戶A的問題的風險很高。如果用戶A沒有受到保護,則任何鍵盤訪問都將允許`chmod`規避該ruby腳本。根據奧斯丁的正確診斷,問題“嚴重得多”。
bmike
2011-05-13 08:28:07 UTC
view on stackexchange narkive permalink

是-幾種密碼保護郵件的方法很實用。由於您擔心孩子/家庭成員,因此最簡單的方法可能是僅使用您的帳戶上的“家長控制”來限制這些應用。在某些時候,他們可以擁有自己的帳戶,您可以鎖定整個帳戶。


在鎖定應用程序或數據應用程序可以訪問的一般情況下,我認為這是可行的選項。

  1. 使您的帳戶成為受保護的父母帳戶,並將您要允許的應用列入白名單。您將知道單獨的管理員用戶/密碼,以允許啟動禁止的應用程序。 Voila-您想要的任何應用現在都受到密碼保護。

  2. 將應用移動到受密碼保護的磁盤映像中,然後創建別名以存儲在應用程序文件夾。 (首先刪除原始應用程序)任何程序嘗試訪問該應用程序時,您都有機會輸入密碼,Finder會安裝磁盤映像。您還可以在運行腳本以使應用程序再次運行之前,編寫權限更改腳本和其他技術技巧,要求輸入密碼。

  3. 將應用程序數據存儲在受密碼保護的加密磁盤映像中。以下是一些常見應用程序及其用於存儲用戶數據的文件夾

  4. 將您的郵件應用程序存儲在可移動驅動器上-有一個家庭手工業製作獨立的應用程序包以從USB驅動器運行應用程序。

  5. ol>

    請記住,在安裝圖像之前,使用應用程序內的框架進行的聚光燈和其他應用程序之類的工作將無法正常工作。如果您的用戶密碼是安全的(不想讓其他人看到數據),則可以將磁盤映像密碼存儲在鑰匙串中。

    此外-除非您保護數據文件-但這只是出於默默無聞的安全性,有人可以將您的數據複製到其他地方,或者只是從Spotlight或其他應用(例如文本編輯)中查看數據。他們還可以從另一台計算機上帶來郵件(或其他任何形式)應用程序的副本。一旦管理員用戶允許應用程序在該系統上首次運行,應用程序就可以在任何地方運行,而不僅是“應用程序”文件夾。

    因此,唯一的方法是#3。鎖定數據,不用擔心應用程序。

Ken
2011-12-10 23:53:04 UTC
view on stackexchange narkive permalink

這是一個Mac實用程序,可以滿足您的要求。它可以用密碼保護單個應用程序。另外,您可以設置一個超時值,該超時值將在選定的時間內處於非活動狀態後退出應用程序。

Mac App Blocker

Mac App Blocker正是他所尋找的。作為蘋果技術公司,多年來我們一直對此功能提出要求(還記得Oulook 2001嗎?)。用戶不必擔心他們的孩子或同事會去挖掘Library文件夾來拉出.emlx文件並讀取它們。這不是重點-他們不介意讓其他人使用Mac,只是不想讓他們閱讀電子郵件。乾淨利落。 Mac App Blocker可以完成其工作,而這正是他們需要做的一切。
user75894
2014-04-16 19:14:15 UTC
view on stackexchange narkive permalink

我知道這是一個舊線程,但是我遇到了和您一樣的問題……這裡是解決方案:一個名為iLock的應用程序。選擇後,使用密碼保護單個應用。簡單,高效且完全免費! https://www.macupdate.com/app/mac/49881/ilock

John
2011-09-22 18:39:42 UTC
view on stackexchange narkive permalink

嗯。我已經想這樣做了一段時間。讓我們再舉一個不通知本地文件的示例,例如,像Skype或Trillian這樣的聊天程序。家長控制的問題在於您不能成為計算機上的管理員用戶,而不能在您的管理員用戶帳戶上擁有家長控制。

我的建議是簡單地執行以下操作:

  chmod 600 /Applications/Trillian.app; chown`whoami`:staff /Applications/Trillian.app 

這會阻止任何人運行它,但將其標記為您的

然後運行它,

sudo /Applications/Trillian.app/Contents/MacOS/Trillian

這已經超過了上面的600(rw- --- ---)訪問權限,並且必須輸入管理員密碼才能運行它。

您還可以查看setuid位,看看是否有幫助(換句話說,使該應用程序以其他用戶身份運行)。

順便說一句,上面的“ whoami”必須在每側都帶有重音或反引號。該網站上的反黑客內容剝奪了這些標記。
Fixed. Feel free to hit edit and see how I fixed it.
rclyde
2013-01-17 19:52:58 UTC
view on stackexchange narkive permalink

如何設置具有自己的Apple ID的單獨用戶帳戶,受父母限制的電子郵件或完全不發送電子郵件。應用可以由不同的帳戶共享。根據孩子的年齡,如果他們具有管理員功能,即您的帳戶,他們可能會無意中損害您的帳戶。成為管理員後,您可以控制他們可以使用其帳戶執行的操作。

drfrogsplat
2014-01-08 12:15:00 UTC
view on stackexchange narkive permalink

使用單獨的帳戶是解決此問題的方法。

電子郵件可能是顯而易見的,但是會有一些重要的文件,書籤或打開的銀行標籤等對您同樣不利

單獨的帳戶(只有父母作為管理員)意味著您可以將所有人的文件,電子郵件,設置等分開,即使所有人都可以訪問應用程序。 / p>

如果用戶X使用“郵件”應用程序,則只有登錄後才能訪問其電子郵件和帳戶設置。用戶Y打開“郵件”時,他們將擁有自己的帳戶/郵件,即使兩者都使用相同的帳戶/郵件郵件應用程序。

您可能有一個成人共享帳戶,一個孩子共享帳戶,或者每個人都有一個個人帳戶。使用單獨的帳戶,您將要在離開計算機時(通過屏幕保護程序或返回登錄屏幕)鎖定計算機。但是,即使您忘記了,您的孩子也希望使用自己的帳戶(帶有自己的書籤,或者保存遊戲文件,高分或文檔等),而不是您自己的帳戶,這將有助於防止意外訪問/損壞。甚至簡單到不必從上次使用瀏覽器的用戶註銷Facebook(每個帳戶都有自己的瀏覽器設置,該設置可以記住誰登錄了Gmail,facebook,icloud等)。

您還可以阻止某些用戶通過“系統偏好設置”中的“家長控制”訪問特定的應用程序,網站等。

Sherif
2014-02-16 21:50:39 UTC
view on stackexchange narkive permalink

Mac App Blocker

完全符合您的要求。在其網站上:

使用Mac App Blocker,您可以在Mac上用密碼保護EACH應用程序。確保您的應用程序和Mac安全。設置超時值可自動退出受保護的應用程序,因此,即使您無人照管計算機,您仍然會受到保護。

關於“與眾不同”的答案不僅需要鏈接。可以包含鏈接,但請在答案中進行總結或摘錄。這個想法是使答案獨立存在。
感謝@Ian C.為該鏈接的句子從復制粘貼中刪除。
superjonbot
2016-12-04 21:42:13 UTC
view on stackexchange narkive permalink

快速又骯髒:打開磁盤實用程序,在應用程序文件夾中創建一個受密碼保護的磁盤映像,然後將要保護的所有應用程序移動到該文件夾中。您每次登錄時都必須輸入一次密碼才能使用它們,然後只需卸載磁盤映像,以便使用同一帳戶的人仍然可以使用您的計算機,而無需訪問這些應用程序。

illustribe
2019-03-20 20:07:30 UTC
view on stackexchange narkive permalink

如果您想使用某個應用來實現這一目標,那麼“免費”範圍似乎沒有太多選擇。AppLocker和AppCrypt允許only 1個app鎖定在免費版本中,還有一些其他應用程序提供15天左右的免費試用期。否則,有付費選項。 我猜想免費解決方案(針對1個以上的應用)的方法是使用 Kelvin script方法

這是我設法找到的應用程序:

免費(中):

AppLocker

AppCrypt

免費試用:

iLocker

MacAppBlocker

付費:

iLock

Lock Pro

我個人只是嘗試過,仍然使用AppLocker。我只需要一個應用程序,因此對我來說免費版本就可以了。是非常易於使用和堅如磐石。推薦!

有關找到的應用程序的更多詳細信息將增加答案的價值。
好的,謝謝@nohillside :)


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...