Homepage  Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum


.dsy:it. .dsy:it. Archive > Didattica > Corsi N - Z > Sicurezza
 
Esercizi di laboratorio del 25/10/2006
Clicca QUI per vedere il messaggio nel forum
Valerz
ho un problema con l'esercizio 1.4


creare la directory /usr/local/foobar/bin e copiarvi un programma che
permetta all’utente foobar di leggere il file /etc/shadow, senza usare
le ACL, senza aggiungere l’utente foobar al gruppo shadow e senza
cambiare il gruppo al file /etc/shadow (`e solo un esercizio, non `e una
pratica sicura!);


scusate ma cosa significa "copiarvi un programma"??
e poi, devo cambiare il proprietario del file shadow??oppure aggiungergli dei permessi di lettura??
qualcuno riesce a darmi una mano?
ciauz

alex184it
ecco, il tutto:

# mkdir /usr/local/foobar/bin
# adduser foobar staff
# cp /usr/bin/less /usr/local/bin
# chmod +s /usr/local/bin/less

e ora foobar può accedere in lettura a shadow...

alex184it
Originally posted by alex184it
ecco, il tutto:

# mkdir /usr/local/foobar/bin
# adduser foobar staff
# cp /usr/bin/less /usr/local/bin
# chmod +s /usr/local/bin/less

e ora foobar può accedere in lettura a shadow...


ops...ho messo come percorso per less /usr/local/bin: naturalmente è /usr/local/foobar/bin

sorry....

Valerz

# mkdir /usr/local/foobar/bin
# adduser foobar staff
# cp /usr/bin/less /usr/local/foobar/bin
# chmod +s /usr/local/foobar/bin/less


non riesco a leggere cmq il file shadow se mi loggo come foobar!!

alex184it
Originally posted by Valerz
non riesco a leggere cmq il file shadow se mi loggo come foobar!!


/usr/local/foobar/bin non è nel path dell'utente: quando esegui less viene usato /usr/bin/less perché è l'unico che viene trovato.

prova a fare /usr/local/foobar/bin/less /etc/shadow e vedrai che riesci a leggerlo.
Per evitare di dover mettere ogni volta il percorso per intero del file, metti /usr/local/foobar/bin nel path, prima di /usr/bin

per sapere se stai usando la versione corretta(quella in /usr/local/foobar/bin) fai un
which less

ok?!?

Valerz
aspetta che provo

Valerz
allora...

non so come si setta il path, ora spulcio google e vedo se sono in grado di rimediare qualche informazione!

cmq se eseguo


/usr/local/foobar/bin/less /etc/shadow


non riesco comunque a vedere shadow...
se verifico i permessi ti mostro cosa esce


foobar@seclab:/usr/local/foobar/bin$ ls -la
drwx--S--- 2 foobar staff 1024 2006-10-29 10:20 .
drwx--S--- 4 foobar staff 1024 2006-10-29 10:11 ..
-rwsr-sr-x 1 foobar staff 99692 2006-10-29 10:20 less


è corretto? (penso di no visto che non riesco! :D)

Valerz
controllo shadow...

....$ ls -la shadow
-rw-r----- 1 root shadow 753 2006-10-27 12:11 shadow


non c'entra niente che il gruppo è shadow e non staff vero???
io ci provo!

alex184it
il problema è che il proprietario di less è foobar:
da root fai un
# chown root less

e controlla che i permessi siano stati preservati, ovvero controlla che il suid sia attivo. quindi less deve essere
-rwsr-sr-x 1 root staff 99692 2006-10-29 10:20 less

x il path: essendo una variabile d'ambiente devi agire su uno degli script d'avvio della shell(~/.bashrc o ~/.bash_profile o ancora meglio, e quindi è quello su cui devi agire, /etc/profile) e modificare PATH

alex184it
Originally posted by Valerz
controllo shadow...


non c'entra niente che il gruppo è shadow e non staff vero???
io ci provo!

non dare permessi di lettura a shadow a staff!!!
lascialo a shadow....

Valerz
no ok!
ho capito che sarebbe stata una caxxata! :D

ora riesco a leggere il file shadow

ma evidentemente non ho capito bene l'utilizzo dell'opzione +s in chmod!

Valerz
in pratica ogni file che copio dentro la cartella bin prende subito come gruppo staff, ma i permessi d'esecuzione rimangono a root
quidni se uso +s il file erediterà i permessi d'esecuzione del proprietario del file, quindi root in questo caso!
giusto??

alex184it
Originally posted by Valerz
no ok!
ho capito che sarebbe stata una caxxata! :D

ora riesco a leggere il file shadow

ma evidentemente non ho capito bene l'utilizzo dell'opzione +s in chmod!


con +s setti il suid

da wikipedia(http://en.wikipedia.org/wiki/Setuid):
"When a binary executable file has been given the setuid attribute, normal users on the system can execute this file and gain the privileges of the user who owns the file (commonly root) within the created process. When root privileges have been gained within the process, the application can then perform tasks on the system that regular users normally would be restricted from doing."

quando il proprietario di less era foobar, non potevi leggere il file shadow x un semplice motivo: stavi eseguendo less con i privilegi(nessuno) di foobar...

alex184it
Originally posted by Valerz
in pratica ogni file che copio dentro la cartella bin prende subito come gruppo staff, ma i permessi d'esecuzione rimangono a root
quidni se uso +s il file erediterà i permessi d'esecuzione del proprietario del file, quindi root in questo caso!
giusto??


ogni file che copi, assume come proprietario l'utente che ha effettivamente copiato il file: se li copi come root, i file saranno posseduti da root, quindi un +s farà si che tutti gli utenti del gruppo d'appartenenza del file lo potranno eseguire coi privilegi di root....

Valerz
sei stato chiarissimo
grazie mille per gli aiuti!

alex184it
de nada:)

Powered by: vbHome (lite) v4.1 and vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento |Licenze | Thanks | Syndacate