是否可以用密碼保護特定的Mac應用程序?
例如,我對保護郵件感興趣,因為即使您無法檢索新電子郵件,您仍然可以閱讀所有已收到的電子郵件。 / p>
這不是關於安全性的問題。這是關於在家庭中共享設備。我沒有重要信息。我只是想避免我的女兒或兒子從我的帳戶中意外發送電子郵件或阻止他們閱讀其中的一些郵件。
是否可以用密碼保護特定的Mac應用程序?
例如,我對保護郵件感興趣,因為即使您無法檢索新電子郵件,您仍然可以閱讀所有已收到的電子郵件。 / p>
這不是關於安全性的問題。這是關於在家庭中共享設備。我沒有重要信息。我只是想避免我的女兒或兒子從我的帳戶中意外發送電子郵件或阻止他們閱讀其中的一些郵件。
關於您對Paul的回答的評論,想離開計算機一會兒:您必須鎖定計算機。
打開“系統偏好設置”,單擊“安全性”(第一行,倒數第二個選項),在“常規”選項卡下,選中“睡眠或屏幕保護程序啟動後立即輸入密碼”框。
然後,當您離開計算機時;
Ctrl ⌃ kbd> + Shift⇧ kbd> + 彈出⏏ kbd>
(其他說明:單擊上面的行。)
鎖定Mac。走開。回來,輸入密碼解鎖。安全的控制台。
您可以僅在帳戶上設置家長控制,然後確定可以使用哪些應用。
您也可以在屏幕保護程序上設置密碼,並定義合適的“熱點”以激活屏幕保護程序-這樣,當您離開計算機時,只需將鼠標移至熱角即可有效鎖定屏幕,從而需要輸入密碼才能訪問屏幕。
可以使用腳本。
首先,應在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會要求您輸入密碼以允許特權操作。
注意事項
Paranoia
如果知道ruby的人可以訪問您的登錄用戶,則他們可以通過某種方式修改ruby腳本,從而在運行腳本時造成各種破壞,因為該腳本在一部分時間內作為root用戶運行。如果您認為這可能發生,則應使腳本只能由root用戶寫入。您還必須確保不會有人用自己的腳本替換腳本-如果您可以寫該文件夾,則他們可以這樣做。如果您開始對這些警告感到害怕並且不知道如何保護自己,則可能應該忘記此解決方案,而只記得在離開計算機時鎖定屏幕即可。
是-幾種密碼保護郵件的方法很實用。由於您擔心孩子/家庭成員,因此最簡單的方法可能是僅使用您的帳戶上的“家長控制”來限制這些應用。在某些時候,他們可以擁有自己的帳戶,您可以鎖定整個帳戶。
在鎖定應用程序或數據應用程序可以訪問的一般情況下,我認為這是可行的選項。
使您的帳戶成為受保護的父母帳戶,並將您要允許的應用列入白名單。您將知道單獨的管理員用戶/密碼,以允許啟動禁止的應用程序。 Voila-您想要的任何應用現在都受到密碼保護。
將應用移動到受密碼保護的磁盤映像中,然後創建別名以存儲在應用程序文件夾。 (首先刪除原始應用程序)任何程序嘗試訪問該應用程序時,您都有機會輸入密碼,Finder會安裝磁盤映像。您還可以在運行腳本以使應用程序再次運行之前,編寫權限更改腳本和其他技術技巧,要求輸入密碼。
將應用程序數據存儲在受密碼保護的加密磁盤映像中。以下是一些常見應用程序及其用於存儲用戶數據的文件夾。
將您的郵件應用程序存儲在可移動驅動器上-有一個家庭手工業製作獨立的應用程序包以從USB驅動器運行應用程序。
請記住,在安裝圖像之前,使用應用程序內的框架進行的聚光燈和其他應用程序之類的工作將無法正常工作。如果您的用戶密碼是安全的(不想讓其他人看到數據),則可以將磁盤映像密碼存儲在鑰匙串中。
此外-除非您保護數據文件-但這只是出於默默無聞的安全性,有人可以將您的數據複製到其他地方,或者只是從Spotlight或其他應用(例如文本編輯)中查看數據。他們還可以從另一台計算機上帶來郵件(或其他任何形式)應用程序的副本。一旦管理員用戶允許應用程序在該系統上首次運行,應用程序就可以在任何地方運行,而不僅是“應用程序”文件夾。
因此,唯一的方法是#3。鎖定數據,不用擔心應用程序。
這是一個Mac實用程序,可以滿足您的要求。它可以用密碼保護單個應用程序。另外,您可以設置一個超時值,該超時值將在選定的時間內處於非活動狀態後退出應用程序。
我知道這是一個舊線程,但是我遇到了和您一樣的問題……這裡是解決方案:一個名為iLock的應用程序。選擇後,使用密碼保護單個應用。簡單,高效且完全免費! https://www.macupdate.com/app/mac/49881/ilock
嗯。我已經想這樣做了一段時間。讓我們再舉一個不通知本地文件的示例,例如,像Skype或Trillian這樣的聊天程序。家長控制的問題在於您不能成為計算機上的管理員用戶,而不能在您的管理員用戶帳戶上擁有家長控制。
我的建議是簡單地執行以下操作:
chmod 600 /Applications/Trillian.app; chown`whoami`:staff /Applications/Trillian.app
這會阻止任何人運行它,但將其標記為您的
然後運行它,
sudo /Applications/Trillian.app/Contents/MacOS/Trillian
這已經超過了上面的600(rw- --- ---)訪問權限,並且必須輸入管理員密碼才能運行它。
您還可以查看setuid位,看看是否有幫助(換句話說,使該應用程序以其他用戶身份運行)。
如何設置具有自己的Apple ID的單獨用戶帳戶,受父母限制的電子郵件或完全不發送電子郵件。應用可以由不同的帳戶共享。根據孩子的年齡,如果他們具有管理員功能,即您的帳戶,他們可能會無意中損害您的帳戶。成為管理員後,您可以控制他們可以使用其帳戶執行的操作。
使用單獨的帳戶是解決此問題的方法。
電子郵件可能是顯而易見的,但是會有一些重要的文件,書籤或打開的銀行標籤等對您同樣不利
單獨的帳戶(只有父母作為管理員)意味著您可以將所有人的文件,電子郵件,設置等分開,即使所有人都可以訪問應用程序。 / p>
如果用戶X使用“郵件”應用程序,則只有登錄後才能訪問其電子郵件和帳戶設置。用戶Y打開“郵件”時,他們將擁有自己的帳戶/郵件,即使兩者都使用相同的帳戶/郵件郵件應用程序。
您可能有一個成人共享帳戶,一個孩子共享帳戶,或者每個人都有一個個人帳戶。使用單獨的帳戶,您將要在離開計算機時(通過屏幕保護程序或返回登錄屏幕)鎖定計算機。但是,即使您忘記了,您的孩子也希望使用自己的帳戶(帶有自己的書籤,或者保存遊戲文件,高分或文檔等),而不是您自己的帳戶,這將有助於防止意外訪問/損壞。甚至簡單到不必從上次使用瀏覽器的用戶註銷Facebook(每個帳戶都有自己的瀏覽器設置,該設置可以記住誰登錄了Gmail,facebook,icloud等)。
您還可以阻止某些用戶通過“系統偏好設置”中的“家長控制”訪問特定的應用程序,網站等。
完全符合您的要求。在其網站上:
使用Mac App Blocker,您可以在Mac上用密碼保護EACH應用程序。確保您的應用程序和Mac安全。設置超時值可自動退出受保護的應用程序,因此,即使您無人照管計算機,您仍然會受到保護。
快速又骯髒:打開磁盤實用程序,在應用程序文件夾中創建一個受密碼保護的磁盤映像,然後將要保護的所有應用程序移動到該文件夾中。您每次登錄時都必須輸入一次密碼才能使用它們,然後只需卸載磁盤映像,以便使用同一帳戶的人仍然可以使用您的計算機,而無需訪問這些應用程序。