|
edima |
walkingman
Registered: May 2003
Posts: 129 (0.02 al dì)
Location: Milano
Corso: Diploma universitario di informatica
Anno: 3
Time Online: 1 Day, 8:03:43 [...]
Status: Offline
Edit | Report | IP: Logged |
Questo esercizio (il teszo di attributi) di exlab.pdf
1- per ogni utente del sistema stampare i gruppi a cui appartiene, senza
utilizzare i comandi id e groups.
L’output deve essere pressochè lo stesso del seguente comando bash:
for x in $(cat /etc/passwd | cut -d ’:’ -f 1) ; do echo -n "$x: "; groups $x; done
# for x in $(cat /etc/passwd |cut -d ':' -f 1); do echo "$x: ""$(for y in $(cat /etc/group|grep -s $(cat /etc/passwd|grep -s
"$x"|cut -d ':' -f 3)|cut -d ':' -f 1);do echo -n "$y ";done)";done
secondo me ha la soluzione sbagliata, perchè una volta trovato il nome dell'utente e il gruppo associato, nel ciclo for più interno non cerca nel file "groups" un qualche cosa del tipo: ":8:" dove 8 è il numero del gruppo, ma solo 8.
Quindi poi elenca tutti i gruppi il cui ID contiene 8 e non solamente il gruppo 8.
Quindi per l'utente mail scrive:
mail: mem video apache messagebus haldaemon plugdev power nobody
Che è sbagliato, perchè il comando groups mail ritorna "mail", e non quella lista di gruppi.
|