Protegge le modifiche al file di testo semplice scritto dall'esecuzione di script bash da parte dell'utente standard

0

Ho scritto un semplice script bash che voglio usare come orologio del tempo per i dipendenti (studi di lavoro) nel mio laboratorio informatico. La sceneggiatura funziona alla grande.
1. Ogni studio di lavoro ha due icone (due script bash separati) sul desktop, una per l'orologio e un'altra per il timeout. Entrambi scrivono nello stesso file .txt.
2. Quando fanno clic sull'icona di ingresso, lo script scrive CLOCK IN e la data e l'ora correnti in un file di testo normale in una cartella Dropbox condivisa (condivisa tra me e il computer di lavoro).
3. Lo script si interrompe per cinque secondi in modo che il file .txt possa essere aggiornato su Dropbox.
4. Il browser si apre con il registro dell'ora solare aggiornato dello studio di lavoro. Questo viene fatto tramite un link di condivisione Dropbox.

Ecco lo script per il clock. Lo script di clock out dice invece solo CLOCK OUT.

#!/bin/bash
# Write to .txt file
echo " CLOCK IN - $(date '+%x - %r')"  >> /Users/Username/Dropbox/Joe-Time-Clock.txt 
# Give Dropbox a chance to sync.
sleep 5
# Open in browser so student can see clock in time.
open -a Google\ Chrome "https://www.dropbox.com/s/7vbgpc9x29d0z98/Time-Clock.txt?dl=0"
exit 0

Ecco l'output in testo normale:

Joe Smith - Time Clock
 CLOCK IN - 08/17/2015 - 06:00:25 PM
CLOCK OUT - 08/17/2015 - 06:00:48 PM
 CLOCK IN - 08/17/2015 - 06:00:52 PM
CLOCK OUT - 08/17/2015 - 06:05:14 PM
 CLOCK IN - 08/17/2015 - 06:14:51 PM
CLOCK OUT - 08/17/2015 - 06:15:11 PM

A partire da ora, lo studente può semplicemente aprire Joe-Time-Clock.txt quando sono in ritardo e modificare le informazioni. Gli studi di lavoro sono su un account regolare su Mac (10.6 Snow Leopard) e ho un account amministratore a cui non hanno accesso. Mi piacerebbe che fossero in grado di eseguire lo script sul desktop che scrive sul loro file di orologio. Tuttavia, non voglio che siano in grado di modificare lo script o modificare il registro clock-in / clock-out (Joe-Time-Clock.txt).

Oggi mi sono occupato delle autorizzazioni. Se Joe-Time-Clock.txt è sincronizzato da Dropbox e ha la proprietà root abilitata, Dropbox, essendo un'applicazione per utente, non sarebbe in grado di sincronizzarlo perché non avrebbe i permessi. In caso contrario, vorrei provare questa soluzione . Tutte le idee sono ben accette. Molte grazie in anticipo.

Nota a margine: sono molto più abituato a lavorare con le autorizzazioni e la linea di comando in Linux. Oggi, quando ho trascorso un po 'di tempo su CLI in OS X, mi sentivo un po' estraneo, quindi più dettagli e meglio è. Grazie!

    
posta jbrock 18.08.2015 - 05:35
fonte

0 risposte

Leggi altre domande sui tag