4Jul
Se usi Linux da un po 'di tempo( e anche OS X) probabilmente avrai trovato un errore di "permessi".Ma cosa sono esattamente, e perché sono necessari o utili? Diamo un'occhiata interna. Autorizzazioni utente
Nel corso della giornata, i computer erano macchine enormi che erano incredibilmente costose. Per sfruttarli al massimo, sono stati collegati più terminali di computer che consentivano a molti utenti di svolgere le proprie attività contemporaneamente. L'elaborazione e l'archiviazione dei dati venivano eseguite sulla macchina, mentre i terminali stessi erano poco più di un mezzo per visualizzare e immettere dati. Se ci pensi, è più o meno come accediamo ai dati sul "cloud";guarda il sistema Amazon Cloud di Amazon, Gmail e Dropbox, e noterai che mentre le modifiche possono essere apportate localmente, tutto viene archiviato in remoto.
( Immagine: Zenith Z-19 Terminale "stupido"; credit: ajmexico)
Affinché ciò funzioni, i singoli utenti devono disporre di account. Devono avere una sezione dell'area di archiviazione assegnata a loro e devono essere autorizzati a eseguire comandi e programmi. Ognuno riceve "permessi utente" specifici, che dettano ciò che possono e non possono fare, dove sul sistema che fanno e non hanno accesso e di cui possono e non possono modificare i file. Ogni utente viene inoltre inserito in vari gruppi, che concedono o limitano ulteriori accessi. Accesso ai file
In questo stravagante mondo multiutente, abbiamo già impostato dei limiti su ciò che gli utenti possono fare. Ma per quanto riguarda ciò che accedono? Bene, ogni file ha una serie di permessi e un proprietario. La designazione del proprietario, in genere associata al momento della creazione del file, dichiara a quale utente appartiene e solo quell'utente può modificare le sue autorizzazioni di accesso.
Nel mondo di Linux, le autorizzazioni sono suddivise in tre categorie: lettura, scrittura ed esecuzione. L'accesso "lettura" consente di visualizzare il contenuto di un file, l'accesso in "scrittura" consente di modificare il contenuto di un file e "esegui" consente di eseguire una serie di istruzioni, come uno script o un programma. Ciascuna di queste categorie viene applicata a classi diverse: utente, gruppo e mondo."Utente" indica il proprietario, "gruppo" indica qualsiasi utente che si trova nello stesso gruppo del proprietario e "mondo" indica chiunque e tutti. Le cartelle
possono anche essere limitate con queste autorizzazioni. Ad esempio, puoi consentire ad altre persone del tuo gruppo di visualizzare directory e file nella tua cartella Inizio, ma non nessuno al di fuori del tuo gruppo. Probabilmente vorrai limitare l'accesso "scrivi" solo a te stesso, a meno che tu non stia lavorando su un progetto condiviso di qualche tipo.È inoltre possibile creare una directory condivisa che consente a chiunque di visualizzare e modificare i file in quella cartella.
Modifica delle autorizzazioni nella GUI
di Ubuntu
Per modificare le autorizzazioni di un file che possiedi in Ubuntu, fai semplicemente clic con il pulsante destro del mouse sul file e vai su "Proprietà".
Puoi modificare se il proprietario, gruppo o altro possono leggere e scrivere,leggi solo, o non fare nulla.È anche possibile selezionare una casella per consentire l'esecuzione del file, e questo lo abiliterà per il proprietario, gruppo e altri contemporaneamente.
Command-Line
È anche possibile farlo tramite la riga di comando. Vai a una directory che contiene file e digita il seguente comando per visualizzare tutti i file in un elenco:
ls -al
Accanto a ogni file e directory, vedrai una sezione speciale che delinea le autorizzazioni che ha. Assomiglia a questo:
-rwxrw-r-
r sta per "leggere", w sta per "write" e x sta per "execute". Le directory inizieranno con un "d "invece di un" - ".Noterai anche che ci sono 10 spazi che contengono valore. Puoi ignorare il primo e poi ci sono 3 set di 3. Il primo set è per il proprietario, il secondo set è per il gruppo e l'ultimo set è per il mondo.
Per modificare le autorizzazioni di un file o di una directory, diamo un'occhiata al modulo di base del comando chmod.
chmod [classe] [operatore] [permesso] file
chmod [ugoa] [+ o -] [rwx] file
Questo può sembrare complicato all'inizio, ma credetemi, è piuttosto facile. Per prima cosa, esaminiamo le classi:
- u: Questo è per il proprietario.
- g: questo è per il gruppo.
- o: Questo è per tutti gli altri.
- a: questo cambierà i permessi per tutto quanto sopra.
Successivamente, gli operatori:
- +: il segno più aggiungerà le autorizzazioni che seguono.
- -: il segno meno rimuoverà le autorizzazioni che seguono.
Ancora con me? E l'ultima sezione è la stessa di quando abbiamo controllato le autorizzazioni di un file:
- r: consente l'accesso in lettura.
- w: consente l'accesso in scrittura.
- x: consente l'esecuzione.
Ora, mettiamolo insieme. Diciamo che abbiamo un file chiamato "todo.txt" che ha le seguenti autorizzazioni:
-rw-rw-r-
Ovvero, il proprietario e il gruppo possono leggere e scrivere e il mondo può solo leggere. Vogliamo cambiare le autorizzazioni a questi:
-rwxr--
Ovvero, il proprietario ha le autorizzazioni complete e il gruppo può leggere. Possiamo farlo in 3 passaggi. Innanzitutto, aggiungeremo il permesso di esecuzione per l'utente.
chmod u + x todo.txt
Quindi, rimuoveremo il permesso di scrittura per il gruppo.
chmod g-w todo.txt
Infine, rimuoveremo le autorizzazioni di lettura per tutti gli altri utenti.
chmod o-r todo.txt
Possiamo anche combinarli in un unico comando, in questo modo:
chmod u + x, g-w, o-r todo.txt
Puoi vedere che ogni sezione è separata da virgole e non ci sono spazi.
Ecco alcune autorizzazioni utili:
- -rwxr-xr-x: il proprietario ha le autorizzazioni complete, il gruppo e altri utenti possono leggere il contenuto del file ed eseguirlo.
- -rwxr-r-: il proprietario ha le autorizzazioni complete, il gruppo e gli altri utenti possono solo leggere il file( utile se non ti dispiace che gli altri visualizzino i tuoi file.
- -rwx--: il proprietario ha i permessi completi, tutti gli altri no( utileper gli script personali)
- -rw-rw--: proprietario e gruppo possono leggere e scrivere( utile per la collaborazione con i membri del gruppo).
- -rw-r-r-: il proprietario può leggere e scrivere, il gruppo e gli altri utenti possono soloread file( utile per la memorizzazione di file personali su una rete condivisa)
- -rw ---: il proprietario può leggere e scrivere, tutti gli altri no( utile per la memorizzazione di file personali).
Ci sono alcune altre cose che puoi fare conchmod - come setuid e setgid - ma sono un po 'approfonditi e la maggior parte degli utenti non ha davvero bisogno di usarli comunque.
Il root o Super User e file di sistema
Al giorno d'oggi, non eseguiamo sempre sistemi cheavere più utenti Perché dovremmo ancora preoccuparci delle autorizzazioni?
Bene, Unix ei suoi derivati - Linux, OS X, tra gli altri - distinguono anche tra cose eseguite dall'utente, cose gestite da un amministratore o con privilegi di amministratore, e cose gestite dal sistema stesso. In quanto tale, le cose che sono parte integrante del sistema richiedono la modifica o l'accesso dei privilegi di amministratore. In questo modo, non si incasina nulla accidentalmente.
In Ubuntu, per apportare modifiche ai file di sistema si utilizza "sudo" o "gksudo" per ottenere l'equivalente dei privilegi di amministratore. In altre distro, si passa a "root" o "super-utente" che effettivamente fa la stessa cosa fino alla disconnessione.
Tenere presente che in entrambe queste circostanze, la modifica delle autorizzazioni dei file può portare a programmi non funzionanti, a modificare involontariamente la proprietà dei file all'utente root( anziché al proprietario) e rendere il sistema meno sicuro( concedendo più autorizzazioni).Pertanto, si consiglia di non modificare le autorizzazioni per i file, in particolare i file di sistema, a meno che non sia necessario o si sappia cosa si sta facendo.
I permessi dei file sono in atto per fornire un sistema di base di sicurezza tra gli utenti. Imparare come funzionano può aiutarti a impostare la condivisione di base in un ambiente multiutente, a proteggere i file "pubblici" e a darti un'idea di quando qualcosa va storto con la proprietà dei file di sistema.
Pensi di poter spiegare le cose più facilmente? Hai una correzione? Vuoi ricordare i vecchi tempi? Fai una pausa e metti i tuoi pensieri nei commenti.