특정 Mac 응용 프로그램을 암호로 보호 할 수 있습니까?
예를 들어, 새 이메일을 검색 할 수 없어도 이미 수신 된 모든 이메일을 읽을 수 있기 때문에 메일 보호에 관심이 있습니다.
이것은 보안에 관한 질문이 아닙니다. 가족 내에서 기기를 공유하는 것입니다. 중요한 정보가 없습니다. 내 여자 아이나 아들이 실수로 내 계정에서 이메일을 보내거나 일부가 읽지 않도록하려고합니다.
답변
Paul의 답변에 대한 귀하의 의견과 관련하여 잠시 동안 컴퓨터를 떠나려고합니다. 컴퓨터를 잠 가야합니다. 기간.
시스템 환경 설정을 열고 보안 (상단, 마지막에서 마지막 옵션)을 클릭 한 다음, “일반”탭에서 “잠자기 또는 화면 보호기가 시작된 후 즉시 암호 필요”확인란을 선택하십시오.
그런 다음 컴퓨터에서 멀어 질 때
(추가 메모 : 위의 줄을 클릭하십시오.)
Mac을 잠그십시오. 저리가. 비밀번호를 입력하여 잠금을 해제하십시오. 안전한 콘솔.
답변
계정에서 자녀 보호 기능을 설정 한 다음 사용할 수있는 앱을 결정할 수 있습니다.
또는 화면 보호기에서 암호를 설정하고 화면 보호기를 활성화하기위한 적절한 “핫 코너”를 정의 할 수도 있습니다. 이렇게하면 컴퓨터에서 멀어 질 때 마우스를 핫 코너로 이동하여 화면을 효과적으로 잠글 수 있습니다. 액세스하려면 암호가 필요합니다.
답변
스크립트를 사용하여 가능합니다.
먼저, OS X 메뉴 표시 줄에서 스크립트 메뉴를 활성화해야합니다. “스크립트 메뉴”섹션을 읽으십시오 : 스크립트 메뉴 활성화
이제 Library / Scripts 폴더를 열고 다음 내용으로 “run_with_password.rb”라는 파일을 만듭니다 ( “johndoe”를 사용자 이름으로 변경).
#!/usr/bin/env ruby
# run an app at lower privilege
require 'etc'
require 'find'
# Note: anyone with sudo access will be able to run as this user. But they could do that anyway.
# run 'id' at the terminal to find out what your username is.
RUN_USER = 'johndoe'
def get_root_info
root_entry = Etc.getpwnam('root')
return root_entry.uid, root_entry.gid
end
ROOT_UID, ROOT_GID = get_root_info
def ensure_root
Process.uid = ROOT_UID
Process.gid = ROOT_GID
end
def print_user_info
[
[:uid, Process.uid],
[:gid, Process.gid],
[:euid, Process.euid],
[:egid, Process.egid],
].each do |arr|
$stderr.puts arr.inspect
end
end
def set_effective(euid, egid)
$stderr.puts "setting effective to #{[euid, egid].inspect}" if $DEBUG
# must set group first
Process.egid = egid
Process.euid = euid
end
def do_privileged(&block)
orig_euid = Process.euid
orig_egid = Process.egid
begin
$stderr.puts "raising privileges" if $DEBUG
set_effective(ROOT_UID, ROOT_GID)
yield orig_euid, orig_egid
ensure
$stderr.puts "lowering privileges" if $DEBUG
set_effective(orig_euid, orig_egid)
end
end
# must be called after ROOT_UID, ROOT_GID are set
def chmod_files_in_dir(mode, dir)
mode_str = nil
case mode
when Integer
mode_str = '%o' % mode
when String
mode_str = mode
else
raise TypeError
end
chmod_proc = proc do
Find.find(dir) {|entry|
if File.directory?(entry) and entry != dir
Find.prune # don't recurse into subdirs
elsif File.file?(entry)
$stderr.puts "chmod #{mode_str} #{entry}" if $DEBUG
system 'chmod', mode_str, entry
end
}
end
# assume that if dir is owned by root, the executables are also.
if File.stat(dir).uid == ROOT_UID
do_privileged(&chmod_proc)
else
chmod_proc.call
end
end
def main(argv)
# Important: this is to abort if we're not running as root.
ensure_root
app_path = argv.shift or raise "Need path to .app file, e.g. /Applications/Mail.app"
app_macos_dir = File.join(app_path, 'Contents/MacOS')
File.directory?(app_path) or raise "#{app_path} is not an app bundle"
File.directory?(app_macos_dir) or raise "#{app_path} bundle doesn't have expected MacOS structure"
pw_entry = Etc.getpwnam(RUN_USER)
run_uid = pw_entry.uid
run_gid = pw_entry.gid
if $DEBUG
$stderr.puts [:run_uid, run_uid].inspect
$stderr.puts [:run_gid, run_gid].inspect
print_user_info
end
# Effectively become RUN_USER
set_effective(run_uid, run_gid)
if $DEBUG
print_user_info
end
begin
chmod_files_in_dir('+x', app_macos_dir)
# 'open' is asynchronous, so the ensure will run immediately after, and before the app exits.
$stderr.puts "Running app: #{app_path}" if $DEBUG
system 'open', app_path
ensure
chmod_files_in_dir('-x', app_macos_dir)
end
end
if __FILE__ == $0
$DEBUG = false
main(ARGV)
end
다음으로 Script Editor를 시작하고 johndoe를 사용자 이름으로 변경 하여이 코드를 붙여 넣습니다.
do shell script "ruby /Users/johndoe/Library/Scripts/run_with_password.rb /Applications/Mail.app" with administrator privileges
파일 형식이 “스크립트”인지 확인하여 파일을 라이브러리 / 스크립트에 “mail_with_password”로 저장하십시오.
이제 “mail_with_password”가 스크립트 메뉴에 나타납니다. 암호를 실행할 때마다 암호가 필요합니다 (일부 설치 관리자와 동일). 실행이 끝나면 일반 메일 응용 프로그램에 대한 액세스가 비활성화됩니다. 스크립트를 한 번 실행 한 다음 Mail 앱을 실행 해보십시오. 실행되지 않습니다. 이는 컴퓨터의 모든 사용자가 사용자뿐만 아니라 메일을 직접 실행할 수 없음을 의미합니다.
Mail이 정상적으로 다시 실행되도록하려면 터미널에서 다음 명령을 실행하십시오.
sudo chmod +x /Applications/Mail.app/Contents/MacOS/Mail
“스도”를 생략 할 수 있습니다. “작업이 허용되지 않음”이 표시되면 sudo를 사용하십시오. sudo는 권한있는 작업을 허용하기 위해 암호를 요구합니다.
경고
- chmod를 수행하기 위해 위의 “sudo”명령이 필요하지 않은 경우, 정통한 사용자는 Mail 앱을 다시 활성화하는 방법을 알아낼 수 있습니다. MacOS / Mail 파일의 소유자를 루트로 변경하여 보안을 강화할 수 있습니다. 그것은 독자를위한 연습으로 남겨졌습니다.
- 누군가가 메일 앱을 컴퓨터에 복사 할 수있는 경우 (예 : USB 드라이브를 통해) 여전히 메일에 액세스 할 수 있습니다.
- 루비 스크립트는 대부분의 OS X 응용 프로그램 번들에서 작동합니다. 루트 (특권 사용자)로 특정 작업을 수행하고 있기 때문에 수행중인 작업을 실제로 알지 않는 한 루비 스크립트를 조정하지 않는 것이 좋습니다. 애플 스크립트 코드를 수정하는 것은 무해해야합니다. 그러나 앱을 직접 다시 실행할 수 있도록 chmod 명령을 조정하는 방법을 알아야합니다.
- Applescript 파일의 앱 경로에 공백이나 다른 특수 문자가있는 경우 전체 경로를 작은 따옴표로 묶는 것과 같은 작업을 수행해야합니다.
- 편집 : 사용자 Austin은이 절차가 .emlx 파일을 보호하지 않을 것을 제안했습니다. 실제로 메일 앱을 사용하지 않으므로 데이터 저장소에 익숙하지 않습니다. 이 솔루션은 사용자 데이터를 숨기지 않기 때문에 모든 앱에 유사한 문제가 적용됩니다.
편집병
루비를 아는 사람이 로그인 한 사용자에게 접근 할 수 있다면, 일부 시간 동안 루트로 실행되므로 스크립트를 실행할 때 모든 종류의 혼란을 초래하는 방식으로 루비 스크립트를 수정할 수 있습니다. 이런 일이 발생할 수 있다고 생각되면 루트 만 스크립트를 쓸 수 있어야합니다. 또한 누군가가 스크립트를 자신의 스크립트로 바꾸지 않도록해야합니다. 사용자가 폴더를 쓸 수있는 경우이를 수행 할 수 있습니다. 이러한 경고로 인해 겁이 나기 시작하고 자신을 보호하는 방법을 모른다면이 해결 방법을 잊고 컴퓨터를 떠날 때 화면을 잠그는 것을 잊지 마십시오.
답변
예-메일을 비밀번호로 보호하는 몇 가지 방법이 실용적입니다. 당신이 어린이 / 가족에 대해 우려하고 있기 때문에, 가장 쉬운 단지에 자녀를 사용하는 응용 프로그램 제한 할 수 있습니다 귀하의 계정을. 어떤 시점에서 그들은 자신의 계정을 가질 수 있으며 전체 계정을 잠글 수 있습니다.
다음은 앱을 잠 그거나 데이터 앱이 액세스 할 수있는 일반적인 경우에 적용 가능한 옵션입니다.
-
계정을 보호 된 보호자 계정으로 만들고 허용하려는 앱을 허용 목록에 추가하십시오. 금지 된 앱을 실행할 수 있도록 별도의 관리자 / 암호를 알고 있습니다. Voila-원하는 모든 앱이 이제 비밀번호로 보호됩니다.
-
응용 프로그램을 암호로 보호 된 디스크 이미지로 이동 한 다음 응용 프로그램 폴더에 저장할 별칭을 만듭니다. (원래 앱을 먼저 삭제) 프로그램이 앱에 액세스하려고하면 암호를 입력하면 파인더가 디스크 이미지를 마운트합니다. 앱을 다시 실행할 수 있도록 스크립트를 실행하기 전에 권한 변경 및 기타 기술을 사용하여 암호를 요구하도록 스크립트를 작성할 수도 있습니다.
-
암호로 보호 된 암호화 된 디스크 이미지 에 응용 프로그램 데이터를 저장하십시오 . 여기에 몇 가지 일반적인 앱과 사용자 데이터를 저장하는 폴더가 있습니다 .
-
메일 앱을 이동식 드라이브에 저장하십시오. USB 드라이브에서 앱을 실행하기위한 독립형 앱 패키지를 만드는 방법이 있습니다.
앱 내에서 프레임 워크를 사용하는 스포트라이트 및 기타 앱과 같은 것은 이미지가 마운트 될 때까지 제대로 작동하지 않습니다. 사용자 암호가 안전하다면 (데이터를보고 싶지 않은 사람들로부터) 디스크 이미지 암호를 키 체인에 저장할 수 있습니다.
또한-데이터 파일을 보호하지 않는 한 모호한 보안 만 가능하며 다른 곳에서 데이터를 복사하거나 스포트라이트 또는 텍스트 편집과 같은 다른 앱에서 데이터를 볼 수 있습니다. 또한 다른 컴퓨터에서 메일 (또는 기타) 앱의 사본을 가져올 수 있습니다. 관리자가 해당 시스템에서 처음 실행할 때 응용 프로그램 폴더를 축복하면 응용 프로그램 폴더뿐만 아니라 응용 프로그램 폴더가 어디에서나 실행될 수 있습니다.
따라서 # 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 비트를 조사하여 도움이되는지 확인할 수도 있습니다 (즉, 앱을 다른 사용자, 즉 다른 앱으로 실행하도록 설정).