Esiste un modo per proteggere con password le singole app?

25

È possibile proteggere con password una specifica applicazione Mac?

Ad esempio, sono interessato a proteggere Mail perché, anche se non puoi recuperare nuove email, puoi comunque leggere tutte le email già ricevute.

Questa non è una domanda sulla sicurezza. Si tratta di condividere un dispositivo all'interno di una famiglia. Non ho informazioni cruciali. Voglio solo evitare che mia figlia o mio figlio invii email accidentalmente dal mio account o impedisca loro di leggerne alcune.

    
posta Pierre Watelet 12.05.2011 - 12:11
fonte

11 risposte

24

Riguardo al tuo commento sulla risposta di Paolo, che vuole lasciare il tuo computer per un momento: devi bloccare il tuo computer. Periodo.

Apri Preferenze di Sistema, fai clic su Sicurezza (riga superiore, penultima opzione), sotto la scheda "Generale", seleziona la casella "Richiedi password [immediatamente] dopo l'inizio della modalità di sospensione o di avvio dello screen saver".

Quindi, quando vai per allontanarti dal tuo computer;

Ctrl ^ + Maiusc ⇧ + Espelli ⏏

(Note aggiuntive: fai clic sulla linea sopra).

Blocca il tuo Mac. Andarsene. Torna indietro, inserisci la tua password per sbloccarla. Console protetta.

    
risposta data 13.05.2011 - 00:04
fonte
10

Puoi semplicemente impostare il controllo genitori sull'account e quindi determinare quali app possono essere utilizzate.

In alternativa puoi impostare una password sullo screen saver e definire anche un "angolo caldo" adatto per attivare lo screen saver: in questo modo quando ti allontani dal computer puoi semplicemente spostare il mouse nell'angolo caldo per bloccare in modo efficace lo schermo in modo tale da richiedere una password per accedere.

    
risposta data 12.05.2011 - 12:13
fonte
7

È possibile utilizzare gli script.

Per prima cosa, devi abilitare il menu script nella barra dei menu di OS X. Leggi la sezione "Menu Script" qui: Abilita il menu Script

Ora apri la cartella Libreria / Script e crea un file chiamato "run_with_password.rb" con questi contenuti (cambia "johndoe" con il tuo nome utente):

#!/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

Quindi, avvia Script Editor e incolla questo codice (cambiando nuovamente johndoe con il tuo nome utente):

do shell script "ruby /Users/johndoe/Library/Scripts/run_with_password.rb /Applications/Mail.app" with administrator privileges

Salva il file in Libreria / Script come "mail_with_password", assicurandoti che il Formato file sia "Script".

Ora "mail_with_password" apparirà nel tuo menu di script. Ogni volta che lo esegui, ti chiederà la tua password (proprio come fanno alcuni installatori). Al termine dell'esecuzione, disabiliterà l'accesso all'applicazione di posta normale. Quindi esegui lo script una volta, quindi prova a eseguire l'app Mail. Non funzionerà. Tieni presente che significa che TUTTI gli utenti sul tuo computer non potranno eseguire direttamente Mail, non solo il tuo utente.

Se vuoi consentire a Mail di funzionare di nuovo normalmente, esegui questo comando sul Terminale:

sudo chmod +x /Applications/Mail.app/Contents/MacOS/Mail

Potresti essere in grado di omettere il "sudo". Usa sudo se ottieni "Operazione non consentita". Nota che sudo ti chiederà la tua password per consentire l'operazione privilegiata.

Avvertimenti

  1. Se non hai avuto bisogno del comando "sudo" qui sopra per fare il chmod, significa che un utente esperto potrebbe essere in grado di capire come abilitare nuovamente l'app Mail. È possibile aumentare la sicurezza modificando il proprietario del file MacOS / Mail su root. Rimane un esercizio per il lettore.
  2. Se qualcuno è in grado di copiare l'app Mail sul tuo computer (ad esempio tramite unità USB), può comunque accedere alla tua posta.
  3. Lo script ruby è pensato per funzionare per la maggior parte dei bundle di applicazioni OS X. Non raccomando di modificare lo script ruby a meno che tu non sappia veramente cosa stai facendo perché sta facendo alcune cose come root (l'utente privilegiato). Il tweaking del codice AppleScript dovrebbe essere innocuo; ma dovresti sapere come regolare il comando chmod per rendere nuovamente eseguibile la tua app direttamente
  4. Se il percorso dell'app nel file applescript ha spazi o altri caratteri speciali, dovrai fare qualcosa come mettere le virgolette su tutto il percorso.
  5. Modifica: l'utente Austin ha suggerito che questa procedura non protegge i file .emlx. In realtà non utilizzo l'app Mail, quindi non ho familiarità con l'archiviazione dei dati. Problemi simili si applicano a tutte le app, perché questa soluzione non nasconde i dati dell'utente.

Paranoia

Se qualcuno che conosce ruby ottiene l'accesso all'utente che ha effettuato l'accesso, potrebbe modificare lo script ruby in modo da provocare ogni sorta di caos quando si esegue lo script, poiché viene eseguito come root per una parte del tempo. Se pensi che questo possa accadere, dovresti rendere lo script scrivibile solo da root. Dovrai anche assicurarti che qualcuno non sostituisca lo script con il proprio: possono farlo se la cartella è scrivibile da te. Se stai iniziando a spaventarti con questi avvertimenti e non sai come proteggerti, probabilmente dovresti dimenticarti di questa soluzione e ricordati di bloccare lo schermo quando esci dal computer.

    
risposta data 12.05.2011 - 19:16
fonte
5

Sì, sono diversi i modi per proteggere con password la tua posta. Dal momento che sei preoccupato per i bambini / i familiari, il modo più semplice potrebbe essere limitare le app utilizzando Parental Control sul tuo account. A un certo punto possono avere i propri account e puoi bloccare l'intero account.

Ecco le opzioni che considero applicabili per il caso generale di bloccare le app o le app di dati possono accedere.

  1. Rendi il tuo account un account parentale protetto e white list le app che vuoi consentire. Conoscerai l'utente / password amministratore separato per consentire l'avvio di app vietate. Voila - qualsiasi app che desideri è ora protetta da password.

  2. Spostare l'app in un'immagine del disco protetta da password e quindi creare un alias da archiviare nella cartella Applicazioni. (eliminando prima l'app originale) Quando qualsiasi programma tenta di accedere all'app, si ha la possibilità di inserire una password e il finder monterà l'immagine del disco. È inoltre possibile modificare le autorizzazioni di autorizzazione e altri trucchi tecnici per richiedere una password prima di eseguire lo script per rendere nuovamente eseguibile l'applicazione.

  3. Archivia i dati dell'applicazione in un immagine del disco crittografata protetta da password . Ecco alcune app comuni e le cartelle in cui vengono archiviati i dati dell'utente .

  4. Memorizza la tua app di posta su un'unità rimovibile: esiste un'industria casalinga sulla creazione di pacchetti di app standalone per l'esecuzione di app da unità USB.

Tieni presente che cose come il riflettore e altre app che utilizzano framework all'interno delle app non funzioneranno molto bene fino a quando le immagini non verranno montate. Se la tua password utente è sicura (dalle persone che non vuoi vedere i dati), puoi memorizzare le password dell'immagine del disco nel portachiavi.

Inoltre - a meno che non proteggi i file di dati - è solo sicurezza per oscurità e qualcuno potrebbe copiare i tuoi dati altrove o semplicemente guardarli da riflettori o altre app come la modifica del testo. Potrebbero anche portare una copia della mail (o qualsiasi altra) app da un altro computer. Le app possono essere eseguite ovunque e non solo nella cartella Applicazioni quando un utente amministratore le benedice per la prima esecuzione su quel sistema.

Quindi # 3 è l'unica strada da percorrere. Blocca i tuoi dati e non preoccuparti delle app.

    
risposta data 13.05.2011 - 05:28
fonte
5

Ecco un'utilità Mac che farà ciò che stai chiedendo. Può proteggere con password singole app. Inoltre, puoi impostare un valore di timeout che uscirà dall'applicazione dopo essere stato inattivo per il tempo selezionato.

Mac App Blocker

    
risposta data 10.12.2011 - 18:53
fonte
2

È un vecchio thread che conosco, ma ho avuto lo stesso problema come te ... Ecco la soluzione: Un'applicazione chiamata iLock. Protegge le singole app con una password dopo la tua scelta. Semplice, efficiente e completamente gratuito! link

    
risposta data 16.04.2014 - 16:14
fonte
1

Hmm. Ho voluto farlo per un po 'ora. Prendiamo un altro esempio che non mantiene i file locali a meno che non venga detto a programmi di chat come Skype o Trillian, per esempio. Il problema con i controlli parentali è che non puoi essere un utente amministratore sul computer E disporre dei controlli parentali sul tuo account utente amministratore.

Il mio suggerimento sarebbe semplicemente quello di fare quanto segue:

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

Questo impedisce a chiunque di eseguirlo, ma lo contrassegna come il tuo

Quindi per eseguirlo,

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

Questo supera le 600 (rw- --- ---) autorizzazioni di accesso di cui sopra e dovrai inserire una password di amministratore per eseguirla.

Potresti anche esaminare il bit setuid e vedere se questo aiuta (fai in modo che l'app venga eseguita come un altro utente, in altre parole).

    
risposta data 22.09.2011 - 15:39
fonte
1

Che ne dici di configurare account utente separati con il proprio ID Apple, e-mail con restrizioni sui genitori o nessuna e-mail. Le app possono essere condivise da diversi account. A seconda dell'età dei tuoi figli, se hanno capacità di amministratore, ad esempio il tuo account, potrebbero essere in grado di danneggiare il tuo account senza volerlo. Con te come amministratore puoi controllare cosa possono fare con il loro account.

    
risposta data 17.01.2013 - 14:52
fonte
0

Account separati è la soluzione a questo problema.

L'e-mail potrebbe essere ovvia, ma ci saranno alcuni file importanti, o segnalibri, o aprire schede bancarie, ecc. che potrebbero essere ugualmente male per un bambino cancellare / aprire / confondere casualmente.

Account separati (con solo i genitori come amministratori) significa che puoi tenere separati tutti i file, le email, le impostazioni, ecc. anche se le applicazioni sono accessibili a tutti.

Se l'utente X utilizza l'applicazione Mail, le loro e-mail e le impostazioni dell'account sono accessibili solo quando sono loggati. Quando l'utente Y apre Mail, avranno i propri account / posta, anche se entrambi utilizzano la stessa applicazione di posta.

Potresti avere un account condiviso per adulti e un altro per bambini o account individuali per ogni persona. Con account separati, dovrai bloccare il computer (tramite screensaver o tornare alla schermata di accesso) quando lo lasci. Ma anche se dimentichi, i tuoi figli vorranno utilizzare il proprio account (con i propri segnalibri, o salvare file di gioco, o punteggi più alti, o documenti, ecc.) Piuttosto che i propri, il che aiuterà a prevenire accessi / danni accidentali. Anche qualcosa di semplice come non dover uscire da Facebook da chiunque abbia utilizzato il browser (ogni account ha le proprie impostazioni del browser, che ricordano chi è connesso a Gmail, Facebook, iCloud, ecc.)

Puoi anche impedire ad alcuni utenti di accedere a particolari applicazioni, siti web, ecc. tramite il Controllo genitori nelle Preferenze di Sistema.

    
risposta data 08.01.2014 - 07:15
fonte
0

Mac App Blocker

Fa esattamente quello che stai chiedendo. Dal loro sito web:

With Mac App Blocker, you can password-protect EACH application on your Mac. Keep your apps and your Mac safe. Set a timeout value to automatically exit the protected application so even when you leave your computer unattended, you're still protected.

    
risposta data 16.02.2014 - 16:50
fonte
0

Veloce e sporco: apri le utility del disco, crea un'immagine del disco protetta da password nella cartella delle applicazioni, sposta tutte le app che desideri siano protette. Dovrai inserire la password una volta per utilizzarli al momento del log in, quindi puoi semplicemente smontare l'immagine del disco in modo che le persone sullo stesso account possano ancora utilizzare il tuo computer senza l'accesso a tali app.

    
risposta data 04.12.2016 - 16:42
fonte

Leggi altre domande sui tag