setfacl - programowanie w unix

Problemy dotyczące programowania.

Moderatorzy: Moderatorzy, Administratorzy

Awatar użytkownika
millena
Użytkownik
Posty: 124
Rejestracja: 2006-03-20, 14:37
Lokalizacja: /dev/null
Kontakt:

setfacl - programowanie w unix

Post autor: millena »

Potrafi ktoś zrobić coś takiego???

Kod: Zaznacz cały

Przeczytaj opis programu setfacl, a następnie napisz skrypt, który: 
odpyta użytkownika o typ i składniki nowego wpisu do listy ACL, 
zbuduje polecenie, które umieści ten wpis na liście ACL, 
wykona to polecenie (setfacl -m ...); tylko tworzymy nowe wpisy, nie próbujemy usuwać ani modyfikować istniejących. 

Uwaga: celem jest uwolnienie użytkownika od pamiętania składni wywołania setfacl, a więc skrypt nie może prosić o podanie gotowej specyfikacji, tylko zadawać proste pytania, jak czy wpis ma być dla użytkownika, grupy, czy ustawienia domyślnego, itp. 

Uwaga 2: podobnie jak w przypadku innych zadań, ciekawym rozszerzeniem ćwiczenia byłoby przetestowanie i dostosowanie rozwiązania do innych systemów uniksowych, np. Linuksa. W tym konkretnym zadaniu ta praca nie będzie łatwa, bo jakkolwiek listy ACL istnieją w większości współczesnych Uniksów, to mają różne postaci, i programy do ich tworzenia (setfacl) mogą mieć różne wymagania i sposób wywołania.
???? :roll:
[color=green]dd if=/home/millena of=/dev/null [/color]-> [color=olive]od kiedy kieruje backupy do /dev/null idą o wiele szybciej [/color] [img]http://mandrivauser.ovh.org/.image/fftoie.gif[/img]
Awatar użytkownika
difrost
Moderator
Posty: 2802
Rejestracja: 2006-03-11, 12:31
Lokalizacja: Wrocław
Kontakt:

Re: setfacl - programowanie w unix

Post autor: difrost »

Ja potrafię.
[url=http://bdtk.sourceforge.net][img]http://pin.if.uz.zgora.pl/~beton/bdt-ready.png[/img][/url] #337142
--------------------------------------------
"I had a letter in the post today. It said 'Gas Bill'. It sounds a tempting offer." -- Alan Cox
"Users have been trained that when a computer bluescreens and losing all of their data, it's either (a) just the way things are, or (b) it's microsoft's fault." -- Theodore Tso
misiut
Użytkownik
Posty: 24
Rejestracja: 2009-08-07, 21:07
Lokalizacja: Kraków

Re: setfacl - programowanie w unix

Post autor: misiut »

Heh, ja też :P Nawet napisałem cały, ale zbackupowałem go twoim sposobem i nie mogę teraz znaleźć ;)
Pamiętam że mniej więcej było tak (zalążek do uwagi 2), oczywiście skrypt nic nie ułatwia, no ale takie było zadanie :D

Kod: Zaznacz cały

#!/bin/bash
fil="$1"
until [ -e "$fil" ]; do read -p Filename: fil; done
getfacl $fil
echo "Enter bez wartości pomija opcję:"
for lin in `setfacl --help | grep -v setfacl | cut -c7- | cut -f1 -d" "`; do
    par=`echo ${lin} | grep = | cut -f1 -d=`
    if [ "$par" != "" ]; then
        read -p "Enter value for ${par} = :" valu
        if [ "$valu" != "" ]; then setfacl ${par} ${valu} $fil; fi
    else
        read -p "Enter value for ${lin} (y/n):" valu
        if [ "$valu" == "y" ]; then setfacl $lin $fil; fi
    fi
getfacl $fil
done
Podpowiem, że analogicznie można wykorzystać trzecią kolumnę z helpa żeby nie pisać ręcznie statycznych ciągów, tylko je wygenerować, no i wszystko to można wczytać do tablicy i zrobić ewentualnie menu wyboru w pętli.... Gotowca nie dostaniesz ;)
ODPOWIEDZ