Punto informatico Network
Login Esegui login | Non sei registrato? Iscriviti ora (è gratuito!)
Username: Password:
  • Annuncio Pubblicitario

Permessi

Per chi muove i primi passi nel mondo del pinguino

Permessi

Messaggioda Palpas » lun giu 14, 2010 10:43 am

ciao a tutti.
Da quel che ho capito in ubuntu i privilegi ai file\directory si possono assegnare a tre figure: proprietario, gruppi e altri
Ma che significa?? [:D]
Se io ad esempio voglio negare l'accesso all'utente Tizio non posso farlo... e poi....chi è "altri"?? [:D]
Mi spiegate come funziona sta storia?
grazie ciau [ciao]
Zane grazie per l'esperienza MLI
Avatar utente
Palpas
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 2544
Iscritto il: mar set 25, 2007 4:48 pm

Re: Permessi

Messaggioda The Doctor » lun giu 14, 2010 2:41 pm

Palpas ha scritto:ciao a tutti.
Da quel che ho capito in ubuntu i privilegi ai file\directory si possono assegnare a tre figure: proprietario, gruppi e altri
Ma che significa?? [:D]
Se io ad esempio voglio negare l'accesso all'utente Tizio non posso farlo... e poi....chi è "altri"?? [:D]
Mi spiegate come funziona sta storia?
grazie ciau [ciao]


I permessi sui file e sulle cartelle sono di 3 tipi: lettura (r), scrittura (w) ed esecuzione (x) e tali permessi si applicano a 3 figure: proprietario (u), gruppo (g), altri (o).

Ogni file o cartella è di proprietà di un utente e di un gruppo, quindi è possibile decidere quale tipo di permessi (rwx) assegnare a tale utente, a tale gruppo e a tutti coloro che non sono nè l'utente proprietario nè fanno parte di tale gruppo.

Esempio:
io ho sul PC un file che si chiama documento.txt il cui proprietario è thedoctor del gruppo thedoctor ed imposto i permessi di (rwx) su tale file a 770. Ciò significa che l'utente thedoctor può leggere/scrivere/eseguire il file (primo 7) così come tutti gli appartenenti al gruppo thedoctor (secondo 7), mentre tutti gli altri non possono fare nulla (0)
Ciao Nonno
Avatar utente
The Doctor
MLI Hero
MLI Hero
 
Messaggi: 5553
Iscritto il: mer mar 24, 2010 9:10 am
Località: Fiumicino (Roma)

Re: Permessi

Messaggioda ninjabionico » lun giu 14, 2010 4:39 pm

Ne parlai qualche tempo fa in http://forum.ubuntu-it.org/index.php?to ... #msg570535

Naturalmente la gestione può essere fatta anche graficamente con Nautilus o qualsiasi altro file-manger come in Windows, ma a mio avviso è proprio nel comando chmod la soluzione più potente, veloce ed efficiente.

[ciao]
Io dico le cose così come stanno! Questo è il mio credo ninja - by Naruto Uzumaki
Expert-Advanced User Powered by Gnu/Linux
Avatar utente
ninjabionico
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 5207
Iscritto il: lun mar 20, 2006 10:51 pm
Località: Prov. Pd


Re: Permessi

Messaggioda masterz3d » lun giu 14, 2010 5:25 pm

Ciò significa che se vuoi negare l'accesso di un particolare utente ad un particolare file puoi prendere come esempio la struttura delle periferiche in /dev. In poche parole prendi un file a cui vuoi negare l'accesso a qualcuno, con i privilegi di root o tramite sudo crei un nuovo gruppo di file privati o un gruppo particolare che contiene solo quel file:
Codice: Seleziona tutto
groupadd privfiles
chown <nomeutente>:privfiles <file>

dove nomeutente può essere anche l'utente non root che prima ne era il proprietario; file è il file a cui cambiare i permessi.

Poi devi ricordarti di aggiungere tutti gli utenti che vuoi accedano a quel file nel gruppo privfiles. Si può fare invocando usermod per ogni utente oppure modificando il file /etc/group una sola volta. Se apri il file in lettura potrai vedere in fondo una riga come questa:
Codice: Seleziona tutto
privfiles:x:<NNN>:

dove NNN è il GID (group ID). Non devi fare altro che modificarlo con un editor ASCII da root o tramite sudo aggiungendo gli utenti che vuoi che possano accedere al file:
Codice: Seleziona tutto
privfiles:x:<NNN>:utente1,utente2,utente3,utente4

e, ovviamente, lasciando fuori l'utente Tizio.

Poi esci dall'editor e modifichi i permessi per il file:
Codice: Seleziona tutto
chmod 660 <file>

E tutti e soli i membri del gruppo privfiles (oltre al proprietario, specificato nella prima invocazione di chown) avranno accesso in lettura e scrittura al file, e a tutti i file che verranno assegnati al gruppo privfiles. C'è un solo problema, ed è il fatto che questi permessi si basano per gruppo e non per utente. In altre parole, se cambi i permessi del file da 660 a 640 tutti i membri del gruppo potranno solo leggere il file, e non scriverci sopra.


Poi non ho visto, nè qui nè nella discussione linkata su ubuntu.it la spiegazione sulla struttura dei permessi in ottale.

Il sistema ottale è un sistema di numerazione come il binario, il decimale o l'esadecimale. Il binario si basa su un'unico bit, che può assumere due valori: 0 o 1. L'esadecimale si basa su quattro bit, che possono assumere sedici valori, da 0000 a 1111 (0-F). Per i permessi di GNU/Linux si usa l'ottale, che è una combinazione di tre bit, e ad ogni bit è assegnato un "flag" per il permesso corrispondente. Ricordo che i permessi dei file sono raggruppati e possono essere rappresentati in una riga di un totale di dieci flag, ovvero
Codice: Seleziona tutto
-rwxrwxrwx

dove il primo segno - più a sinistra (sticky - setuid - setgid) è un flag particolare che ha significati che vanno al di là dei semplici permessi. Ma ora non ci interessa, e quello che voglio spiegare io è come l'ottale corrisponde alla riga dei flag.

Per esempio, rappresentare la riga dei permessi vuota equivale ad immaginare una stringa binaria che rappresenti un numero ottale in binario con 10 cifre:
Codice: Seleziona tutto
----------
0000000000

Immaginiamo ora di "attivare" i flag di lettura, che corrispondono ad ogni terzo bit da destra:
Codice: Seleziona tutto
-r--r--r--
0100100100

Se converti il numero binario che ho scritto in base ottale avrai esattamente un 0444 (o 444), che è il numero ottale che devi dare a chmod per settare i permessi in sola lettura per tutti:
Codice: Seleziona tutto
chmod 444 <file>

oppure
Codice: Seleziona tutto
chmod a+r-wx <file>

Se vuoi renderlo leggibile e modificabile per il proprietario(rw-, 110 binario, 6 ottale), di sola lettura per il gruppo di quel file (r--, 100 binario, 4 ottale) e illeggibile per chiunque altro (---, 000 binario, 0 ottale) devi fare così:
Codice: Seleziona tutto
chmod 640 <file>

oppure
Codice: Seleziona tutto
chmod u+rw,g+r <file>

ovvero
Codice: Seleziona tutto
-rw-r-----
0110100000

Invece, per rendere un eseguibile leggibile, modificabile e eseguibile da tutti (rwx, 111 binario, 7 ottale) devi fare così:
Codice: Seleziona tutto
chmod 777 <file>

oppure
Codice: Seleziona tutto
chmode a+rwx <file>

ovvero
Codice: Seleziona tutto
-rwxrwxrwx
0111111111


Il fine è lo stesso, cambia il percorso. chmod è un programma molto versatile. Ogni modalità è separata dalle altre con una virgola e puoi divertirti con combinazioni diverse a raggiungere lo stesso risultato. Se però usi solo i flag rwx e non l'ottale modifichi solo i flag che specifichi, gli altri rimangono attivi (o disattivi) finchè non decidi il contrario, ma comunque hai la possibilità di gestire i permessi fino al minimo dettaglio.
Tocca i grani di un mala durante la preghiera, in ordine, tutti.
Allora sfiorerai la natura del Buddha.
Avatar utente
masterz3d
Senior Member
Senior Member
 
Messaggi: 425
Iscritto il: mer nov 04, 2009 4:59 pm
Località: Fiumicello, UD

Re: Permessi

Messaggioda Palpas » lun giu 14, 2010 9:32 pm

ringrazio a tutti per le rapide e complete risposte [:)] ora mi è tutto un po più chiaro.
In pratica la cosa si gestisce a livello di gruppi, ossia devo assegnare i permessi ad un gruppo...poi successivamente metto gli utenti interessati in quel gruppo...
Zane grazie per l'esperienza MLI
Avatar utente
Palpas
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 2544
Iscritto il: mar set 25, 2007 4:48 pm

Re: Permessi

Messaggioda The Doctor » lun giu 14, 2010 9:59 pm

Palpas ha scritto:ringrazio a tutti per le rapide e complete risposte [:)] ora mi è tutto un po più chiaro.
In pratica la cosa si gestisce a livello di gruppi, ossia devo assegnare i permessi ad un gruppo...poi successivamente metto gli utenti interessati in quel gruppo...


Più che assegnare i permessi ad un gruppo, assegni una cartella o un file ad un gruppo, imposti i permessi a tale cartella e poi assegni gli utenti a quel gruppo [;)]

Se ad esempio hai una cartella chiamata private alla quale vuoi far accedere solo determinati utenti, crei un gruppo chiamato, ad esempio, privileged con:

Codice: Seleziona tutto
sudo addgroup privileged


gli imposti come utente proprietario il tuo e come gruppo privileged con:

Codice: Seleziona tutto
sudo chown -R tuonomeutente:privileged private/


poi aggiungi il gruppo privileged agli utenti che vuoi con:

Codice: Seleziona tutto
sudo adduser nomeutente privileged


infine imposti i permessi sulla cartella in modo che possano leggere, scrivere, eseguire solo il proprietario e gli appartenenti al gruppo privileged con:

Codice: Seleziona tutto
sudo chmod -R 770 private/


Spero di essere stato chiaro [;)]
Ciao Nonno
Avatar utente
The Doctor
MLI Hero
MLI Hero
 
Messaggi: 5553
Iscritto il: mer mar 24, 2010 9:10 am
Località: Fiumicino (Roma)

Re: Permessi

Messaggioda Palpas » lun giu 14, 2010 10:10 pm

ah, quindi prima non avevo capito un tubo [acc2] [rolleyes]
ora inizio a fare prove pratiche... [:)]

[grazie]
Zane grazie per l'esperienza MLI
Avatar utente
Palpas
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 2544
Iscritto il: mar set 25, 2007 4:48 pm

Re: Permessi

Messaggioda masterz3d » mar giu 15, 2010 12:00 pm

doctor, l'utilizzo di adduser che hai specificato mi sembra sbagliato. In primo luogo, per modificare le impostazioni di un utente non si usa adduser (o useradd) ma usermod. Così facendo tenti di creare un nuovo utente con lo stesso nome. E poi non puoi specificare un gruppo solo se la tua intenzione è solo aggiungere. Per aggiungere un gruppo ad un utente devi usare la seguente sintassi:
Codice: Seleziona tutto
usermod -G <gruppo1>,<gruppo2>,<gruppo3>,...,<gruppoN> loginname

Il fatto è che l'utente viene rimosso da tutti i gruppi, tranne da quelli che hai specificato con -G. Per questo io in genere non uso mai usermod per cambiare gruppi ma agisco direttamente su /etc/group, così non c'è possibilità di sbagliare.

Se poi vuoi usare useradd per modificare alcune delle impostazioni di default di un utente devi usare l'opzione -D:
Codice: Seleziona tutto
useradd -D -g <nuovogruppo> loginname

Ma questa è un'arma a doppio taglio. Da una parte modifichi il gruppo di default di cui quell'utente fa parte (se quindi il gruppo di default è users poi diventa nuovogruppo); dall'altra i gruppi secondari non vengono modificati, e se l'utente non fa parte di gruppi secondari e ci sono directory con permessi 750 del gruppo users quell'utente non può più entrare, a meno che non sia proprietario della directory, ma poi la gestione diventa troppo complicata. Io trovo molto più semplice lavorare con usermod o modificando /etc/group.

Ti torna?
Tocca i grani di un mala durante la preghiera, in ordine, tutti.
Allora sfiorerai la natura del Buddha.
Avatar utente
masterz3d
Senior Member
Senior Member
 
Messaggi: 425
Iscritto il: mer nov 04, 2009 4:59 pm
Località: Fiumicello, UD

Re: Permessi

Messaggioda Palpas » mar giu 15, 2010 12:56 pm

bene, se prima avevo iniziato a comprendere.... ora non ci ho capito più una mazza [:D]
a parole povere povere povere? (dopo magari approfondisco da solo...)
Zane grazie per l'esperienza MLI
Avatar utente
Palpas
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 2544
Iscritto il: mar set 25, 2007 4:48 pm

Re: Permessi

Messaggioda masterz3d » mar giu 15, 2010 1:48 pm

Se vuoi assegnare un qualche cosa ad un gruppo devono esistere sia quel qualche cosa (che chiamerò "oggetto", che può essere una directory o un file) che il gruppo dove lo vuoi mettere. Il gruppo lo crei con groupadd, poi assegni l'oggetto al gruppo con chown, come abbiamo già spiegato.

Poi aggiungi un utente al gruppo che ha quei determinati permessi su quel file con usermod, mettendo il gruppo tra i gruppi secondari, usando l'opzione -G:
Codice: Seleziona tutto
usermod -G grupposecondario utente

(Dando per scontato il fatto che non abbia altri gruppi secondari.)

Se poi fai ls -la per visualizzare tutte le caratteristiche del file vedrai i permessi in dettaglio nella colonna dei flag: quelli per il gruppo sono i tre nel mezzo (-|rwx|rwx|rwx|).
Tocca i grani di un mala durante la preghiera, in ordine, tutti.
Allora sfiorerai la natura del Buddha.
Avatar utente
masterz3d
Senior Member
Senior Member
 
Messaggi: 425
Iscritto il: mer nov 04, 2009 4:59 pm
Località: Fiumicello, UD

Re: Permessi

Messaggioda The Doctor » mar giu 15, 2010 3:14 pm

doctor, l'utilizzo di adduser che hai specificato mi sembra sbagliato. In primo luogo, per modificare le impostazioni di un utente non si usa adduser (o useradd) ma usermod.


adduser e useradd, sebbene facciano in sostanza la stessa cosa, sono due comandi diversi.

Così facendo tenti di creare un nuovo utente con lo stesso nome.


No, non faccio altro che aggiungere un utente specifico ad un gruppo specifico [;)]

Immagine

E poi non puoi specificare un gruppo solo se la tua intenzione è solo aggiungere.


e chi lo dice? [:D]

Per aggiungere un gruppo ad un utente devi usare la seguente sintassi:

Codice: Seleziona tutto
usermod -G <gruppo1>,<gruppo2>,<gruppo3>,...,<gruppoN> loginname


Il fatto è che l'utente viene rimosso da tutti i gruppi, tranne da quelli che hai specificato con -G. Per questo io in genere non uso mai usermod per cambiare gruppi ma agisco direttamente su /etc/group, così non c'è possibilità di sbagliare.

Se poi vuoi usare useradd per modificare alcune delle impostazioni di default di un utente devi usare l'opzione -D:

Codice: Seleziona tutto
useradd -D -g <nuovogruppo> loginname


Ma questa è un'arma a doppio taglio. Da una parte modifichi il gruppo di default di cui quell'utente fa parte (se quindi il gruppo di default è users poi diventa nuovogruppo); dall'altra i gruppi secondari non vengono modificati, e se l'utente non fa parte di gruppi secondari e ci sono directory con permessi 750 del gruppo users quell'utente non può più entrare, a meno che non sia proprietario della directory, ma poi la gestione diventa troppo complicata. Io trovo molto più semplice lavorare con usermod o modificando /etc/group.


Tutta 'sta procedura esagerata solo per aggiungere un utente ad un gruppo... quando basta un semplice comando come hai potuto vedere [:)]
Ciao Nonno
Avatar utente
The Doctor
MLI Hero
MLI Hero
 
Messaggi: 5553
Iscritto il: mer mar 24, 2010 9:10 am
Località: Fiumicino (Roma)

Re: Permessi

Messaggioda masterz3d » mar giu 15, 2010 3:55 pm

Purtroppo in Slack adduser è un semplice wrapper di useradd, ecco perché ho sparato tante scemate...

Immagine
Tocca i grani di un mala durante la preghiera, in ordine, tutti.
Allora sfiorerai la natura del Buddha.
Avatar utente
masterz3d
Senior Member
Senior Member
 
Messaggi: 425
Iscritto il: mer nov 04, 2009 4:59 pm
Località: Fiumicello, UD

Re: Permessi

Messaggioda Al3x » mar giu 15, 2010 3:59 pm

credevo ci fosse più uniformità tra le varie distro almeno per quanto riguarda aree così importanti come la gestione dei permessi sul filesystem...
è primavera finalmente! [:)]
Avatar utente
Al3x
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 7411
Iscritto il: sab gen 10, 2009 12:51 pm
Località: http://127.0.0.1/

Re: Permessi

Messaggioda The Doctor » mar giu 15, 2010 5:40 pm

Purtroppo in Slack adduser è un semplice wrapper di useradd, ecco perché ho sparato tante scemate...


Mai pensato che tu avessi detto scemate [;)] davo per scontato che usassi ubuntu e stessi utilizzando solo una procedura molto complicata e, anzi, mi scuso se ti ho dato tale impressione [:)]

Al3x ha scritto:credevo ci fosse più uniformità tra le varie distro almeno per quanto riguarda aree così importanti come la gestione dei permessi sul filesystem...


Già, la penso esattamente come te [uhm]

EDIT: mi piacerebbe conoscere il parere di ninjabionico in merito...
Ciao Nonno
Avatar utente
The Doctor
MLI Hero
MLI Hero
 
Messaggi: 5553
Iscritto il: mer mar 24, 2010 9:10 am
Località: Fiumicino (Roma)

Re: Permessi

Messaggioda masterz3d » mar giu 15, 2010 6:02 pm

The Doctor ha scritto:Mai pensato che tu avessi detto scemate [;)] davo per scontato che usassi ubuntu e stessi utilizzando solo una procedura molto complicata e, anzi, mi scuso se ti ho dato tale impressione [:)]

Figurati, anzi ti ringrazio per avermi insegnato qualcosa di nuovo, potrebbe tornarmi molto utile in futuro [^]
E mi scuso per essere partito dal pregiudizio che adduser di Slack potesse essere uguale ad adduser di Ubuntu [acc2]

Al3x ha scritto:credevo ci fosse più uniformità tra le varie distro almeno per quanto riguarda aree così importanti come la gestione dei permessi sul filesystem...

Io credo che non ci sia mai stata una grande uniformità tra le distribuzioni, prima di tutto per quanto riguarda (esempio banale) i gestori di pacchetti, e poi per questioni più o meno importanti, tra cui programmi delle varie comunità. A me piace molto l'uniformità (anzi, io la intendo meglio con il termine compatibilità, copre molti più aspetti della questione) ed ecco perché quando posso compilo da sorgenti ufficiali senza patch (non ufficiali).
Tocca i grani di un mala durante la preghiera, in ordine, tutti.
Allora sfiorerai la natura del Buddha.
Avatar utente
masterz3d
Senior Member
Senior Member
 
Messaggi: 425
Iscritto il: mer nov 04, 2009 4:59 pm
Località: Fiumicello, UD

Re: Permessi

Messaggioda ninjabionico » ven giu 18, 2010 9:14 pm

Ciao.

The Doctor ha scritto:
Al3x ha scritto:credevo ci fosse più uniformità tra le varie distro almeno per quanto riguarda aree così importanti come la gestione dei permessi sul filesystem...


Già, la penso esattamente come te [uhm]

EDIT: mi piacerebbe conoscere il parere di ninjabionico in merito...


In realtà il mondo Unix (e quindi Linux) è come un'immensa scatola di Lego... [:D]

... non è raro che per realizzare una costruzione simile due persone utilizzino pezzi diversi... [;)]

... del resto ciò che viene chiesto è che i sistemi devono fare certe operazioni, ma è lasciata massima libertà sul come.

Anni fa la divergenza fra le distribuzioni era forse ancora maggior, per semplificare le cose si cercò di raggiungere un compromesso... il Linux Standard Base


[ciao]
Io dico le cose così come stanno! Questo è il mio credo ninja - by Naruto Uzumaki
Expert-Advanced User Powered by Gnu/Linux
Avatar utente
ninjabionico
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 5207
Iscritto il: lun mar 20, 2006 10:51 pm
Località: Prov. Pd


Torna a NewBie

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti

Powered by phpBB © 2002, 2005, 2007, 2008 phpBB Group
Traduzione Italiana phpBB.it

megalab.it: testata telematica quotidiana registrata al Tribunale di Cosenza n. 22/09 del 13.08.2009, editore Master New Media S.r.l.; © Copyright 2008 Master New Media S.r.l. a socio unico - P.I. 02947530784. GRUPPO EDIZIONI MASTER Spa Tutti i diritti sono riservati. Per la pubblicità: Master Advertising