Newsgroup: it.comp.os.linux.sys
Titolo: Da Win a Linux: permessi file e cartelle?

  Salve a tutti, non so proprio come gestire i permessi su file e 
cartelle passando da un sistema basato sui Windows Domains a Linux.
Mi spiego: nella nostra associazione, devo gestire dei progetti. Ognuno 
di essi è un insieme di file raccolto un una cartella.
In Windows, assegnavo i permessi opportuni (R, RW) agli altri membri dei 
progetti, esempio:
files nella cartella Progetto1 -> io RW, tizio RW, caio RW;
files nella cartella Progetto2 -> io RW, caio RW, sempronio R;
files nella cartella Progetto3 -> io RW, pippo RW, pluto R;
Nessuno degli utenti sopra era nel gruppo degli Administrators, ma solo 
in quello dei Domain Users.
Stanno introducento Linux nella nostra associazione, e mi ci trovo bene, 
a parte la gestione dei permessi: l'amministratore del sistema dice che
1) non si può fare la stessa cosa
2) al massimo lui può creare un gruppo di utenti per ciascun progetto, e 
poi io posso attribuire un gruppo a ciascuna cartella
3) in ogni caso, tutti i membri del gruppo hanno gli stessi permessi 
sulla cartella
4) per aggiungere o togliere un utente, devo per forza chiedere 
all'amministratore di modificare il gruppo.
La cosa mi ha sorpreso parecchio. Ma non c'è un modo più semplice?

 La cosa mi ha sorpreso parecchio. Ma non c'è un modo più semplice?
Cambiare amministratore di sistema e affidarvi ad uno più competente.
-- 
Flavio Visentin
Ubuntu in Zulu significa "Non so usare Debian". (cit. CtRiX)

 Cambiare amministratore di sistema e affidarvi ad uno più competente.
beh questa non gliela faccio leggere :-/ tieni presente che è un 
volontario a rimb spese e ci dedica già molto tempo... sii + clemente 
pls ;-)

 l'OP? Come?
se usi un file system della famiglia EXT: man setfacl
se usi XFS: man setacl
va anche detto, che se è vero che si raggiungono gli stessi risultati, è 
anche vero che il tool di assegnazione dei permessi di Windows è molto 
più alla portata dell'end-user.
Cioè, io per aggiungere l'utentee i gruppi maxadamo e www-data lancio un 
comando di questo tipo:
setfacl -m u:maxadamo:rwx -m g:maxadamo:rwx -m u:www-data:rwx -m 
g:www-data:rwx <nome_fail>
e se voglio leggere i permessi devo leggere una matrice di questo tipo:
$ getfacl JES
# file: JES
# owner: www-data
# group: www-data
user::rwx
user:www-data:rwx
user:maxadamo:rwx
group::rwx
group:www-data:rwx
group:maxadamo:rwx
mask::rwx
other::r-x
Non so se Nautilus supporta le ACL (il che semplificherebbe la vita 
all'end user). Gugolando si potrebbe avere risposta.
-- 
echo onailimissaM | awk 'BEGIN { FS = "" }
{ for (i = NF; i >= 1; i-- )
   printf $i }'; echo

 all'end user). Gugolando si potrebbe avere risposta.
qualcosa tipo eiciel?
http://rofi.roger-ferrer.org/eiciel/?s=5
-- 
By ZeD


Sarebbe stra-fighissimo.
Peccato, ma veramente peccato che (almeno la versione dei repository di 
Ubuntu) non agisca in maniera ricorsiva. Cosě, ahimé, serve veramente a 
poco.... quasi a nulla.
Perň, il concetto č questo, e in linea di massima č stato bene applicato.



Fra l'altro č previsto dal tool:
$ man setfacl
[CUT]
  -R, --recursive
      Apply operations to all files and directories recursively.
[CUT]


 g:maxadamo:rwx -m u:www-data:rwx -m g:www-data:rwx <nome_fail>
Anche da samba e client win puoi fare la stessa cosa.
se non ricordo male, acl e user_xattr sul fs, mentre su samba.conf
nt acl support = yes
inherit acls = yes
map acl inherit = yes
inherit permissions = yes
acl group control = yes
Se vuoi farlo lato linux, kde supporta nativamente le acl (tasto dx,
proprietà, permessi avanzati)
Per la gestione degli utenti / gruppi in maniera semplice, da "utonti
win", o passi a samba 4 e vai di mmc, oppure webmin con la
sincronizzazione degli utenti / gruppi tra moduli
Ciao,
Michele

 Se vuoi farlo lato linux, kde supporta nativamente le acl
Io personalmente *non* voglio...
I was only speaking on behalf of the end-user.


 all'end user).
Dolphin (il file manager di KDE4) supporta le ACL, l'importante e` che 
siano abilitate a livello di file system. Per Nautilus non saprei, da una 
prova veloce sembrerebbe che non sia in grado di farlo
Enrico

 sincronizzazione degli utenti / gruppi tra moduli
Non so come sara` Samba4 (e` ancora in fase di sviluppo), ma rimango 
dell'idea che LDAP sia sempre e comunque la via :)
Enrico

 Ma non c'è un modo più semplice?
Vediamo se ho capito bene: avete un dominio Active Directory che, per 
qualche astruso[1] motivo, state migrando a Linux e state incontrando 
problemi nella gestione degli utenti e dei permessi. Prima di continuare 
il discorso, e` necessario capire due cose:
 1) La migrazione e` riferita solo al server oppure anche ai client?
 2) I problemi da te riportati sono a livello server oppure a livello
    client?
Per il primo punto, la domanda e` topica in quanto potreste migrare la 
gestione della rete da AD a NSF + LDAP, tenendo comunque in mente che e` 
possibile impostare delle ACL come ti e` stato illustrato nelle altre 
risposte. Per il secondo punto, puoi impostare i permessi anche dal 
client Windows alla stessa maniera di come le imposti sul dominio 
attuale, l'importante e` che le utenze siano viste dal server
Enrico
[1] Astruso perche`, nonostante io stesso ho installato ed utilizzato 
domini basati su Samba, me ne sono amaramente pentito confrontandoli con 
la semplicita` di gestione di un dominio AD basato su Windows

 Dolphin (il file manager di KDE4) supporta le ACL,
Guarda che se però non le supporta in modo ricorsivo per me (*) è come 
se non esistesse.
Con quell'altro software che è stato suggerito, io non posso selezionare 
500 file uno per uno ...
(*) me = ipotetico end-user
     me_me invece = setfacl -R blabla, find .. -exec blabla e buona notte.


 l'OP? Come?
No, non solo con quegli strumenti. Hai tagliato la parte di messaggio che ti
diceva quali strumenti usare.


 se non esistesse.
Le supporta, le supporta...
Enrico


ed è quello che hanno fatto! puoi usare il server integrato oppure
openldap (ed anche altri), anche se ora è meglio usare quello integrato


C'era un server windows NT e i pc con XP.
Per problemi di licenze (ehm...) stiamo passando tutto a linux Ubuntu, 
sia il server che i pc.
Le condivisioni stavano solitamente sul server (ma anche su qualche pc); 
i permessi "di condivisione" li metteva l'amministratore; quelli delle 
sottocartelle all'interno della condivisione, li gestiva il proprietario 
della sottocartella.

 openldap (ed anche altri), anche se ora è meglio usare quello integrato
Il mio era un discorso piu` generico, ovvero usare sempre e comunque LDAP 
in presenza di ambienti con piu` postazioni (mi sono espresso male)
Enrico

 sia il server che i pc.
Se state passando tutto a Linux[1], sia client che server, allora la 
soluzione piu` semplice e` usare LDAP per la gestione utenze e NFS per 
l'esportazione delle condivisioni. Per la gestione delle ACL, tutto 
dipende dal sistema che implementate: con GNOME, nautilus dovrebbe 
gestirle; per KDE sono gestite da Dolphin e comunque sono sempre a 
disposizione i tool a linea di comando (getfacl e setfacl)
Enrico
[1] un consiglio: per il server, usate una distribuzione pensata da 
server (e no, ubuntu non rientra in questa categoria)

 Mi pare di aver capito di no.
No, bisogna attivare gli attributi estesi (acl) nel file system, installare 
i comandi di gestione (in qualche distribuzioni recenti viene fatto di 
default) e poi usare i comandi setfacl e getfacl:
]zac[
EXAMPLES
       Granting an additional user read access
              setfacl -m u:lisa:r file
       Revoking write access from all groups and all named users (using the 
effective rights mask)
              setfacl -m m::rx file
       Removing a named group entry from a file?s ACL
              setfacl -x g:staff file
       Copying the ACL of one file to another
              getfacl file1 | setfacl --set-file=- file2
Qualcuno ha scritto che samba supporta bene le acl e che si possono 
impostare da sistemi windows, e il linux kde dovrebbe supportarle 
nativamente.

 impostare da sistemi windows,
Mica molto vero. Le ACL di Windows non sono come quelle POSIX che usa Linux.
In linea di massima si riesce abbastanza bene a fare un mapping tra le ACL
Linux e quelle Windows, ma non esiste un mapping 1:1 e quindi alcune
impostazioni sono impossibili (
p.es
. su Linux la cancellazione č imposta su
una directory, su Linux č invece sul singolo file).


 della sottocartella.
Una aggiunta, nelle distribuzioni recenti, spesso le ACL spesso sono già 
attivate, basta inserire ' acl ' nelle opzioni di mount (per esempio in 
fstab 
aggiungere ' ,acl ').
Poi i recenti kde hanno le opzioni per gestire le acl e l'applicazione delle 
acl in modo grafico (quindi abbastanza semplice).
E con ultimi samba è possibile gestire gli attributi estesi anche da 
windows.
Quanto scritto è solo il frutto di quanto letto e di una prova limitata, 
serve sempre una contro prova approfondita e reale.
In sintesi potrebbe essere piuttosto facile ottenere quello che hai chiesto 
(naturalmente dovete provare per essere sicuri).
P.S. Mentre se avete intenzione di utilizzare linux come controller di 
dominio o molto molto peggio, come controller di active directory, potrebbe 
non essere facile o possibile ottenerlo.

 
Grazie per la precisazione e il dettaglio.
Uffa alla mia mania di dare per scontato che tutti diano per scontato questo 
tipo di cose (linux non fa tutto quello che fa windows, sempre provare).

 fstab
]zac[
Altra aggiunta, attenzione agli strumenti che vengono usati per fare copie o 
backup, verificare che mantengano le ALC (se non le supportano le ACL 
vengono perse).

 le ACL vengono perse).
A tal proposito, ricordo che Debian e derivate (Ubuntu) utilizzano una 
versione di GNU tar compilata senza il supporto per le ACL (cfr http://
bugs.debian.org/cgi-bin/bugreport.cgi?bug=254615
 ). Per ovviare 
all'inconveniente, si puo` usare bsdtar oppure passare ad un altro metodo 
di gestione dei backup
Enrico