¿Es posible proteger con contraseña una aplicación específica de Mac?
Por ejemplo, estoy interesado en proteger Mail porque incluso si no puede recuperar nuevos correos electrónicos, aún puede leer todos los correos electrónicos ya recibidos.
Esta no es una pregunta sobre seguridad. Se trata de compartir un dispositivo dentro de una familia. No tengo información crucial. Solo quiero evitar que mi niña o hijo envíe accidentalmente correos electrónicos desde mi cuenta o que lea algunos de ellos.
Con respecto a su comentario sobre la respuesta de Paul, querer dejar su computadora por un momento: debe bloquear su computadora. Período.
Abra Preferencias del sistema, haga clic en Seguridad (fila superior, penúltima opción), en la pestaña "General", marque la casilla "Requerir contraseña [inmediatamente] después de que comience la suspensión o el protector de pantalla".
Luego, cuando vayas a alejarte de tu computadora;
(Notas adicionales: haga clic en la línea anterior).
Bloquea tu Mac. Alejarse. Vuelve, ingresa tu contraseña para desbloquearlo. Consola asegurada.
you have to lock your computer. Period.
Es posible usando scripts.
Primero, debe habilitar el menú de secuencias de comandos en la barra de menús de OS X. Lea la sección "Menú de secuencias de comandos" aquí: Habilitar el menú de secuencias de comandos
Ahora abra su carpeta Library/Scripts y cree un archivo llamado "run_with_password.rb" con estos contenidos (cambie "johndoe" por su nombre de usuario):
#!/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
A continuación, inicie el Editor de secuencias de comandos y pegue este código (nuevamente cambiando johndoe a su nombre de usuario):
do shell script "ruby /Users/johndoe/Library/Scripts/run_with_password.rb /Applications/Mail.app" with administrator privileges
Guarde el archivo en Biblioteca/Scripts como "mail_with_password", asegurándose de que el formato de archivo sea "Script".
Ahora aparecerá "mail_with_password" en su menú de secuencias de comandos. Cada vez que lo ejecute, le pedirá su contraseña (tal como lo hacen algunos instaladores). Una vez que termine de ejecutarse, deshabilitará el acceso a la aplicación de correo normal. Así que ejecute el script una vez, luego intente ejecutar la aplicación Mail. No se ejecutará. Tenga en cuenta que significa que TODOS los usuarios de su máquina no podrán ejecutar Mail directamente, no solo su usuario.
Si alguna vez desea permitir que Mail vuelva a ejecutarse normalmente, ejecute este comando en la Terminal:
sudo chmod +x /Applications/Mail.app/Contents/MacOS/Mail
Es posible que pueda omitir el "sudo". Use sudo si obtiene "Operación no permitida". Tenga en cuenta que sudo le pedirá su contraseña para permitir la operación privilegiada.
Advertencias
Paranoia
Si alguien que conoce Ruby obtiene acceso a su usuario registrado, podría modificar el script de Ruby de una manera que causa todo tipo de estragos cuando ejecuta el script, ya que se ejecuta como root durante parte del tiempo. Si cree que esto podría suceder, debe hacer que el script solo pueda ser escrito por root. También deberá asegurarse de que alguien no reemplace el script con el suyo propio; puede hacerlo si usted puede escribir en la carpeta. Si estás empezando a asustarte con estas advertencias y no sabes cómo protegerte, probablemente deberías olvidarte de esta solución y recordar bloquear la pantalla cuando salgas de la computadora.
.emlx
archivos de correo de texto sin formato almacenados en ~/Library/Mail
.chmod
eludir esta secuencia de comandos Ruby. Como correctamente diagnosticado por Austin, el problema es mucho más serio y aparte.Simplemente puede establecer controles parentales en la cuenta y luego determinar qué aplicaciones se pueden usar.
Alternativamente, puede establecer una contraseña en su protector de pantalla y también definir una "esquina activa" adecuada para activar el protector de pantalla; de esa manera, cuando se aleje de su computadora, puede mover el mouse hacia la esquina activa para bloquear efectivamente la pantalla como que requiere una contraseña para acceder.
Sí, varias formas de proteger su correo con contraseña son prácticas. Dado que le preocupan los niños/miembros de la familia, lo más fácil podría ser simplemente restringir esas aplicaciones usando Controles parentales en su cuenta. En algún momento, pueden tener sus propias cuentas y usted puede bloquear toda su cuenta.
Estas son las opciones que veo viables para el caso general de bloqueo de aplicaciones o los datos a los que pueden acceder las aplicaciones.
Haga que su cuenta sea una cuenta parental protegida y haga una lista blanca de las aplicaciones que desea permitir. Conocerá el usuario/contraseña de administrador por separado para permitir el lanzamiento de aplicaciones prohibidas. Voila: cualquier aplicación que desee ahora está protegida con contraseña.
Mueva la aplicación a una imagen de disco protegida con contraseña y luego cree un alias para almacenar en la carpeta Aplicaciones. (borrando primero la aplicación original) Cuando cualquier programa intenta acceder a la aplicación, tiene la oportunidad de ingresar una contraseña y el buscador montará la imagen del disco. También puede escribir cambios de permisos y otros trucos técnicos para solicitar una contraseña antes de ejecutar el script para que la aplicación se pueda ejecutar nuevamente.
Almacene los datos de la aplicación en una imagen de disco cifrada protegida con contraseña . Estas son algunas aplicaciones comunes y las carpetas donde almacenan los datos de los usuarios .
Almacene su aplicación de correo en una unidad extraíble: existe una industria artesanal sobre la creación de paquetes de aplicaciones independientes para ejecutar aplicaciones desde unidades USB.
Tenga en cuenta que cosas como Spotlight y otras aplicaciones que usan marcos dentro de las aplicaciones no funcionarán tan bien hasta que las imágenes estén montadas. Si su contraseña de usuario es segura (de las personas que no desea que vean los datos), puede almacenar las contraseñas de imagen de disco en el llavero.
Además, a menos que proteja los archivos de datos, es solo seguridad por oscuridad y alguien podría copiar sus datos en otro lugar o simplemente mirarlos desde Spotlight u otras aplicaciones como la edición de texto. También podrían traer una copia de la aplicación de correo (o cualquier otra) de otra computadora. Las aplicaciones pueden ejecutarse desde cualquier lugar y no solo desde la carpeta Aplicaciones una vez que un usuario administrador las bendice para la primera ejecución en ese sistema.
Por lo tanto, #3 es el único camino a seguir. Bloquea tus datos y no te preocupes por las aplicaciones.
Aquí hay una utilidad para Mac que hará lo que estás pidiendo. Puede proteger con contraseña aplicaciones individuales. Además, puede establecer un valor de tiempo de espera que cerrará la aplicación después de estar inactivo durante el tiempo seleccionado.
Las cuentas separadas son la solución a este problema.
El correo electrónico puede ser el más obvio, pero habrá algunos archivos importantes, o marcadores, o pestañas bancarias abiertas, etc. que podrían ser igualmente perjudiciales para que un niño los elimine, abra o juegue al azar.
Las cuentas separadas (con solo los padres como administradores) significa que puede mantener separados los archivos, correos electrónicos, configuraciones, etc. de todos, aunque todos puedan acceder a las aplicaciones.
Si el usuario X usa la aplicación Mail, solo se puede acceder a sus correos electrónicos y configuraciones de cuenta cuando está conectado. Cuando el usuario Y abre Mail, tendrá sus propias cuentas/correo, aunque ambos estén usando la misma aplicación Mail.
Puede tener una cuenta compartida para adultos y otra para niños, o cuentas individuales para cada persona. Con cuentas separadas, querrá bloquear la computadora (mediante un protector de pantalla o volviendo a la pantalla de inicio de sesión) cuando la deje. Pero incluso si lo olvida, sus hijos querrán usar su propia cuenta (con sus propios marcadores, o guardar archivos de juegos, puntajes altos, documentos, etc.) en lugar de la suya, lo que ayudará a evitar cualquier acceso o daño accidental. Incluso algo tan simple como no tener que cerrar la sesión de facebook de quien haya usado el navegador por última vez (cada cuenta tiene su propia configuración del navegador, que recuerda quién está conectado a Gmail, facebook, icloud, etc).
También puede evitar que algunos usuarios accedan a determinadas aplicaciones, sitios web, etc. a través de Controles parentales en Preferencias del sistema.
Es un hilo antiguo, lo sé, pero tuve el mismo problema que tú... Aquí está la solución: una aplicación llamada iLock. Protege aplicaciones individuales con una contraseña después de su elección. Simple, eficiente y completamente gratis! https://www.macupdate.com/app/mac/49881/ilock
Mmm. He querido hacer esto desde hace un tiempo. Tomemos otro ejemplo que no guarda archivos locales a menos que se le indique: programas de chat como Skype o Trillian, por ejemplo. El problema con los controles parentales es que no puede ser un usuario administrador en la máquina Y tener controles parentales en su cuenta de usuario administrador.
Mi sugerencia sería simplemente hacer lo siguiente:
chmod 600 /Applications/Trillian.app ; chown `whoami`:staff /Applications/Trillian.app
Esto evita que alguien lo ejecute, pero lo marca como tuyo
Luego, para ejecutarlo,
sudo /Applications/Trillian.app/Contents/MacOS/Trillian
Esto supera los 600 (rw- --- ---) permisos de acceso anteriores y deberá ingresar una contraseña de administrador para ejecutarlo.
También puede consultar el bit setuid y ver si eso ayuda (en otras palabras, hacer que la aplicación se ejecute como otro usuario).
¿Qué hay de configurar cuentas de usuario separadas con su propia identificación de Apple, correo electrónico con restricciones parentales o sin correo electrónico? Las aplicaciones pueden ser compartidas por diferentes cuentas. Dependiendo de la edad de sus hijos, si tienen capacidad de administrador, es decir, su cuenta, es posible que puedan dañar su cuenta sin querer. Con usted como administrador, puede controlar lo que pueden hacer con su cuenta.
Rápido y sucio: abra las utilidades de disco, cree una imagen de disco protegida con contraseña en su carpeta de aplicaciones, mueva las aplicaciones que desea proteger allí. Tendrá que ingresar la contraseña una vez para usarla cada vez que inicie sesión, luego puede desmontar la imagen del disco para que las personas en la misma cuenta aún puedan usar su computadora sin acceso a esas aplicaciones.
Si desea utilizar una aplicación para lograr esto, parece que no hay muchas opciones en el rango "gratuito". AppLocker y AppCrypt permiten bloquear solo 1 aplicación en la versión gratuita, y hay algunas otras aplicaciones que ofrecen pruebas gratuitas durante aproximadamente 15 días. De lo contrario, están las opciones pagas. Supongo que el camino a seguir para una solución gratuita (para más de 1 aplicación) es ir con el método de secuencia de comandos de Kelvin .
Aquí están las aplicaciones que logré encontrar:
Gratis (mium):
Pruebas gratis:
Pagado:
Personalmente, acabo de probar y sigo usando AppLocker. Solo lo necesito para una aplicación, así que para mí la versión gratuita está bien. Es muy fácil de usar y sólido como una roca. ¡Recomendado!
Bloqueador de aplicaciones Mac
Hace exactamente lo que estás pidiendo. Desde su sitio web:
Con Mac App Blocker, puede proteger con contraseña CADA aplicación en su Mac. Mantén seguras tus aplicaciones y tu Mac. Establezca un valor de tiempo de espera para salir automáticamente de la aplicación protegida, de modo que incluso cuando deje su computadora desatendida, aún estará protegido.
austin
What's the best way to protect my email from snooping?
Y la respuesta a eso sería que es mejor evitar por completo que usuarios no autorizados usen su cuenta; por ejemplo, solicitar una contraseña para desactivar el protector de pantalla o después de despertar el sistema del modo de suspensión.ian c
~/Library/Application Support
; si alguien quiere su correo electrónico, sabrá que simplemente debe tomar los archivos de allí y irse con ellos.austin
.emlx
archivos de texto sin formato están realmente ubicados en~/Library/Mail
, pero su punto está bien entendido.bmike
Rabskatran
bmike
dan