Configurare Ubuntu come PDC Samba

Per installare Samba su Ubuntu, il problema non è tanto l’installazione in sé, ma il fatto che Ubuntu ha l’utente root disabilitato, e quindi bisogna prendere particolari accorgimenti.

Per prima cosa, non credo sia necessario, ma io assegno una password all’utente root, tramite il comando

$ sudo -s -H

# passwd root

Poi, una volta installato Samba, bisogna aver cura nella configurazione del file smb.conf, di mettere nello script di aggiunta della macchina nel dominio questo comando:

add machine script = sudo /usr/sbin/useradd -d /dev/null -g gruppocomputers -s /bin/false %u

dove gruppocomputers è il gruppo che andrà creato in Linux che conterrà gli account macchina di tutti i PC connessi al dominio. Il gruppo sarà creato tramite questo comando:

$ sudo groupadd gruppocomputers

Altro problema, è il fatto che il comando nello script inizia con l’istruzione sudo, che però richiederebbe la password per funzionare, quindi, bisogna fare in modo che il comando sudo non richieda la password utilizzando il comando sudo visudo ed impostando questa riga:

utenteiniziale ALL=(ALL) NOPASSWD:ALL

dove per utenteiniziale si intende l’utente creato in fase d’installazione di Ubuntu. A questo punto, riapplicare i permessi originari del file tramite il comando

# chmod 440 /etc/sudoers

L’ultimo passaggio, è quello di creare l’utente root in Samba, dandogli la stessa password che è stata assegnata in precedenza all’utente root su Linux. Ciò serve perché è necessario indicare l’utente root da Windows quando si fa il join sul dominio Samba, ho provato inserendo l’utente iniziale ma Samba mi ha risposto con un poderoso gesto dell’ombrello. Quindi:

$ sudo smbpasswd -a root

Ora i client dovrebbero connettersi senza problemi al dominio, ovviamente, tutte le altre voci di configurazione devono essere impostate in modo appropriato.
A questo punto sorge un problema, cioè che quando si fa il join al dominio, l’utente root, che è l’amministratore del dominio, non fa parte del gruppo Domain Admins, ed in questo modo, l’utente root non è amministratore locale delle macchine connesse al dominio. Per fare in modo di mappare il gruppo Domain Admins col gruppo di Linux root, bisogna utilizzare questo comando:

$ sudo net groupmap modify ntgroup=”Domain Admins” unixgroup=root

Per impostare Samba come print server, bisogna per prima cosa installare CUPS col comando

$ sudo apt-get install cupsys cupsys-client

quindi, bisogna dare queste direttive nella sezione global in smb.conf

printing = CUPS
printcap = CUPS e poi, creare una condivisione printers con questi parametri

[printers]
path = /var/spool/samba printable = YES
use client driver = YES

A questo punto bisogna creare la cartella /var/spool/samba e quindi dare a tutti gli utenti tutti i permessi su questa cartella

$ sudo mkdir /var/spool/samba
$ sudo chmod 777 /var/spool/samba/

Rimangono da modificare due file di configurazione di CUPS, in modo da permettere la stampa in RAW. I file da modificare sono /etc/cups/mime.types e /etc/cups/mime.convs, in cui va decommentata la riga application/octet-stream se commentata. Fatto questo, va creata la stampante condivisa sulla porta parallela del server, tramite questo comando:

$ sudo lpadmin –p NOMESTAMPANTE –v parallel:/dev/lp0 –E

dove per NOMESTAMPANTE si intende il nome della stampante condivisa sul server Samba. Riavviare il demone CUPS sul server tramite il comando

$ sudo /etc/init.d/cupsys restart

Molto interessante.