Newsgroup: it.comp.os.linux.iniziare
Titolo: Confused: gruppo primario secondario , SGUID ecc

Supponiamo che ho un certo programma eseguibile solo da root (cdrecord)
per farlo eseguire ad un utente comune posso dargli il SUID bit, ma in
questo modo non posso discriminare fra quali utenti possono usare
cdrecord (ad esempio).
Usare il SGID in questo modo
#chmod +g /usr/bin/cdrecord
non servirebbe a nulla perche' lo renderebbe eseguibile solo al gruppo
propietario di cdrecord (che e' root)
la strada allora quale e'?
creare un gruppo secondario (/etc/group), ma in che modi "legarlo" a
cdrecord?
grazie
-- 
| Ciao Cacciavite          Linux Registered User #297089
| Powered by *Debian GNU/Linux 3.0* on  PentiumII 400Mhz
| E-mail:            caccia...@TOGLIQUESTOtiscali.it

 
potresti provare con sudo
ciao!

 potresti provare con sudo
vero, ma voglio chiarirmi i dubbi su gruppi&affini


 cdrecord?
chgrp cdrecord /dove/sta/cdrecord
chmod 770 /dove/sta/cdrecord
chmod u+s /dove/sta/cdrecord
A questo punto il gruppo "cdrecord" puo' eseguire cdrecord e questo
'girera' come root. Metti chi deve usare cdrecord nel gruppo cdrecord
e sei a posto.
Davide
-- 
Q: How do you make Windows run faster?
A: Throw it harder!

 e sei a posto.
ciao, ho ancora dei dubbi :-)
ho fatto delle prove con shutdown, e la non funziona bene perche' anche
gli utenti non appartenenti al gruppo "spegni" che ho creato possono
eseguire shutdown.
1)problema generale:
  non ho capito dove "sta scritto" che /sbin/shutdown gira solo come
  root.
ad esempio 
k6:~$ ls -la /bin/ls
-rwxr-xr-x  1 root root 75948 Jul 16 13:37 /bin/ls
k6:~$ ls -la /sbin/shutdown
-rwxr-xr-x  1 root root 15496 May 29  2002 /sbin/shutdown
i permessi sono gli stessi pero' ls lo puo' eseguire chiunque
2) tornando al caso specifico
k6:~# chmod 750 /sbin/shutdown
k6:~# chmod u+s /sbin/shutdown
k6:~# ls -la /sbin/shutdown
-rwsr-x---  1 root spegni 15496 May 29  2002 /sbin/shutdown
solo che non funziona (neanche dandogli 770 come hai scritto tu, anche
se nel caso di shutdown mi sembrava piu' logico dare 750) 
se invece gli do
k6:~# chmod 755 /sbin/shutdown
k6:~# chmod u+s /sbin/shutdown
k6:~# ls -la /sbin/shutdown
-rwsr-xr-x  1 root spegni 15496 May 29  2002 /sbin/shutdown
funziona, solo che tutti possono spegnere la macchina
per la creazione del gruppo spegni ho proceduto cosi':
ho creato l'utente spegni
#adduser spegni
e poi 
#addgroup spegni cacciavite 
k6:~# grep spegni /etc/group
spegni:x:1006:cacciavite


 spegni:x:1006:cacciavite
tieni presente che funzionera' dal prossimo login 
.a.
-- 
Il mattino ha l'oro in bocca. Il MATTino ha l'OrO In bOcca.
i lma tt ino ha l'o roin bocc a.ilmattinohal'oroinbocca. il ma tt in
oh al' or oi nb oc ca. il matti noha l'oroinbocca. IL MATtiNO Ha l'ORO
InBOCCa. I l m a t t i n o  h a l' o r o i n b o c c a . ilmattinohal'oroin
BoCcA. iLmAtTiNoHaL'oRoInBoCcA.

> -rwsr-x---  1 root spegni 15496 May 29  2002 /sbin/shutdown
e solo gli utenti del gruppo spegni riescono a lanciare shutdown
questa e' comuqnue la soluzione di Davide B., io avrei fatto
diversamente, e comuqnue la mia non funziona e non capisco perche'
Avrei utilizzato il SGUID, utile quando si vuol rendere eseguibile un
programma da chiunque faccia parte di un gruppo che e' il proprietario
del comando in questione (giusto?)
per cui avrei fatto:
k6:~# chmod 750 /sbin/shutdown
k6:~# chmod g+s /sbin/shutdown
in questo modo gli utenti del gruppo spegni dovrebbero poter
eseguire shutdown. 
cioe' mentre nel primo caso la limitazione agli utenti del gruppo si ha
col permesso 750 (perche' altrimenti SUID aprirebbe l'eseguibilita' per
tutti), nel secondo il SGUID dovrebbe dare l'autorizzazione solo agli
utenti del gruppo proprietario del programma.
Spero di essermi spiegato, grazie


 eseguire shutdown. 
No! in questo modo solo root o gli utenti del gruppo spegni possono
lanciare il comando, ma comunque il comando girera' con EUID=UID e con
EGID=spegni e quindi non funzionera' se non e' stato lanciato da root.


 EGID=spegni e quindi non funzionera' se non e' stato lanciato da root.
ok, questo rafforza quanto sopra e mi da conferma di aver capito
l'utilita' su SUID e GUID (si spera :)
GUID lo "vedo bene" nel caso un gruppo lavori 
con gli stessi file (es. programmatori sugli stessi sorgenti).
In quel caso creando un gruppo secondario (programmers) con tutti gli utenti
interessati a lavorare su quei file, creando una directory che contiene quei
file e attibuendogli  il SGUID (chmod g+s /directory/programmers) il
risultato e' che i file prodotti da ciascun utente hanno come proprietario 
l'utente stesso e come gruppo proprietario il gruppo programmers.
Mentre senza il SGUID il gruppo proprietario dei files in
/directory/programmers sarebbe stato il gruppo _primario_ dell'utente che
ha creato il file. Dunque ogni file avrebbe avuto proprietario e gruppo
proprietario diversi, cosa scomoda per gestire progetti di gruppo ecc
Approfitto per chiederti ancora un consiglio.
Dopo vario tempo che _smanetto_ su linux sto cercando ri schiarirmi le
idee mettendomi a _studiare_ i fondamentali (e i dubbi sono tanti, coem si
e' visto dalla confusione sui permessi)
Mi interesserebbe capire come funziona unix. Per andare un minimo a fondo con 
demoni, pid in ascolto, fork di processi, kernel space, user space ecc ecc
Spero di essermi spiegato, cerco un libro che parli non tanto dei
comandi utente, filesystem, file di conf vari ecc. ma di come funziona
il sistema operativo, altrimenti non ci capisco mai niente :(
Mi hanno consigliato "modern operating Systems" ma non ho ben capito se
in quel testo le cose siano spiegate facendo riferimento al codice
sorgente, sicuramente la strada ideale per capire bene le cose, ma
troppo ostica per chi come me ha fatto il C solo a scuola e, non avendo
esperienza coem programmatore si perderebbe sui sorgenti troppo
complessi del SO.
esistera' un libro accessibile ai comuqni mortali non programmatori che
spieghi queste cose?
