Newsgroup: it.comp.os.linux.sys
Titolo: Impostare permessi esecuzione programmi

Posto di avere una macchina dove accedono diversi utenti (o alla 
console, oppure tramite xdmcp, vnc ecc.).
Lo scopo è quello di fare in modo che questa orda di utenti, faccia meno 
danni possibili e non si faccia gli affari degli altri utenti sulla 
stessa macchina.
Normalmente sulle installazioni che ho visto finora, la distinzione è 
tra utente root e utenti non root.
Es.: vorrei permettere a tutti gli utenti di utilizzare i programmi per 
la gestione dei file es.: nautilus.
Ad un gruppo di utenti aggiungere solo l'uso di openoffice.
Ad un altro gruppo permettere l'uso di tools di sviluppo.
Ad un gruppo solo firefox e thunderbird.
Ecc.
L'unica soluzione che mi viene in mente è di passare eseguibile per 
eseguibile e modificargli a mano i permessi aggiungendo eventualmente le 
acl.
Facendo così, oltre al lavoro immane, però non vorrei limitare l'accesso 
a qualche programma che non conosco ma che è richiamato da qualche 
software che voglio permettere sia usato.
 
Esiste qualche tool che permetta di automatizzare e velocizzare questa 
fase di configurazione?
 
Grazie

 Grazie
 
 
Sembra lavoro per SELinux, utenti confinati e autorizzazioni fatte a 
manina...
 


 
Non l'ho mai approfondito in quanto spesso sentito inveire contro selinux.
Provo a darci un'occhiata. Mi pare strano che linux, derivando da unix 
che è sempre stato multiutente non permetta di fare queste cose già di 
suo in modo agevole.

Sam ha scritto:

il sistema di permessi unix é nato negli anni 60, in 50 anni le 
necessitá di sicurezza sono cambiate parecchio, nulla di male ad 
utilizzare soluzioni piú moderne.
 
Il problema di SELinux é che non é immediato da usare, lo sto studiando 
anche io da poco, ma per lo meno garantisce di poter confinare l'utente 
al 100% e aprire solo quello di cui ha bisogno.
 
Ti faccio un esempio, con i permessi normali di linux non puoi impedire 
ad un utente di scaricarsi da internet un binario nella propria home o 
nella /tmp e farlo eseguire. Con SELinux puoi.
 
Inoltre se togli completamente i permessi lettura, scrittura, esecuzione 
a tutto il sistema agli utenti sará un casino poi capire (ad esempio) 
libreoffice quali librerie e binari utilizza. Con SELinux invece crei un 
utente confinato, metti il sistema in modalitá permissiva e fai una 
sessione di lavoro facendo le cose che l'utente ha diritto di fare. Lui 
logga tutti i permessi mancanti. Una volta finita la sessione di lavoro 
hai la lista di tutti di permessi necessari nei log.
 
ciao
A

 
 
Be', nelle mie macchine /home e /tmp sono montate in noexec da una
trentina d'anni. (sě, provengo da ben piů lontano nel tempo)
 
E non c'č bisogno di selinux. ;-)
 
Con ciň non dico che selinux sia inutile, intendiamoci, solo che il
tuo esempio era quello sbagliato. ;-)
-- 
           |Save our planet!
    Ciao   |Save wildlife!
   roberto |For your E-MAIL use ONLY recycled Bytes  !!
           |roberto poggi   
rpo...@softhome.net
 

 tuo esempio era quello sbagliato. ;-)
 
piú che altro io farei cosí...

  > Ad un altro gruppo permettere l'uso di tools di sviluppo.
 
Ehm, non ero io. ;-)
E come ho detto, quel problema non ha bisogno di selinux.
Poi, certamente, a problemi precisi, soluzioni su misura.



 
tu imposteresti un gruppo per ogni applicativo e taglieresti i permessi 
a tutti per fare qualsiasi cosa?
 

 a tutti per fare qualsiasi cosa?
 
No, non ho detto questo.
O almeno, a me non sembra di aver detto questo.
 
Se devo impedire che gli utenti eseguano qualcosa di "maligno" uso
le home e la tmp in noexec.
 
Se un utente o gruppo di utenti deve poter eseguire qualcosa che si
sviluppano in proprio, destino una directory alla bisogna e assegno
i diritti relativi.
 
Se devo impedire che qualcuno faccia qualcosa, o meglio, devo dare
ad ognuno la possibilità di fare solo quello che dico io, chroot.
 
Oppure selinux. ;-)
 
Come ho detto, non escludo selinux dagli strumenti utili, dicevo a
te (forse, mi sto un po' perdendo) che l'esempio dell'esecuzione a
vanvera in tmp o home non era roba da selinux. :-)
