Workstation online OnWorks Linux e Windows

Logo

Hosting online gratuito per workstation

<Precedenti | Contenuti | Succ.>

Esercitare i nostri privilegi

Ora che abbiamo imparato come funziona questa cosa dei permessi, è il momento di mostrarlo. Dimostreremo la soluzione a un problema comune-creazione di una directory condivisa. Immaginiamo di avere due utenti chiamati "bill" e "karen". Entrambi hanno raccolte di CD musicali e desiderano creare una directory condivisa, dove memorizzeranno i propri file musicali come Ogg Vorbis o MP3. Utente proposta di legge ha accesso ai privilegi di superutente tramite sudo.

La prima cosa che deve accadere è creare un gruppo che avrà entrambi proposta di legge ed karen come membri. Utilizzando lo strumento grafico di gestione degli utenti, proposta di legge crea un gruppo chiamato musica e aggiunge utenti proposta di legge ed karen ad esso:


Immagine

Figura 3: creazione di un nuovo gruppo con GNOME


Il prossimo, proposta di legge crea la directory per i file musicali:


[fattura@linuxbox ~]$ sudo mkdir /usr/local/share/Music

Password:

[fattura@linuxbox ~]$ sudo mkdir /usr/local/share/Music

Password:


Dal proposta di legge sta manipolando file al di fuori della sua home directory, sono richiesti i privilegi di superutente. Dopo che la directory è stata creata, ha le seguenti proprietà e autorizzazioni:


[fattura@linuxbox ~]$ ls -ld /usr/local/share/Musica

drwxr-xr-x 2 radice radice 4096 2016-03-21 18:05 /usr/local/share/Music

[fattura@linuxbox ~]$ ls -ld /usr/local/share/Musica

drwxr-xr-x 2 radice radice 4096 2016-03-21 18:05 /usr/local/share/Music


Come possiamo vedere, la directory è di proprietà di radice e dispone di 755 autorizzazioni. Per rendere questa directory condivisibile, proposta di legge deve modificare la proprietà del gruppo e le autorizzazioni del gruppo per consentire la scrittura:



[fattura@linuxbox ~]$ sudo chown:music /usr/local/share/Music [fattura@linuxbox ~]$ sudo chmod 775 /usr/local/share/Music [fattura@linuxbox ~]$ ls -ld /usr/local/share/Musica

drwxrwxr-x 2 musica radice 4096 2016-03-21 18:05 /usr/local/share/Music

[fattura@linuxbox ~]$ sudo chown:music /usr/local/share/Music [fattura@linuxbox ~]$ sudo chmod 775 /usr/local/share/Music [fattura@linuxbox ~]$ ls -ld /usr/local/share/Musica

drwxrwxr-x 2 musica radice 4096 2016-03-21 18:05 /usr/local/share/Music


Quindi cosa significa tutto questo? Significa che ora abbiamo una directory,

/usr/local/share/Music che è di proprietà di root e consente l'accesso in lettura e scrittura alla musica di gruppo. La musica di gruppo ha membri bill e karen, quindi bill e karen possono creare file nella directory /usr/local/share/Music. Altri utenti possono elencare il contenuto della directory ma non possono creare file lì.

Ma abbiamo ancora un problema. Con i permessi attuali, i file e le directory creati all'interno della directory Music avranno i normali permessi degli utenti proposta di legge ed karen:


[fattura@linuxbox ~]$ > /usr/local/share/Music/file_test

[fattura@linuxbox ~]$ ls -l /usr/local/share/Musica

-rw-r--r-- 1 fattura fattura 0 2016-03-24 20:03 test_file

[fattura@linuxbox ~]$ > /usr/local/share/Music/file_test

[fattura@linuxbox ~]$ ls -l /usr/local/share/Musica

-rw-r--r-- 1 fattura fattura 0 2016-03-24 20:03 test_file


In realtà ci sono due problemi. Innanzitutto, l'impostazione predefinita umask su questo sistema è 0022 che impedisce ai membri del gruppo di scrivere file appartenenti ad altri membri del gruppo. Questo non sarebbe un problema se la directory condivisa contenesse solo file, ma poiché questa directory memorizzerà musica e la musica è solitamente organizzata in una gerarchia di artisti e album, i membri del gruppo avranno bisogno della capacità di creare file e directory all'interno di directory create da altri membri. Dobbiamo cambiare il umask utilizzato da proposta di legge ed karen a 0002 invece.

In secondo luogo, ogni file e directory creata da un membro verrà impostato sul gruppo principale dell'utente anziché sul gruppo musica. Questo può essere risolto impostando il bit setgid nella directory:



[fattura@linuxbox ~]$ sudo chmod g+s /usr/local/share/Music

[fattura@linuxbox ~]$ sudo chmod g+s /usr/local/share/Music

Esercitare i nostri privilegi


[fattura@linuxbox ~]$ ls -ld /usr/local/share/Musica

drwxrwsr-x 2 musica radice 4096 2016/03/24 20:03 /usr/local/share/Music

[fattura@linuxbox ~]$ ls -ld /usr/local/share/Musica

drwxrwsr-x 2 musica radice 4096 2016/03/24 20:03 /usr/local/share/Music


Ora testiamo per vedere se le nuove autorizzazioni risolvono il problema. proposta di legge imposta il suo umask a 0002, rimuove il file di test precedente e crea un nuovo file e directory di test:



[fattura@linuxbox ~]$ maschera 0002

[fattura@linuxbox ~]$ rm /usr/local/share/Music/file_test [fattura@linuxbox ~]$ > /usr/local/share/Music/file_test [fattura@linuxbox ~]$ mkdir /usr/local/share/Music/dir_test [fattura@linuxbox ~]$ ls -l /usr/local/share/Musica

drwxrwsr-x 2 bill music 4096 2016/03/24 20:24 test_dir

-rw-rw-r-- 1 bill music 0 2016/03/24 20:22 test_file [bill@linuxbox ~]$

[fattura@linuxbox ~]$ maschera 0002

[fattura@linuxbox ~]$ rm /usr/local/share/Music/file_test [fattura@linuxbox ~]$ > /usr/local/share/Music/file_test [fattura@linuxbox ~]$ mkdir /usr/local/share/Music/dir_test [fattura@linuxbox ~]$ ls -l /usr/local/share/Musica

drwxrwsr-x 2 bill music 4096 2016/03/24 20:24 test_dir

-rw-rw-r-- 1 bill music 0 2016/03/24 20:22 test_file [bill@linuxbox ~]$


Sia i file che le directory vengono ora creati con i permessi corretti per consentire a tutti i membri del gruppo musica per creare file e directory all'interno del Musica directory.

L'unico problema rimasto è umask. L'impostazione necessaria dura solo fino alla fine della sessione e deve essere ripristinata. Nel capitolo 11, vedremo come apportare la modifica a umask permanente.


Il miglior sistema operativo cloud computing su OnWorks: