Linux e permessi utente / comandi vari da shell

Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Super Moderatore L'avatar di frakka
    Registrato
    May 2001
    Località
    Casalecchio di Reno (Bo)
    Età
    43
    Messaggi
    23,390
    configurazione

    Predefinito Linux e permessi utente / comandi vari da shell

    Trafficando con la mia linuxbox mi ritrovo (per la verità molto più spesso di quanto non avrei mai pensato) a usare la consolle per lavorare come superutente sui file. Siccome sono un figlio di windows e dell'interfaccia grafica stavo cercando qualche spiegazione di alcuni comandi.

    Non fraintendetemi: Ho al seguito una bellissima guida cartacea con le spiegazioni di alcuni comandi base ma ci sono alcune cose che non mi riesce di capire:

    - Eliminazione di una directory non vuota.
    Possibile che non ci sia un comando per cancellare definitivamente e senza tante storie un cartella piena di schifezze che si nidificano in decine di sottocartelle senza passare da X???
    rm [opzioni] Funziona solo con i file. Le directory le salta.
    rmdir [opzioni] Elimina una directory se è vuota. Altrimenti non me la cancella. Ho provato con -f ma o sbaglio la sintassi oppure gli sono antipatico... Insomma mi è toccato avviare KDE come root per cancellare una cartella che avevo momentaneamente spostato in /... Mi sembra quantomeno poco pratico!!!

    - Gestione dei permessi sui file/cartelle.
    Siccome anche come root non sempre cambiando i permessi da modalità grafica ottengo il risultato voluto ho fatto la conoscenza del comando chmod. Mi ci trovo molto bene ma preferisco usare la forma numerica per assegnare i permessi... Sarà la poca pratica ma con i ro+-rxw mi perdo. Però non sono ancora riuscito a capire come combinare le sequenze di numeri per ottenere i permessi voluti. Adesso vado praticamente per tentativi ma mi sembra un approccio poco intelligente anche se ottengo lo scopo.Ho trovato questo in giro:

    I permessi di azione vengoni identificati nel seguente modo:
    lettura definito dal flag r che tradotto in numero assume il valore 4
    scrittuta definito dal flag w che tradotto in numero assume il valore 2
    esecuzione definito dal flag x che tradotto in numero assume il valore 1
    Qualcuno, mi linka, per favore una tabella con elencati per filo e per segno i numeri da usare per assegnare i permessi???? Cioè una tabellina con tutti i numeri utilizzabili e le relative corrispondenze (la prima cifra serve a questo, la seconda a questo, la terza a quest'altro. 1 corrisponde a ... ; 2 corrisponde a ... ; 3 corrisponde a...; etc...) oppure mi spiega come calcolano i codici numerici? Se non ho capito male il comando chmod 777 ad esempio è una somma dei 3 numeri sopra riportati che assegna a tutti gli utenti tutti i permessi su tutti i file nel primo livello della e chmod 677 invece assegna tutti i diritti a tutti gli utenti però lavora solo sulle del primo livello.

    Quello che non capisco è come saltano fuori questi numeri???
    Come faccio a cambiare in un colpo solo tutti i diritti a tutta la struttura di una directory, file e cartelle/sottocartelle fino all'ultimo livello???

    Questa è la storia di 4 persone chiamate Ognuno, Qualcuno, Ciascuno e Nessuno. C'era un lavoro importante da fare e Ognuno era sicuro che Qualcuno lo avrebbe fatto. Ciascuno poteva farlo, ma Nessuno lo fece, Qualcuno si arrabbiò perché era il lavoro di Ognuno. Ognuno pensò che Ciascuno potesse farlo, ma Ognuno capì che Nessuno l'avrebbe fatto. Finì che Ognuno incolpò Qualcuno perché Nessuno fece ciò che Ciascuno avrebbe potuto fare.

  2. #2
    Supervisore Straordinario L'avatar di tHeGoOd
    Registrato
    Sep 2000
    Località
    Cenaia, Toscana, Italy, Italy
    Età
    39
    Messaggi
    1,669

    Predefinito

    [QUOTE=frakka]
    - Eliminazione di una directory non vuota.
    Possibile che non ci sia un comando per cancellare definitivamente e senza tante storie un cartella piena di schifezze che si nidificano in decine di sottocartelle senza passare da X???
    rm [opzioni] Funziona solo con i file. Le directory le salta.
    rmdir [opzioni] Elimina una directory se è vuota. Altrimenti non me la cancella. Ho provato con -f ma o sbaglio la sintassi oppure gli sono antipatico... Insomma mi è toccato avviare KDE come root per cancellare una cartella che avevo momentaneamente spostato in /... Mi sembra quantomeno poco pratico!!!

    Allora... ci sei andato vicino!! Il trucco è usare rm -R (con la R maiuscola o minuscola).
    Dal man di rm:
    -r or -R Recursively remove directory trees.
    Che è proprio quello che ti serve :P
    Se poi hai una config. dove, per la rimozione di ogni file, rm ti chiede conferma, puoi usare l'opzione -f che nn chiede più conferma.
    Questa è l'operazione PIU' pericolosa che si possa fare, con un minimo di disattenzione da root si cancella tutto il filesystem e ciao ciao...
    Però è anche molto potente e permette di eliminare directory e sottodirectory in un attimo :P
    It is common knowledge that old school hackers all have large beards. Alan Cox,RMS and maddog are brilliant examples. The reason for this is that growing a beard is the most interesting use of one's time when the computer is waiting for fsck to finish messing around after a system crash, and on large filesystems, you'll have plenty of time to waste (this might also be why there are so few female hackers; they can't grow beards).

  3. #3
    Supervisore Straordinario L'avatar di tHeGoOd
    Registrato
    Sep 2000
    Località
    Cenaia, Toscana, Italy, Italy
    Età
    39
    Messaggi
    1,669

    Predefinito

    Originariamente inviato da frakka
    - Gestione dei permessi sui file/cartelle.
    Siccome anche come root non sempre cambiando i permessi da modalità grafica ottengo il risultato voluto ho fatto la conoscenza del comando chmod. Mi ci trovo molto bene ma preferisco usare la forma numerica per assegnare i permessi... Sarà la poca pratica ma con i ro+-rxw mi perdo. Però non sono ancora riuscito a capire come combinare le sequenze di numeri per ottenere i permessi voluti. Adesso vado praticamente per tentativi ma mi sembra un approccio poco intelligente anche se ottengo lo scopo.Ho trovato questo in giro:



    Qualcuno, mi linka, per favore una tabella con elencati per filo e per segno i numeri da usare per assegnare i permessi???? Cioè una tabellina con tutti i numeri utilizzabili e le relative corrispondenze (la prima cifra serve a questo, la seconda a questo, la terza a quest'altro. 1 corrisponde a ... ; 2 corrisponde a ... ; 3 corrisponde a...; etc...) oppure mi spiega come calcolano i codici numerici? Se non ho capito male il comando chmod 777 ad esempio è una somma dei 3 numeri sopra riportati che assegna a tutti gli utenti tutti i permessi su tutti i file nel primo livello della e chmod 677 invece assegna tutti i diritti a tutti gli utenti però lavora solo sulle del primo livello.

    Quello che non capisco è come saltano fuori questi numeri???
    Come faccio a cambiare in un colpo solo tutti i diritti a tutta la struttura di una directory, file e cartelle/sottocartelle fino all'ultimo livello???
    Allora, quando fai un ls -l hai un output del genere:

    codice:
    -rw-r--r--   1 thegood users     150 Feb 11 11:55 ciao
    i permessi si leggono così:

    Il primo "-" rappresenta il tipo di file. E' "-" per un file generale, "d" per una directory e "b" o "c" per file che puntano a periferiche (li trovi in /dev)

    Il rimanente "rw-r--r--" Si divide in 3 gruppi:
    "rw-" -> I permessi dell'utente proprietario del file (in questo caso "thegood")
    "r--" -> I permessi degli utenti del gruppo proprietario del file (in questo caso "users")
    "r--" -> I permessi per gli altri utenti

    I permessi sono così divisi:

    File:
    "rwx" -> Read, Write, Execute.
    Directory:
    "rwx" -> Listing tramite ls, Scrittura/Eliminazione di file,Accesso alla directory

    Se un permesso non è impostato su quel file si trova un segno "-" al posto della lettera.
    Nel nostro caso, l'utente "thegood" può leggere e scrivere il file. Gli altri sono leggerlo.

    In realtà questi permessi sono visti come bit., quindi del tipo
    "100" -> "r--"; "110" -> "rw-"; "010" -> "-w-" E così via.

    A chmod si passano 3 numeri, uno per ogni serie di permessi: utente-gruppo-altri.

    quindi si ha, x esempio,
    codice:
    chmod 644 ciao
    .
    I numeri vengono poi convertiti in binario e applicati come permessi.
    Ad esempio, 6 è 110 -> "rw-"; 4 è "100" -> "r--".
    Per le caratteristiche del sistema binario, si può dire che:
    "r" -> 4
    "w" -> 2
    "x" -> 1
    Quando devi combinarli, li sommi. Così "r-x" diventa 4+1->5

    Tutto quì. Si, sembra complicato, ma il concetto di base è semplicissimo. Il problema è che nn siamo abituati a contare in binario!
    It is common knowledge that old school hackers all have large beards. Alan Cox,RMS and maddog are brilliant examples. The reason for this is that growing a beard is the most interesting use of one's time when the computer is waiting for fsck to finish messing around after a system crash, and on large filesystems, you'll have plenty of time to waste (this might also be why there are so few female hackers; they can't grow beards).

  4. #4
    Supervisore Straordinario L'avatar di tHeGoOd
    Registrato
    Sep 2000
    Località
    Cenaia, Toscana, Italy, Italy
    Età
    39
    Messaggi
    1,669

    Predefinito

    E per cambiare i permessi ai file e alle sottodirectory, c'è sempre il -R che applica il comando ricorsivamente!
    It is common knowledge that old school hackers all have large beards. Alan Cox,RMS and maddog are brilliant examples. The reason for this is that growing a beard is the most interesting use of one's time when the computer is waiting for fsck to finish messing around after a system crash, and on large filesystems, you'll have plenty of time to waste (this might also be why there are so few female hackers; they can't grow beards).

  5. #5
    Super Moderatore L'avatar di frakka
    Registrato
    May 2001
    Località
    Casalecchio di Reno (Bo)
    Età
    43
    Messaggi
    23,390
    configurazione

    Predefinito

    Originariamente inviato da tHeGoOd
    Allora... ci sei andato vicino!! Il trucco è usare rm -R (con la R maiuscola o minuscola).
    Dal man di rm:
    -r or -R Recursively remove directory trees.
    Che è proprio quello che ti serve :P
    Se poi hai una config. dove, per la rimozione di ogni file, rm ti chiede conferma, puoi usare l'opzione -f che nn chiede più conferma.
    Quindi:
    rm -rf Io però avevo capito che rm funzionava solo con i file... Adesso faccio un prova.
    Ok, ha funzionato. E io che ieri mi sono passato una intera struttura da una decina di livelli cartella dopo cartella... In pratica sbagliavo la sintassi. Devo fare attenzione a ricordarmi di mettere "/" alla fine del percorso se voglio copiare una directory, altrimenti la shell crede che io stia cercando di copiare un file, giusto??

    Questa è la storia di 4 persone chiamate Ognuno, Qualcuno, Ciascuno e Nessuno. C'era un lavoro importante da fare e Ognuno era sicuro che Qualcuno lo avrebbe fatto. Ciascuno poteva farlo, ma Nessuno lo fece, Qualcuno si arrabbiò perché era il lavoro di Ognuno. Ognuno pensò che Ciascuno potesse farlo, ma Ognuno capì che Nessuno l'avrebbe fatto. Finì che Ognuno incolpò Qualcuno perché Nessuno fece ciò che Ciascuno avrebbe potuto fare.

  6. #6
    Super Moderatore L'avatar di frakka
    Registrato
    May 2001
    Località
    Casalecchio di Reno (Bo)
    Età
    43
    Messaggi
    23,390
    configurazione

    Predefinito

    Originariamente inviato da tHeGoOd
    Tutto quì. Si, sembra complicato, ma il concetto di base è semplicissimo. Il problema è che nn siamo abituati a contare in binario!
    No, non tanto. Chi è che non sà passare direttamente dall'italiano al codice binario? TNX

    Ok, stò digerendo quanto mi spiegato. Mi ci vorrà un pochettino poi ti chiedo di nuovo conferma, ok?

    Questa è la storia di 4 persone chiamate Ognuno, Qualcuno, Ciascuno e Nessuno. C'era un lavoro importante da fare e Ognuno era sicuro che Qualcuno lo avrebbe fatto. Ciascuno poteva farlo, ma Nessuno lo fece, Qualcuno si arrabbiò perché era il lavoro di Ognuno. Ognuno pensò che Ciascuno potesse farlo, ma Ognuno capì che Nessuno l'avrebbe fatto. Finì che Ognuno incolpò Qualcuno perché Nessuno fece ciò che Ciascuno avrebbe potuto fare.

  7. #7
    Supervisore Straordinario L'avatar di tHeGoOd
    Registrato
    Sep 2000
    Località
    Cenaia, Toscana, Italy, Italy
    Età
    39
    Messaggi
    1,669

    Predefinito

    Originariamente inviato da frakka
    Devo fare attenzione a ricordarmi di mettere "/" alla fine del percorso se voglio copiare una directory, altrimenti la shell crede che io stia cercando di copiare un file, giusto??
    Esatto!!!


    Originariamente inviato da frakka
    Ok, stò digerendo quanto mi spiegato. Mi ci vorrà un pochettino poi ti chiedo di nuovo conferma, ok?
    Se hai altri dubbi esponili... Sono sicuro che spesso tanti (me compreso) sono convinti di aver capito una cosa, o il funzionamento del comando, e nn fanno domande...
    Il bello però è che non si finisce mai di imparare!!! E si scoprono sempre cose nuove
    It is common knowledge that old school hackers all have large beards. Alan Cox,RMS and maddog are brilliant examples. The reason for this is that growing a beard is the most interesting use of one's time when the computer is waiting for fsck to finish messing around after a system crash, and on large filesystems, you'll have plenty of time to waste (this might also be why there are so few female hackers; they can't grow beards).

  8. #8
    clown zotter L'avatar di troietto
    Registrato
    Oct 2004
    Località
    Voghera (PV)
    Messaggi
    84

    Predefinito

    Originariamente inviato da tHeGoOd
    I numeri vengono poi convertiti in binario e applicati come permessi.
    Ad esempio, 6 è 110 -> "rw-"; 4 è "100" -> "r--".
    Per le caratteristiche del sistema binario, si può dire che:
    "r" -> 4
    "w" -> 2
    "x" -> 1
    Quando devi combinarli, li sommi. Così "r-x" diventa 4+1->5

    Tutto quì. Si, sembra complicato, ma il concetto di base è semplicissimo. Il problema è che nn siamo abituati a contare in binario!
    TIP: usa una calcolatrice che possa convertire i numeri decimali in binari e vice versa.
    se in un gruppo di permessi vuoi r-x, che rappresentato in binario sarebbe 101, imposti la calcolatrice in binario, scrivi dentro 101 e lo converti in decimale. Il numero ottenuto è quello da dare in pasto a chmod

Informazioni Thread

Users Browsing this Thread

Ci sono attualmente 1 utenti che stanno visualizzando questa discussione. (0 utenti e 1 ospiti)

Discussioni simili

  1. La shell cMP
    By bibo01 in forum cMP² = cMP + cPlay
    Risposte: 0
    Ultimo messaggio: 02-12-2010, 20:26
  2. Permessi utenti con Samba
    By frakka in forum -= GNU/Linux e sistemi operativi alternativi =-
    Risposte: 7
    Ultimo messaggio: 04-11-2008, 22:01
  3. Test di portata di vari WB con Laing DDC+Vari top
    By vkbms in forum -= Water Cooling =-
    Risposte: 1
    Ultimo messaggio: 25-02-2007, 16:11
  4. fstab (permessi per hdd)
    By giostark in forum Programmi
    Risposte: 3
    Ultimo messaggio: 24-09-2006, 13:14
  5. problema di permessi
    By lubu in forum -= GNU/Linux e sistemi operativi alternativi =-
    Risposte: 5
    Ultimo messaggio: 21-06-2006, 17:42

Tags

Regole d'invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
nexthardware.com - © 2002-2022