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