¿Hay alguna forma de proteger con contraseña las aplicaciones individuales?

25

¿Es posible proteger con contraseña una aplicación Mac específica?

Por ejemplo, estoy interesado en proteger el correo porque, incluso si no puede recuperar nuevos correos electrónicos, aún puede leer todos los correos electrónicos recibidos.

Esto 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 mi hijo envíen accidentalmente correos electrónicos desde mi cuenta o evitar que lean algunos de ellos.

    
pregunta Pierre Watelet 12.05.2011 - 12:11

11 respuestas

24

Respecto a tu comentario sobre la respuesta de Paul, querer dejar tu computadora por un momento: tienes que bloquearla. Periodo.

Abra Preferencias del sistema, haga clic en Seguridad (fila superior, segunda a ú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;

Ctrl ⌃ + Shift ⇧ + Expulsar ⏏

(Notas adicionales: haga clic en la línea anterior)

Bloquea tu Mac. Alejarse. Vuelve, ingresa tu contraseña para desbloquearla. Consola asegurada.

    
respondido por el Jason Salaz 13.05.2011 - 00:04
10

Puedes 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, simplemente puede mover el mouse a la esquina caliente para bloquear efectivamente La pantalla tal que requiere una contraseña para obtener acceso.

    
respondido por el Paul R 12.05.2011 - 12:13
7

Es posible usar scripts.

Primero, debes habilitar el menú de script en la barra de menú 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" a 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 la Biblioteca / Scripts como "mail_with_password", asegurándose de que el Formato del archivo sea "Script".

Ahora "mail_with_password" aparecerá en el menú de su script. Cada vez que lo ejecute, le pedirá su contraseña (como hacen algunos instaladores). Una vez que se haya ejecutado, deshabilitará el acceso a la aplicación de correo normal. Ejecute el script una vez, luego intente ejecutar la aplicación Mail. No va a funcionar Tenga en cuenta que esto significa que TODOS los usuarios en su máquina no podrán ejecutar Mail directamente, no solo su usuario.

Si alguna vez quieres permitir que Mail vuelva a ejecutarse normalmente, ejecuta 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 una operación privilegiada.

Caveats

  1. Si no necesitaba el comando "sudo" anterior para hacer el comando chmod, eso significa que un usuario inteligente podría descubrir cómo habilitar la aplicación Mail nuevamente. Puede reforzar la seguridad cambiando el propietario del archivo MacOS / Mail a root. Eso queda como un ejercicio para el lector.
  2. Si alguien puede copiar la aplicación de Correo en su computadora (por ejemplo, a través de una unidad USB), aún puede obtener acceso a su correo.
  3. El script ruby está diseñado para funcionar con la mayoría de los paquetes de aplicaciones de OS X. No recomiendo ajustar el script ruby a menos que realmente sepas lo que estás haciendo porque está haciendo ciertas cosas como root (el usuario privilegiado). Ajustar el código de Applecript debería ser inofensivo; pero debe saber cómo ajustar el comando chmod para que su aplicación pueda ejecutarse directamente otra vez.
  4. Si la ruta a la aplicación en el archivo de Applecript tiene espacios u otros caracteres especiales, tendrás que hacer algo como poner comillas simples alrededor de toda la ruta.
  5. Editar: el usuario Austin sugirió que este procedimiento no protege los archivos .emlx. En realidad no uso la aplicación Mail, por lo que no estoy familiarizado con el almacenamiento de datos. Se aplican problemas similares a todas las aplicaciones, ya que esta solución no oculta los datos del usuario.

Paranoia

Si alguien que conoce ruby tiene acceso a su usuario registrado, podría modificar el script ruby de manera que cause todo tipo de estragos cuando ejecute el script, ya que se ejecuta como root durante una parte del tiempo. Si crees que esto podría suceder, deberías hacer que el script solo pueda escribirse por root. También tendrás que asegurarte de que alguien no reemplace la secuencia de comandos con la suya propia; pueden hacerlo si tú escribes 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 solo recuerda bloquear la pantalla cuando salgas de la computadora.

    
respondido por el Kelvin 12.05.2011 - 19:16
5

Sí: varias formas de proteger su correo con contraseña son prácticas. Debido a que le preocupan los niños / familiares, lo más fácil sería restringir esas aplicaciones utilizando los controles parentales en su cuenta de su . En algún momento, pueden tener sus propias cuentas y usted puede bloquear toda su cuenta.

Estas son las opciones que considero que son factibles para el caso general de aplicaciones de bloqueo o a las que las aplicaciones de datos pueden acceder.

  1. Convierta su cuenta en una cuenta parental protegida y en la lista blanca de las aplicaciones que desea permitir. Conocerá el usuario / contraseña del administrador por separado para permitir el lanzamiento de aplicaciones prohibidas. Voila: cualquier aplicación que desee ahora está protegida por contraseña.

  2. Mueva la aplicación a una imagen de disco protegida por contraseña y luego cree un alias para almacenar en la carpeta Aplicaciones. (elimine primero la aplicación original) Cuando cualquier programa intente acceder a la aplicación, tendrá la oportunidad de ingresar una contraseña y el buscador montará la imagen del disco. También puede hacer un script de los cambios de permisos y otros trucos técnicos para solicitar una contraseña antes de ejecutar el script para que la aplicación pueda ejecutarse nuevamente.

  3. Almacene los datos de la aplicación en una imagen de disco cifrada protegida por contraseña . Aquí hay algunas aplicaciones comunes y las carpetas donde almacenan los datos del usuario .

  4. Almacene su aplicación de correo en un disco extraíble: hay una industria casera en cuanto a hacer paquetes de aplicaciones independientes para ejecutar aplicaciones desde unidades USB.

Tenga en cuenta que las cosas como el proyector 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 a las que no quiere ver los datos), puede almacenar las contraseñas de la imagen del disco en el llavero.

También, 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 el centro de atención 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) desde otra computadora. Las aplicaciones pueden ejecutarse desde cualquier lugar y no solo desde la carpeta de aplicaciones una vez que un usuario administrador las bendiga para la primera ejecución en ese sistema.

Por lo tanto, # 3 es la única manera de ir. Cierra tus datos y no te preocupes por las aplicaciones.

    
respondido por el bmike 13.05.2011 - 05:28
5

Aquí hay una utilidad para Mac que hará lo que estás pidiendo. Puede proteger con contraseña las aplicaciones individuales. Además, puede establecer un valor de tiempo de espera que saldrá de la aplicación después de estar inactivo durante el tiempo seleccionado.

Bloqueador de aplicaciones de Mac

    
respondido por el Ken 10.12.2011 - 18:53
2

Es un tema antiguo, lo sé, pero tuve el mismo problema que tú ... Aquí está la solución: Una aplicación llamada iLock. Protege las aplicaciones individuales con una contraseña después de su elección. Sencillo, eficiente y completamente gratis! enlace

    
respondido por el user75894 16.04.2014 - 16:14
1

Hmm. He querido hacer esto por un tiempo ahora. Tomemos otro ejemplo que no conserva los archivos locales a menos que se le indique, por ejemplo, programas de chat como Skype o Trillian. 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 ejecutarlo,

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

Esto supera los 600 (rw- --- ---) permisos de acceso anteriores, y tendrás que ingresar una contraseña de administrador para ejecutarla.

También puede buscar en el bit setuid y ver si eso ayuda (haga que la aplicación se ejecute como otro usuario, en otras palabras).

    
respondido por el John 22.09.2011 - 15:39
1

¿Qué hay de configurar cuentas de usuario separadas con su propia ID de Apple, correo electrónico con restricciones parentales o ningún correo electrónico? Las aplicaciones pueden ser compartidas por diferentes cuentas. Dependiendo de la edad de sus hijos, si tienen la capacidad de administrador, es decir, su cuenta, podrían dañar su cuenta sin querer hacerlo. Con usted como administrador, puede controlar lo que pueden hacer con su cuenta.

    
respondido por el rclyde 17.01.2013 - 14:52
0

Cuentas separadas es la solución a este problema.

El correo electrónico puede ser el más obvio, pero habrá algunos archivos importantes, marcadores, o pestañas bancarias abiertas, etc. que podrían ser igualmente perjudiciales para que un niño elimine / abra / ensucie aleatoriamente.

Cuentas separadas (con solo padres como administradores) significa que puede mantener separados los archivos, correos electrónicos, configuraciones, etc. de todos, aunque todas las aplicaciones puedan acceder a ellas.

Si el usuario X usa la aplicación de Correo, solo se puede acceder a sus correos electrónicos y configuraciones de cuenta cuando están conectados. Cuando el Usuario Y abre Correo, tendrán sus propias cuentas / correo, aunque ambos estén usando la misma aplicación de Correo.

Es posible que tenga una cuenta compartida para adultos y otra para niños, o cuentas individuales para cada persona. Con cuentas separadas, querrá bloquear la computadora (a través del salvapantallas o volver 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 o documentos, etc.) en lugar de los suyos, lo que ayudará a evitar daños / accesos accidentales. Incluso algo tan simple como no tener que cerrar sesión en Facebook de quien usó el navegador por última vez (cada cuenta tiene su propia configuración de navegador, que recuerda quién ha iniciado sesión en Gmail, Facebook, icloud, etc.).

También puede evitar que algunos usuarios accedan a aplicaciones, sitios web, etc. a través de los controles parentales en las preferencias del sistema.

    
respondido por el drfrogsplat 08.01.2014 - 07:15
0

Bloqueador de aplicaciones de Mac

Hace exactamente lo que estás pidiendo. Desde su página web:

  

Con el bloqueador de aplicaciones de Mac, puedes proteger con contraseña CADA aplicación en tu Mac. Mantenga sus aplicaciones y su Mac a salvo. Establezca un valor de tiempo de espera para salir automáticamente de la aplicación protegida, por lo que incluso cuando deja su computadora desatendida, todavía está protegido.

    
respondido por el Sherif 16.02.2014 - 16:50
0

Rápido y sucio: abra utilidades de disco, cree una imagen de disco protegida por contraseña en su carpeta de aplicaciones, mueva todas las aplicaciones que desea proteger allí. Tendrá que ingresar la contraseña una vez para usarla durante el tiempo que usted ingresa, luego simplemente puede desmontar la imagen del disco para que las personas en la misma cuenta puedan usar su computadora sin acceso a esas aplicaciones.

    
respondido por el superjonbot 04.12.2016 - 16:42

Lea otras preguntas en las etiquetas