CONFIGURAZIONI PC E RETI
ovvero... come abbiamo fatto dalla A alla Z.
 
HOME DOCUMENTI PROGETTI RISORSE DOMANDE ARTICOLI

 SAMBA: CONDIVISIONE DIRECTORY A LIVELLO UTENTE
 ultimo aggiornamento: 5 settembre 2002 ore 16:20
 
 
 
PROBLEMATICA
Condivisione di una directory a livello utente, per accesso da un gruppo di utenti privilegiato.
 
NOTA INIZIALE
L'esempio relativo ad una situazione reale ed stato segnalato da Paolo Fabrizzi.
Si suppone che gli utenti siano creati sul server stesso.

 
A COSA PUO' SERVIRE
Si puo' pensare di creare delle directory a cui possono accedere solo alcuni utenti.
Ad esempio, se sul server Linux si devono mettere gli archivi di un programma gestionale multiutente, si puo' pensare di creare un gruppo chiamato gestionale e creare la dirctory /home/gestionale a cui potranno accedere solo gli utenti appartenenti al gruppo gestionale.

 
FASI
1) creazione di un gruppo privilegiato;
2) assegnamento di utenti al gruppo privilegiato;
3) creazione della directory da condividere;
4) modifica del file di configurazione di SAMBA.

 
FASE 1: CREAZIONE DI UN GRUPPO PRIVILEGIATO
Per creare un gruppo su Linux possibile utilizzare il comando groupadd.
Supponendo di voler creare il gruppo gestionale il comando da utilizzare il seguente:

groupadd gestionale

Conviene anche creare l'utente gestionale con il comando

useradd gestionale -g gestionale

Non avendo inserito il parametro -m nel comando useradd, non viene creata la home dell'utente gestionale. Dobbiamo crearla manualmente come spiegato nella fase 3.

 
FASE 2: ASSEGNAMENTO DI UTENTI AL GRUPPO PRIVILEGIATO
Per assegnare un utente ad un gruppo possibile utilizzare lo script seguente (che fa uso del comando usermod):

#!/bin/bash

agroups=`id -nG $1|sed 's/ /,/g'`
usermod -G $agroups,$2 $1


Ad esempio, chiamiamo lo script useraddgr.
Una volta creato lo script, con il comando chmod 0700 useraddgr gli si assegnano i permessi di esecuzione.
useraddgr prende come primo parametro il nome dell'utente a cui si vuole assegnare un gruppo, e come secondo parametro il nome del gruppo.
Se vogliamo assegnare il gruppo gestionale all'utente giorgio, il comando da lanciare il seguente:

useraddgr giorgio gestionale

Il comando si deve lanciare per tutti gli utenti che devono accedere all directory /home/gestionale.

 
FASE 3: CREAZIONE DELLA DIRECTORY DA CONDIVIDERE
La directory da condividere puo' essere creata con il comando:

mkdir /home/gestionale
chown gestionale.gestionale /home/gestionale
chmod 0770 /home/gestionale

 
FASE 4: MODIFICA DEL FILE DI CONFIGURAZIONE DI SAMBA
Per poter condividere la dirctory /home/gestionale, possibile inserire le righe seguenti nel file di configurazione di SAMBA (smb.conf):

[Gestionale]
comment = Directory Gestionale
path = /home/gestionale
public = no
valid users = @gestionale
force create mode = 0775
force directory mode = 0775
writable = yes
write list = @gestionale
printable = no


Una volta riavviato SAMBA (ad esempio, con il comando /etc/init.d/smb restart), possibile accedere alla directory da parte degli utenti appartenenti al gruppo gestionale.

 
DOCUMENTI CORRELATI
INSTALLAZIONE SAMBA
RIFERIMENTI
www.samba.org
CAMBIAMENTI
--. 5 settembre 2002 16.20 : creazione documento
 
 
 redazione@retelinux.com