PDA

View Full Version : [BASH] Dubbi sui permessi


Phate82
15-12-2008, 12:51
ciao a tutti!

sono alle prime armi con bash e dopo una prima infarinatura sui comandi sto provando a fare alcuni esericizi. Vorrei proporvi alcuni di questi esercizi sperando che possiate darmi una mano per capire come risolverli.

Per il primo esercizio ho solo un dubbio teorico. La situazione è questa: l'utente Pippo crea questo script che ha il compito di generare alcune stringhe per poi salvarle in un file leggibile solo dal proprietario. Lo script deve essere leggibile ed eseguibile da tutti, ma modificabile solo dal proprietario.
Il dubbio riguarda il file su cui lo script deve salvare le stringhe:

- se questo file deve essere creato a parte dal proprietario il problema non si pone, perchè è sufficiente che venga creato con i permessi 622. In questo modo chiunque esegua lo script può scrivere nel file, ma solo il proprietario che l'ha creato può leggerlo (e scriverlo).

- se il file in cui scrivere le stringhe dev'essere creato dallo script, la cosa (per me) diventa più complicata. Avevo pensato di fare ricorso al SUID bit..praticamente ho provato a dare allo script i permessi 4755 e all'interno dello script ho creato il file che deve contenere le stringhe con i permessi 600. In questo modo chiunque esegue lo script diventa Pippo, crea il file dando la possibilità solo a Pippo di leggerlo e scriverlo e ci scrive le stringhe. Il problema è che, forse per motivi di sicurezza, il SUID bit non funziona. Se eseguo lo script e poi controllo con ps chi sta eseguendo lo script non risulta Pippo, ma l'utente che effettivamente ha lanciato lo script. Quindi il file viene creato con i permesso 600, ma riferiti all'utente che ha eseguito lo script e non a Pippo. :muro:

E' anche possibile che la mia soluzione sia giusta e che chi ha proposto l'esercizio volesse solo verificare l'apprendimento del SUID bit al di là dell'effettivo funzionamento, ma il dubbio mi rimane. Quindi la mia domanda è...c'è altro modo per risolvere l'esercizio?

Il secondo esercizio è questo:
Due file hanno lo stesso contenuto a parte una o più variazioni nella loro parte
iniziale di lunghezza fissa. Fare uno script che dia informazioni sull'identità del
contenuto indipendentemente dalla variazione dell'intestazione dei file.

Qui il problema è proprio la comprensione del testo :eek: ...voi capite che vuole? :confused:

Il terzo (e ultimo) esercizio è questo:

Fare in modo che il proprio prompt principale indichi il numero
di utenti che hanno almeno una sessione interattiva aperta nel sistema.

ovviamente lo script dovrà agire sulla variabile PS1, ma non riesco a capire come contare gli utenti con almeno una sessione interattiva. Da quello che so, uno shell è interattivo quando è lanciato senza opzioni, quindi stavo pensando a questo per cercare di individuare tutte le sessioni interattive, ma non so come fare :mc: ...perchè fatto quello poi si potrebbero isolare gli utenti che le usano, ordinarli, filtrarli con uniq e contarli con wc. Qualcuno mi da una dritta? :p

Scusate per la lunghezza del post e grazie a chiunque voglia aiutarmi :D

Phate82
15-12-2008, 22:34
nemmeno un suggerimento? :cry:

andrew1988
17-12-2008, 00:59
per ora nn ho ancora usato il bash ma m sa che a breve m dovro' cimentare obbligatoriamente.. cmq x il primo problema da quel che ho capito vuoi far in modo che un file creato dall'utente x sia proprietaro di y... ma secondo me nn si riesce xke' dovresti avere privilegi d root per fare una tale cosa.. infatti se provi nel terminale a fare: "chown y file.ext" ti da operazione nn permessa.. se invece anteponi sudo.. allora si..

il secondo secondome intede che in ogni file viene messo come un header che identifica il formato... prova questo comando: "vi file.pdf" noterai che all'inizio c'e' una cosa tipo PDF1.4 poi dipende..