Samba: installazione di un fileserver gestito con gruppi di accesso locali

25

Questo articolo illustra come ottenere un’installazione coerente di un fileserver Linux basato su SAMBA, che amministri l’accesso alle condivisioni attraverso utenti che appartengano a gruppi di sistema, gestiti in una forma riconoscibile.
Gli utenti, pur essendo a tutti gli effetti parte del sistema, avranno permessi di accesso unicamente attraverso il protocollo CIFS, gestito dalle macchine Microsoft Windows.

Installazione di SAMBA

La procedura descritta fa riferimento al sistema operativo Ubuntu Server 10.4, ed all’ultima release stabile disponibile in esso per il progetto libero SAMBA, la versione 3.4.7.
L’installazione per Ubuntu ed i sistemi Debian, può essere effettuata come di consueto:

# apt-get install samba

mentre nei sistemi che fanno uso di rpm e di yum il comando sarà invece:

# yum install samba

Prima di effettuare qualsiasi operazione è bene salvare il file di configurazione originale di SAMBA:

# cd /etc/samba
# mv smb.conf smb.conf.org

nel corso dell’articolo partiremo da un file completamente vuoto, per sottolineare come sia possibile impostare pochi parametri per essere operativi nel minor tempo possibile.

Configurazione di SAMBA (impostazioni globali)

Le configurazioni descritte fanno hanno come presupposto il fatto che l’utente con cui si sta operando all’interno del sistema sia “root”. Attraverso l’editor preferito sarà possibile creare un nuovo file smb.conf:

# sudo su -
# vi /etc/samba/smb.conf

All’interno del quale dovranno essere impostati i seguenti parametri:

[global]
   security = user
   workgroup = NETWORK.LOCAL
   server string = %h server (Samba, Ubuntu) 

   wins support = yes 
   dns proxy = no 

   log file = /var/log/samba/log.%m 
   max log size = 1000 
   syslog = 0 

   encrypt passwords = true 
   passdb backend = tdbsam

   directory mask = 2770 
   create mask = 0660 

Le configurazioni indicano che il server è di tipo standalone (security = user), ossia non collegato a sistemi di autenticazione centralizzati. Il server è parte del gruppo di lavoro “NETWORK.LOCAL” (opzione workgroup, che andrà modificata a seconda delle impostazioni relative propria rete Microsoft Windows) e funzionerà da server WINS (wins support = yes) in modo da gestire la risoluzione dei nomi Microsoft Windows per la rete, ma non controllerà però i nomi effettuando query sul server dns di sistema (dns proxy = no).
Il sistema registrerà un log per ciascuna macchina che si collegherà (log file = /var/log/samba/log.%m), tale log non potrà eccedere un megabyte di grandezza (max log size = 1000). Inoltre nessuna informazione verrà registrata nel file /var/log/syslog (syslog = 0), il file di log generale relativo al sistema. Tutte le informazioni relative all’esecuzione del demone saranno reperibili all’interno del file /var/log/samba/log.smbd.
Il sistema di autenticazione cripterà le password (encrypt passwords) ed utilizzerà il backend tdbsam (opzione passdb backend), ossia il database locale.
Le ultime due opzioni indicate definiscono la maschera attraverso la quale verranno create le directory (directory mask = 2770) ed i file (create mask = 0660). Le directory verranno quindi create con permessi di lettura, scrittura ed esecuzione per il proprietario ed il gruppo, mentre per tutti gli altri saranno inaccessibili. I file verranno creati con i medesimi permessi ad eccezione dell’esecuzione.
Particolarità aggiuntiva della modalità di creazione delle cartelle è quella di possedere il bit setgid (http://it.wikipedia.org/wiki/Setuid_e_setgid) che impone l’appartenenza al gruppo della cartella padre per tutti i file e le cartelle create al suo interno. Questo significa che chiunque appartenga al gruppo della cartella padre potrà creare file e cartelle al suo interno, tali file e cartelle apparterranno al gruppo della cartella padre. In questo modo i permessi specifici di accesso per i gruppi definiti nelle cartelle governeranno la totalità degli accessi.

Configurazione di un gruppo

Ciascun gruppo di accesso verrà nominato in questo modo:

# groupadd samba_rwx_Amministrazione

Il criterio con cui i gruppi vengono creati e nominati è ottenibile scomponendo il nome attraverso i caratteri “_” (underscore), dove “samba” indica che il gruppo è inerente al servizio samba, “rwx” indica il tipo di accesso che può essere appunto “rwx” (permessi di lettura e scrittura) o “rx” (sola lettura), mentre “Amministrazione” indica il nome della condivisione a cui il gruppo si riferisce.

Aggiunta di un’utenza

Ogni utenza creata nel sistema che farà riferimento al servizio samba, avrà come gruppo primario samba, con identificativo “999”, creato con il seguente comando:

# groupadd -g 999 samba

In questo modo, la separazione degli ambiti operativi sarà oltre che configurata nel sistema, anche ben visibile.
Per aggiungere un’utenza al sistema i passi da compiere sono quindi i seguenti:

  1. Lanciare il comando:
    # useradd -g samba -s /bin/false -d /home/user1 -c "Utente di test" user1
    

    In cui user1 rappresenta il nome attraverso il quale l’utente dovrà accedere alle condivisioni. A user1 viene assegnato il gruppo primario “samba” (-g samba), una shell di login nulla in modo che non possa mai effettuare il login nel sistema (-s /bin/false) ed una breve descrizione dell’utenza (-d, generalmente nome e cognome, oppure un indicativo della funzione svolta).

  2. L’utente creato va poi aggiunto al database locale SAMBA, attraverso questo comando:
    # smbpasswd -a user1

    indicando per due volte la password scelta, che può essere anche omessa nel caso in cui lo si decida (è sempre consigliabile inserirne una).

  3. L’utente va quindi aggiunto ad uno dei gruppi disponibili. Aggiungere utenti al gruppo è possibile con il seguente comando:
    # adduser user1 samba_rwx_Amministrazione

Per controllare quali utenti appartengono al gruppo è sufficiente digitare il seguente comando:

# cat /etc/group | grep "samba_rwx_Amministrazione"
samba_rwx_Amministrazione:user1,user2,user3

Mentre per controllare un singolo utente a quali gruppi appartiene, il comando sarà invece:

# groups user1
user1 : samba samba_rwx_Amministrazione

Aggiunta di una condivisione

Ciascuna condivisione fa riferimento ad un path locale, nel caso descritto viene creata una cartella /share:

# mkdir /share

al di sotto della quale tutte le cartelle condivise verranno create:

# mkdir /share/Amministrazione
# chgrp samba_rwx_Amministrazione /share/Amministrazione
# chmod 2770 /share/Amministrazione

Queste operazioni andranno eseguite per ciascuna nuova condivisione creata e si riassumono come segue:

  1. Creazione effettiva della cartella;
  2. Assegnazione della cartella al gruppo creato;
  3. Impostazione del permesso setgid (vedi sopra) ricorsivo sulla cartella appena creata;

Le condivisioni verranno definite nel file di configurazione smb.conf in coda alle dichiarazioni globali, in un formato simile al seguente:

[Amministrazione] 
comment = Amministrazione 
read only = no 
write list = @samba_rwx_Amministrazione
read list = 
path = /share/Amministrazione 

Il codice illustrato definisce una condivisione denominata “Amministrazione” a cui possono accedere in scrittura nella directory “/share/Amministrazione” unicamente gli utenti appartenenti al gruppo “samba_rwx_Amministrazione”.

Pertanto, per aggiungere una condivisione sarà quindi sufficiente eseguire la creazione e l’assegnazione dei permessi come descritto sopra ed inserire all’interno del file /etc/samba/smb.conf una dichiarazione seguendo il modello indicato:

[] 
comment = 
read only = no 
write list = @
read list = @
path = 

Nel caso l’accesso venga deciso unicamente in lettura o unicamente in scrittura, è possibile omettere le righe relative (write list o read list) dalla dichiarazione.

Attivazione delle configurazioni

Per applicare le nuove configurazioni, il servizio SAMBA necessita di essere ricaricato:

# service smbd reload

Da questo momento in poi sarà possibile utilizzare una qualsiasi macchina Microsoft Windows per testare l’effettivo successo delle configurazioni impostate.

Note

Quanto descritto consente di configurare SAMBA affinché possa interagire con client o server Microsoft Windows come se fosse un file e print server Microsoft.
E’ possibile variare le configurazioni in modo che SAMBA agisca da Primary Domain Controller (PDC), Backup Domain Controller o prendere parte ad un dominio Active Directory.
Sul portale tecnico sono disponibili diversi articoli che approfondiscono questi argomenti:

Realizzare un Primary Domain Controller con SAMBA, Openldap e smbldap-tools : (1 di 6)
Realizzare un Primary Domain Controller con SAMBA, Openldap e smbldap-tools : (2 di 6)
Realizzare un Primary Domain Controller con SAMBA, Openldap e smbldap-tools : (3 di 6)
Realizzare un Primary Domain Controller con SAMBA, Openldap e smbldap-tools : (4 di 6)
Realizzare un Primary Domain Controller con SAMBA, Openldap e smbldap-tools : (5 di 6)
Realizzare un Primary Domain Controller con SAMBA, Openldap e smbldap-tools : (6 di 6)

Samba e Active Directory (1 di 3): diventare parte di un Dominio
Samba e Active Directory (2 di 3): interrogare il dominio
Samba e Active Directory (3 di 3): configurare pam per l’autenticazione locale

In attesa quindi di saggiare le meraviglie dell’annunciato SAMBA 4, che conterrà un motore interno volto ad eguagliare l’efficienza e la funzionalità di Microsoft Active Directory, è chiaro come sia già possibile adottare SAMBA in ambiti produttivi di svariato genere, con successo, e senza costi di licenza.

Da sempre appassionato del mondo open-source e di Linux nel 2009 ho fondato il portale Mia Mamma Usa Linux! per condividere articoli, notizie ed in generale tutto quello che riguarda il mondo del pinguino, con particolare attenzione alle tematiche di interoperabilità, HA e cloud.
E, sì, mia mamma usa Linux dal 2009.

25 risposte a “Samba: installazione di un fileserver gestito con gruppi di accesso locali”

  1. Avatar Rfaccio
    Rfaccio

    Pernso che la riga di comando:
    # useradd -g samba -s /bin/false -d “Utente di test” user1

    contegna un errore. A me funziona se la uso così:

    # useradd -g samba -s /bin/false -c “Utente di test” user1

  2. Avatar Raoul Scarazzini

    Ciao Rfaccio,
    è verissimo. Per completezza le opzioni da usare sono sia “-d” (creazione automatica della homedir) e “-c “Utente di test”” (che aggiunge la descrizione dell’utente).
    Ho corretto l’errore nell’articolo. Grazie ed a presto!

  3. Avatar Franco
    Franco

    Salve, non ho capito alcune cose in merito a:
    Aggiunta di un’utenza
    Ogni utenza creata nel sistema che farà riferimento al servizio samba, avrà come gruppo primario samba, con identificativo “999″, creato con il seguente comando:
    # groupadd -g 999 samba
    In questo modo, la separazione degli ambiti operativi sarà oltre che configurata nel sistema, anche ben visibile.
    Per aggiungere un’utenza al sistema i passi da compiere sono quindi i seguenti:
    Lanciare il comando:
    # useradd -g samba -s /bin/false -d -c “Utente di test” user1
    In cui user1 rappresenta il nome attraverso il quale l’utente dovrà accedere alle condivisioni. A user1 viene assegnato il gruppo primario “samba” (-g samba), una shell di login nulla in modo che non possa mai effettuare il login nel sistema (-s /bin/false) ed una breve descrizione dell’utenza (-d, generalmente nome e cognome, oppure un indicativo della funzione svolta).
    Potreste cortesemente ampliare la descrizione?
    Grazie, ottimo articolo. Se riesco a seguirlo mi semplificherà la vita in Ufficio.
    Saluti a Tutti, Franco

  4. Avatar Raoul Scarazzini

    Ciao Franco, cosa non ti torna di preciso? Ho riletto il tutto e mi sembra piuttosto chiaro.

  5. Avatar Franco
    Franco

    Ciao Raoul, innanzitutto grazie per avermi risposto.
    Passo subito al quesito.
    1) un gruppo primario samba? cos’è un gruppo primario?
    2) 999 è un identificativo inventato oppure un codice?
    3) se ho capito, questo comando # groupadd -g 999 samba serve per creare il gruppo nuovo e questo comando # useradd -g samba -s /bin/false -d -c “Utente di test” user1 serve per popolarlo.
    In questo modo user1 non potrà fare mai login di sistema come hai detto tu.
    Fatto questo siamo a posto con l’utente linux (o qualcosa del genere)? A sua volta questo utente sarà aggiunto al database di samba come hai spiegato tu.
    Grazie ancora

  6. Avatar Franco
    Franco

    Ho dato una sbirciata in giro ed ho capito (più o meno) cosa vuol dire gruppo primario.
    Ora dovrei creare la cartella share e 15 sottocartelle (Amministrazione1/15) a cui devono accedere 25 utenti.
    Ho la necessità di limitare gli accessi a determinate cartelle per alcuni utenti. Quindi, in base agli interessi di lavoro, ho individuato 5 gruppi.
    Per non incasinarmi nei permessi, vorrei chiederti se la procedura che ho in mente è corretta oppure no.
    In particolare, seguendo la tua guida, configuro i vari gruppi:

    #groupadd samba_rwx_Amministrazione1
    #groupadd samba_r-x_Amministrazione2
    #groupadd samba_rwx_Amministrazione3
    #groupadd samba_rwx_Amministrazione4
    #groupadd samba_rwx_Amministrazione5
    #groupadd samba_rwx_Amministrazione6
    #groupadd samba_rwx_Amministrazione7
    #groupadd samba_rwx_Amministrazione8
    #groupadd samba_rwx_Amministrazione9
    #groupadd samba_rwx_Amministrazione10
    #groupadd samba_rwx_Amministrazione11
    #groupadd samba_rwx_Amministrazione12
    #groupadd samba_rwx_Amministrazione13
    #groupadd samba_rwx_Amministrazione14
    #groupadd samba_rwx_Amministrazione15

    Se ho capito bene aggiungo l’utenza
    #groupadd -g 999 samba
    poi aggiungo i 20 utenti:
    #useradd -g samba -s /bin/false -d -c “addetto alle vendite” user1
    #useradd -g samba -s /bin/false -d -c “addetto alle vendite” user2
    #useradd -g samba -s /bin/false -d -c “addetto alle vendite” user3
    #useradd -g samba -s /bin/false -d -c “addetto alle vendite” user4
    #useradd -g samba -s /bin/false -d -c “addetto alle vendite” user5
    #useradd -g samba -s /bin/false -d -c “segreteria” user6
    #useradd -g samba -s /bin/false -d -c “segreteria” user7
    #useradd -g samba -s /bin/false -d -c “segreteria” user8
    #useradd -g samba -s /bin/false -d -c “segreteria” user9
    #useradd -g samba -s /bin/false -d -c “segreteria” user10
    #useradd -g samba -s /bin/false -d -c “amministrazione” user11
    #useradd -g samba -s /bin/false -d -c “amministrazione” user12
    #useradd -g samba -s /bin/false -d -c “amministrazione” user13
    #useradd -g samba -s /bin/false -d -c “amministrazione” user14
    #useradd -g samba -s /bin/false -d -c “amministrazione” user15
    #useradd -g samba -s /bin/false -d -c “cda” user16
    #useradd -g samba -s /bin/false -d -c “cda” user17
    #useradd -g samba -s /bin/false -d -c “cda” user18
    #useradd -g samba -s /bin/false -d -c “cda” user19
    #useradd -g samba -s /bin/false -d -c “cda” user20
    aggiungo al database samba i 20 utenti:
    #smbpasswd -a user1/20
    Ora, in base all’organizzazione dell’Ufficio aggiungo gli utenti ai gruppi che ho creato prima:
    #adduser user1 samba_rwx_Amministrazione1 (l’user viene aggiunto anche al gruppo Amministrazione 4, 5)
    #adduser user2 samba_rwx_Amministrazione1
    #adduser user3 samba_rwx_Amministrazione1 (l’user viene aggiunto anche al gruppo Amministrazione 2, 12)
    #adduser user4 samba_rwx_Amministrazione1
    #adduser user5 samba_rwx_Amministrazione1
    #adduser user6 samba_r-x_Amministrazione2 (l’user viene aggiunto anche al gruppo Amministrazione 7, 8)
    #adduser user7 samba_r-x_Amministrazione2
    #adduser user8 samba_r-x_Amministrazione2
    #adduser user9 samba_r-x_Amministrazione2
    #adduser user10 samba_r-x_Amministrazione2 (l’user viene aggiunto anche al gruppo Amministrazione 10, 15)
    #adduser user11 samba_r-x_Amministrazione2
    #adduser user12 samba_r-x_Amministrazione2 (l’user viene aggiunto anche al gruppo Amministrazione 10, 15)
    #adduser user13 samba_r-x_Amministrazione2 (l’user viene aggiunto anche al gruppo Amministrazione 2, 12)
    #adduser user14 samba_r-x_Amministrazione2
    #adduser user15 samba_r-x_Amministrazione2 (l’user viene aggiunto anche al gruppo Amministrazione 10, 15)
    #adduser user16 samba_r-x_Amministrazione2
    #adduser user17 samba_r-x_Amministrazione2 (l’user viene aggiunto anche al gruppo Amministrazione 3, 12)
    #adduser user18 samba_r-x_Amministrazione2
    #adduser user19 samba_r-x_Amministrazione2 (l’user viene aggiunto anche al gruppo Amministrazione 10, 15)
    #adduser user20 samba_r-x_Amministrazione2

    A questo punto creo le cartelle condivise
    #mkdir /share/Amministrazione1 (fino ad Amministrazione15)
    #chgrp samba_rwx_Amministrazione1 /share/Amministrazione1 (fino alla 15)
    #chmod 2770 /share/Amministrazione1 (fino alla 15)

    Così facendo quando vado a configurare le 15 condivisioni su smb.conf:
    [Amministrazione1]
    comment = Ufficio stipendi
    read unly = no
    write list = @samba_rwx_Amministrazione1 @samba_rwx_Amministrazione3 @samba_rwx_Amministrazione12
    read list = @samba_r-x_Amministrazione2
    path = /share/Amministrazione1

    Tutta questa complessità deriva dal fatto che nel mio ufficio il personale, periodicamente, è soggetto a rotazione vei vari ambiti di lavoro. Di conseguenza, per evitare scherzi di cattivo gusto e par ragioni di sicurezza e privacy, dovrà operare sulle cartelle di sua competenza.
    Scusandomi per la lungaggine usata, ti chiedo la cortesia di farmi sapere se è fattibile una cosa del genere o mi conviene fare diversamente.
    Ringrazio anticipatamente per la risposta, Franco

  7. Avatar Raoul Scarazzini

    Ecco le risposte:

    1) Il gruppo viene inteso come primario poiché serve per identificare tutti gli utenti che sono creati appositamente per samba.
    2) 999 è un identificativo numerico arbitrario, inferiore al 1000 poiché in genere dal 1000 in su vengono dichiarati i gruppi dei singoli utenti.
    3) Esatto. Con questi step sei a posto lato sistema, manca quindi da popolare l’archivio samba, mediante smbpasswd.

  8. Avatar Raoul Scarazzini

    Direi che ci siamo 🙂

  9. Avatar Franco
    Franco

    Grazie Raoul, con la tua guida penso di fare a meno della GUI sul server 🙂

  10. Avatar Franco
    Franco

    il comando: useradd -g samba -s /bin/false -d -c “agenti” angelini
    mi restituisce: useradd: invalid home directory ‘-c’

    il risultato di nano /etc/group:
    samba_r-x_agenti
    samba_rwx_commessi
    samba_rwx_dirigente
    samba_rwx_segreteria
    samba_rwx_mobile
    samba_rwx_vendite
    samba:x:999:

    Ti chiedo la cortesia di dirmi dove sbaglio
    Saluti, Franco

  11. Avatar Raoul Scarazzini

    Devi passare un path al parametro “-d”, che rappresenta la home dell’utente. Al momento stai passando come home directory “-c” che ovviamente non esiste.

  12. Avatar Franco
    Franco

    Gentilissimo Raoul,
    nel ringraziarti per la disponibilità offerta, vorrei dirti che su centOS purtroppo mi crea la home, su ubuntu funziona! cosa posso fare per convincere centOS a comportarsi correttamente, senza creare la /home dell’utente?

  13. Avatar Franco
    Franco

    Mi riferisco a questo comando:
    #adduser -g samba -s /bin/false -c “addetto alle vendite” user1

  14. Avatar Raoul Scarazzini

    Esiste un’opzione del comando adduser chiamata –no-create-home che fa proprio quel che chiedi.

    Ciao!

  15. Avatar Roberto
    Roberto

    Gentilissimo Raoul, grazie per la precisa guida che hai fatto. Ho un server CentOS sul quale è montato Samba 3.6.9. La condivisione con Windows non ha problemi, mentre su Ubuntu le directory create sono in sola lettura quindi non riesco copiare nessun file al suo interno. La security su smb.conf è di tipo user, ho definito i gruppi e popolato con l’utente Ubuntu, ma nessun cambiamento.
    Da ubuntu il mount della share è automatico in fstab, i permessi sono scritti su file e coincidono con l’utente locale: “//192.168.1.5/share_nas /home/roby/Condivisioni/share_nas cifs credentials=/home/roby/.smbcredentials,iocharset=utf8,sec=ntlm 0 0

    Mi sapresti dire dove sbaglio?

  16. Avatar Raoul Scarazzini

    Ad una prima vista sembra tutto impostato correttamente, quantomeno la entry nell’fstab. Dovresti consultare i log e capire dove le cose non vanno, è sempre nei log che tutto appare chiaro 🙂

  17. Avatar Alessandro
    Alessandro

    Ciao Raoul, ho trovato per caso questo interessante articolo cercando con google, però avrei bisogno di un accesso al livello utente piuttosto che a gruppi, mi spiego meglio.
    Ho la necessità che diversi utenti accedino al file server Linux, però gli utenti useranno solo windows e inoltre di informatica non ne sanno nulla… a me servirebbe che ogni utente, da qualsiasi pc della rete interna, possa accedere ai propri privati documenti semplicemnte digitando il proprio utente e passsword.. senza dover inserire il percorso con la propria condivisione… ossia gli metterei un link sul desktop.. che faccia riferimento al server \\192.168.1.1\ al click uscirà subito la richiesta di utente e password, e a seconda dell’utente che farà accesso il sistema samba gli fornirà la risorsa relativa a quell’utente. non so se mi sono spiegato.

  18. Avatar Raoul Scarazzini

    Ciao Alessandro. Direi che ti sei spiegato e direi anche che questo articolo è ciò che fa per te, nel senso che l’accesso è previsto anche per singolo utente e soprattutto le condivisioni di rete le puoi aggiungere tranquillamente su qualsiasi desktop.

    Ciao!

  19. Avatar Alessandro
    Alessandro

    OK Allora cercherò di seguire per bene la tua procedura , magari su una linux virtuale per pasticciare un po, e poi sul server reale 🙂 Grazie mille!

  20. Avatar raf

    Ciao Raoul, avrei bisogno di un chiarimento circa il comando useradd -g samba -s /bin/false -d -c “utente pino” pino
    Il”-d” che dovrebbe creare la directory home non ho capito come si usa.
    Io ho la necessità di creare degli utenti con le directories home, ma con il comando che hai dato non ci riesco, vorrei inoltre aggiungere gli utenti appena creati al gruppo samba e fare in modo di bloccare il login al sistema, c’è un modo di farlo senza un comando unico ma andando in più step ?

    Grazie mille in anticipo.

  21. Avatar Raoul Scarazzini

    Ciao Raf,
    in realtà c’è un errore, il comando da invocare è:

    useradd -g samba -s /bin/false -d /home/pino -c “utente pino” pino

    Quindi passando all’opzione -d anche il path della home directory.

    Ciao!

  22. Avatar raf

    CIao Raoul, innanzitutto grazie per l’aiuto.

    Sai che ho provato ad eseguire il comando proprio nel mondo in cui hai trascritto ma non funge ugualmente, l’avevo fatto più che altro andando per tentativi poco prima che mi rispondessi. L’errore che mi da è che dice che non trova la directory in questione, quindi come se con il comando -d lui non creasse la directory o che la directory data nel path debba già esistere. Ti risulta ?
    Io ho ovviato alla cosa creando la home dell’utente che avrei poi aggiunto con il tuo comando, quindi ho creato nel percorso /home/ la cartella pino e poi ho eseguito il tuo comando senza l’opzione -d.
    Ciò ovviamente non basta poichè creando la directory a mano, bisogna poi dargli i diritti del gruppo “pino” e del proprietario “pino” poichè di default sono entrambi root, altrimenti poi quando ci si logga con samba non si riesce a scriverci/leggerci dentro.

    Comunque fa lo stesso, questo modo alternativo mi va bene, era giusto per capire come mail il -d non funzionava.

    Ciao e complimenti per la guida, per me utilissima.

  23. Avatar Raoul Scarazzini

    Ciao, grazie per i complimenti.
    Quello che posso dirti è che il comando:

    useradd -s /bin/false -d /home/pippo -c “delete” pippo

    sulla mia Debian funziona perfettamente. quindi va capito cosa non piace al sistema riguardo al comando che hai lanciato.

  24. Avatar Raoul Scarazzini

    Rettifico. Il comportamento è corretto. Dalla man page di useradd:

    -d, –homeHOME_DIR
    Il nuovo utente verrà creato usando HOME_DIR come valore per la directory di login dell’utente. Il comportamento predefinito è di aggiungere il nome LOGIN in fondo a BASE_DIR ed usare quello
    come nome di directory di login. Non è necessario che la directory HOME_DIR esista, ma se non ci fosse non verrà creata.

    Pertanto è corretto questa non venga creata. L’opzione da aggiungere per ottenere quello che vuoi è questa:

    -m, –create-home
    Crea la directory home dell’utente nel caso in cui non esista. I file e directory contenuti nella directory «skeleton» (che può essere definita con l’opzione -k) vengono copiati nella directory
    home.

    Pertanto per ottenere quel che vuoi basterebbe questo:

    useradd -s /bin/false -m -c “delete” pippo

    Visto che il default prevede l’assegnazione di una home dir che è /home/nomeutente.

    Ciao!

  25. Avatar raf

    Perfect, grazie miller Raoul per il chiarimento 😉

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *