eliminare un gran numero di mail dalla coda di postfix

Hai mai desiderato eliminare tutti i messaggi dalla coda di Postfix dall’indirizzo email del mittente e dal dominio del destinatario?

Oggi, l’ho fatto … e qui sotto puoi trovare uno script maneggevole per questo scopo.

Strumenti necessari: grep, awk, mailq e postsuper.

mailq | tail -n +2 | head -n -2 | grep -v '^ *(' | awk 'BEGIN { RS = "" } { if (($7 == "sender@example.com") && ($8 ~ "somedomain.com")) print $1 }' | tr -d '*!' | postsuper -d -

 

Eliminare tutti i files multipli con un filtro su linux

Per eliminare tutti i files presenti in certelle e sottocartelle non avrete neache bisogno del comando rm per questo è sufficiente usare in find:

find . -name "*.old" -type f -delete

Per precauzione meglio usare prima:

find . -name "*.old" -type f

per avere un idea di quali files verrano rimossi.

Inoltre, meglio essere sicuri che -delete sia l’ultimo argomento della linea di comando. Se le mettete prima di -name *.old argument, cancellerà tutto! anche il vostro disco.

Tutorial Asterisk e FreePBX su Centos 7

freepbx vpsAsterisk è un bellissimo software che permette di generare un centralino via software su una Linux box, purtroppo però i suoi file di configurazione sono estremamente complessi e e quindi consiglio vivamente l’installazione di FreePBX per semplificarsi la vita dell’amministratore del centralino. FreePBX infatti è una interfaccia web che permette di configurare in modo molto agevole tutti i parametri di Asterisk non legati all’hardware di interfaccia con la linea telefonica per i quali esisto i dirver dahdi, nella mia esperienza c’è sempre bisogno di qualche modifica fatta a mano.  Ci sono un paio di distribuzioni dedicate che semplificano parecchio l’installazione Asterisk now e FreePBX distro , tutte e due molto simili nel risultato finale , che includono anche la preconfigurazione di dahdi ma se come me credete che:

quando gli uomini erano uomini si scrivevano i drivers da soli

allora forse vorrete proseguire nella lettura di questo piccolo tutorial dove spiegherò come installare asterisk e le pochissime dipendenze richieste da FreePBX su un sistema basato su Linux Centos 7.

Iniziamo con controllare che tutto si in ordine ed aggiornato sulla nostra box:

yum clean all
yum update

Installiamo quindi tutti i pacchetti necessari per soddisfare tutte le dipendenze di FreePBX:

yum groupinstall core base "Development Tools"
yum install lynx bison php-mbstring php-pear php-gd php-xml \
 libsepol-devel libtiff-devel openssl-devel subversion e2fsprogs-devel \
 keyutils-libs-devel krb5-devel libogg libogg-devel libtool libtool-ltdl-devel \
 kernel-headers kernel-devel tftp-server ncurses-devel sendmail sendmail-cf \
 sox newt-devel libtiff-devel subversion doxygen texinfo mysql-connector-odbc \
 unixODBC-devel sox gnutls-devel ncurses-devel net-snmp-devel neon-devel uuid-devel \
 libuuid-devel audiofile-devel gtk2-devel speex-devel gsm-devel sqlite-devel \ 
 perl-DateManip spandsp-devel freetds-devel iksemel-devel corosynclib-devel \ 
 lua-devel radiusclient-ng-devel libxslt-devel portaudio-devel libical-devel \ 
 gmime-devel bluez-libs-devel jack-audio-connection-kit-devel libedit-devel \ 
 jansson-devel libsrtp-devel wget vim mc 

Installiamo pjproject

cd /opt 
git clone git://github.com/asterisk/pjproject pjproject 
cd pjproject/ 
./configure --libdir=/usr/lib64 --prefix=/usr --enable-shared --disable-sound --disable-resample --disable-video --disable-opencore-amr
make dep 
make 
make install 
ldconfig

Installiamo SRTP

cd /opt  
wget http://srtp.sourceforge.net/srtp-1.4.2.tgz 
tar zxvf srtp-1.4.2.tgz
cd srtp 
autoconf 
./configure CFLAGS=-fPIC --prefix=/usr  
make 
make runtest
make install
ldconfig

Installiamo jansson

cd /opt 
wget http://www.digip.org/jansson/releases/jansson-2.7.tar.gz
tar zvxf jansson-2.7.tar.gz 
cd jansson-2.7
autoreconf -i
./configure --prefix=/usr/ --libdir=/usr/lib64
make  
make install 
ldconfig

Installiamo Lame

cd /opt 
wget http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz
tar zxvf lame-3.99.5.tar.gz 
cd lame-3.99.5
./configure 
make 
make install

Installiamo Asterisk

Add a new user named ‘asterisk’:

adduser asterisk -M -c "Asterisk User"
cd /opt
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13.7.2.tar.gz
tar zxvf asterisk-13.7.2.tar.gz
cd asterisk-13.7.2
contrib/scripts/install_prereq install
./configure --libdir=/usr/lib64
contrib/scripts/get_mp3_source.sh
make menuselect

Scegliamo quali moduli vogliamo compilare all’interno del nostro centralin, scegliamo ‘Save & Exit’ e continuiamo con la nostra installazione:

make 
make install 
make config 
ldconfig
chkconfig asterisk off

Impostiamo i permessi su alcune cartelle e files relativi ad Asterisk:

chown asterisk. /var/run/asterisk
chown asterisk. -R /etc/asterisk
chown asterisk. -R /var/{lib,log,spool}/asterisk
chown asterisk. -R /usr/lib64/asterisk
chown asterisk. -R /var/www/

Modifichiamo ora la configurazione di PHP ed impostiamo il valore di upload_max_size a 128 MB o più.

vi /etc/php.ini
upload_max_filesize = 128M

Modifichiamo il file principale di configurtazione di Apache (/etc/httpd/conf/httpd.conf) e cambiamo utente e  gruppro da ‘apache’ ad ‘asterisk’.

Inoltre modifichiamo ‘AllowOverride None’ directive to ‘AllowOverride All’.
Faccimao quindi ripartire il servizio Apache per rendere efficaci le modifiche:

systemctl restart httpd.service

Entriamo dentro al server MariaDB usando ‘root’ come nome utente e creaimo un nuovo utente e 2 database:

mysql -u root -p
MariaDB [(none)]> CREATE DATABASE asterisk;
MariaDB [(none)]> CREATE DATABASE asteriskcdrdb;
MariaDB [(none)]> CREATE USER 'asterisk'@'localhost' IDENTIFIED BY 'Y0uR-PASSW0RD';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON asterisk.* TO 'asterisk'@'localhost';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON asteriskcrddb.* TO 'asterisk'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> quit;

.

Install Freepbx

pear install db-1.7.14
pear install Console_Getopt
cd /opt
wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-12.0-latest.tgz
tar zxvf freepbx-12.0-latest.tgz 
cd freepbx 
./start_asterisk start 
./install
Database engine [mysql]: <Enter>
Database name [asterisk]: <Enter>
CDR Database name [asteriskcdrdb]: <Enter>
Database username [root]: asterisk
Database password: Y0uR-PASSW0RD
File owner user [asterisk]: <Enter>
File owner group [asterisk]: <Enter>
Filesystem location from which FreePBX files will be served [/var/www/html]: <Enter>
Filesystem location from which Asterisk configuration files will be served [/etc/asterisk]: <Enter>
Filesystem location for Asterisk modules [/usr/lib64/asterisk/modules]: <Enter>
Filesystem location for Asterisk lib files [/var/lib/asterisk]: <Enter>
Filesystem location for Asterisk agi files [/var/lib/asterisk/agi-bin]: <Enter>
Location of the Asterisk spool directory [/var/spool/asterisk]: <Enter>
Location of the Asterisk run directory [/var/run/asterisk]: <Enter>
Location of the Asterisk log files [/var/log/asterisk]: <Enter>
Location of the FreePBX command line scripts [/var/lib/asterisk/bin]: <Enter>
Location of the FreePBX (root) command line scripts [/usr/sbin]: <Enter>
Location of the Apache cgi-bin executables [/var/www/cgi-bin]: <Enter>
Directory for FreePBX html5 playback files [/var/lib/asterisk/playback]: <Enter>

Creiamo quindi lo scrips per l’avvio di FreePBX:

vi /etc/systemd/system/freepbx.service

add the following lines:

[Unit]
Description=FreePBX VoIP Server
After=mariadb.service
 
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/sbin/fwconsole start
ExecStop=/usr/sbin/fwconsole stop
 
[Install]
WantedBy=multi-user.target

Impostiamo il servizio FreePBX per la partenza automatica al boot e facciamolo partire:

systemctl enable freepbx.service
systemctl start freepbx

Abilitamo la rotazione dei log:

vi /etc/logrotate.d/asterisk

aggiungiamo le righe seguenti:

/var/log/asterisk/queue_log
/var/spool/mail/asterisk
/var/log/asterisk/freepbx_debug.log
/var/log/asterisk/messages
/var/log/asterisk/event_log
/var/log/asterisk/full {
        weekly
        missingok
        rotate 5
        notifempty
        sharedscripts
        create 0640 asterisk asterisk
        postrotate
        /usr/sbin/asterisk -rx 'logger reload' > /dev/null 2> /dev/null || true
        endscript
}

Apriamo ora il nostro browser preferito ed andiamo su:  http://<FreePBX-Server-IP-Address>/admin e creiamo un nuovo amministratore.

freepbx vps back-end

arduino su linux

se cercate di compilare con arduino su linux protreste ottenere un errore ‘permission denied’
per risolvere:

 

$ sudo usermod -a -G dialout <nomeutente>
$ sudo chmod a+rw /dev/ttyACM0

Installare Samba come Active Directory Domain Controller su Linux Centos 7

Prefazione:

Questo articolo permette di avere una installazione completamente funzioante, anche se ancora si tratta di un work in progress, stay tuned.

da fare:

  • server di stampa
  • backup domain controller (già fatto, ma  non documentato)
  • quello che servirà

 

 

Samba è un ottimo fileserver su *nix e Linux che permette di condividere files in modo efficace tra il mondi Windows, Mac e *nix.

Da sempre è stato possibile emulare un Pimary Domain Controller in stile NT4 (risale ormai al paleolitico informaticamente parlando),  che ormai richiedeva una patch del registro di di Windows per poter funzionare.

La nuova release di Samba 4 ha infatti apportato moltissime modifiche:

  • Samba 4 veste alla grande il ruolo di un  Domain Controller Active Directory. È quindi possibile utilizzare i tool di gestione presenti nei server Windows 2000/2003, gestire le group policies per i client Windows, aggiungere indifferentemente ulteriori server Windows e/o Linux all’infrastruttura di rete
  • non è più necessario utilizzare come backend un database LDAP, poiché Samba 4 integra un proprio database LDAP modificato per avere compatibilità verso i database LDAP di Microsoft Active Directory
  • è stato ingrato in Samba un servizio di Caching DNS che permette di non sapere niente di Bind
  • la condivisione delle risorse avviene direttamente modificando le proprietà di condivisione della risorsa
  • la gestione del sistema avviene con la logica dell’AD (Active Directory) ed è completamente integrata
  • Samba 4 supporta anche la configurazione cluster, ed il nuovo protocollo CIFS SMB2 introdotto con windows 7
  • E possibile la piena creazione di OU (Unità Amministrative) e l’impostazione di GPO (Group Policies Objects)

Lo stesso server Samba4 verrà poi utilizzato anche per la gestione in contemporanea degli utenti Unix, in modo da avere un controllo unico e centralizzato sia sugli utenti Windows sia sugli utenti Linux.

E’ possibile connettersi ad un dominio solo con le vesioni Professional ed Ultimate di Windows 2000, XP, 7, 8, 8.1 e 10, non sono supportate in alcun modo le versioni Home di Windows 2000, XP, 7, 8, 8.1 e 10.

Attenzione agli errori di battitura, in questa configurazione anche solo un “.” messo nel posto sbagliato oppure omesso può rendere impossibile il raggiungimento del risultato sperato.

Ho deciso di scrivere questa guida perché ho trovato indicazioni su internet un poco frastagliate o che si riferivano a vecchie versioni di Samba e come altri progetti OpenSource l’eccesso di documentazione alla fine provoca confusione perchè ognuno di noi ha la sua esperienza personale.

Sebbene il Domain Controller sembri il la macchian più indicata per fungere anche da file  server si suggerisce spesso di usare un file server distinto per permettere gli aggiornamenti  di uno piuttosto che dell’altro senza per questo compromettere il funzionamento del domnio. Si suggerisce inoltre alle organizzazioni medie e grandi di usare più di un DC. la documentazione ufficiale si Samba consiglia di usare server diversi per ogni ruolo in modo tale da separare i compiti e mantenere alti livelli di affidabilità. In più usare a un file server distinto evita idiosincrasie nella configurazione di winbind per maggior informazioni vi consiglio di leggere questi articoli:

Domain Member e file shares.

Condizioni di partenza:

  • avere una distribuzione di linux correttamente funzionante con lo stack di networking precedente abilitato, io ho usato centos 7, ma ritengo che questi passaggi elencati possano essere facilmente trasportati su altre distribuzioni.
  • essere certi che il vostro futuro DC usi un indirizzo ip statico. Il cambio dell’indirizzo IP assegnato al vostro DC potrebbe provocare problemi qualora il server DHCP assegnasse un ip diverso. Su Centos 7 è stato introdotto uno strumento da linea di comando chiamato nmtui, poiche l’installazione di dafault presuppone appunt odhcp attivo e interfaccia di rete disabilitata.
  • Leggere attentamente Active Directory Naming FAQ per informazioni prima di procedere, errori più comuni circa la scelta dei DNS, dei nomi NetBIOS per la vostra foresta Active Directory. Al momento l’implementazione AD di Sambanon supporta il cambiamento del nome, quindi meglio prestare attenzioen prima!
  • Controllate il vostro file /etc/hosts affinche ci sia una corretta corrispondenza tra il nome ed il suo indirizzo IP:
127.0.0.1     localhost.localdomain      localhost
192.168.1.41  ADDC1.example.local   ADDC1
Assicuratevi che il l’hostname sia risolto con l’indirizzo IP reale della LAN e non su 127.0.0.1!
  • Rimuovere ogni eventuale precdente installazione di Samba, se state aggiornado da un dominio NT4 meglio conservare il vostro file smb.conf ed eventualmente tutti i files presenti nella cartella /etc/samba come i database utenti.
  • Verificare di avere tutti i prerequisiti per una corretta installazione  Samba, in particolare specifiche sul file System e librerie installate tutti i dettagli qui

personalmente ho eseguito questa linea di comando, per avere tutte le librerie necessarie per la compilazione e qualche utility di mio comodo

yum install perl gcc attr libacl-devel libblkid-devel \
    gnutls-devel readline-devel python-devel gdb pkgconfig \
    krb5-workstation zlib-devel setroubleshoot-server libaio-devel \
    setroubleshoot-plugins policycoreutils-python \
    libsemanage-python perl-ExtUtils-MakeMaker perl-Parse-Yapp \
    perl-Test-Base popt-devel libxml2-devel libattr-devel \
    keyutils-libs-devel cups-devel bind-utils libxslt \
    docbook-style-xsl openldap-devel autoconf python-crypto vim mc net-tools wget

Installazione:

per installare Samba avete 3 opzioni:

  • installare i pacchetti forniti dalla vostra distribuzione o comunque trovarli in giro. Questo purtroppo non era possbile con la distribuzione Centos che preferisco utilizzare per le mie installazioni ed ho scoperto anche con altre distribuzioni basate su Red Hat operating systems (RHEL, CentOS, Fedora, etc.), poiche si basano sulle librerie kerberos del MIT, mentre samba è basato sulle librerie Heimdal Kerberos.
  • Utilizzare i pacchetti forniti da SerNet(https://shop.samba.plus/samba) , un azienda che è in qualche modo legata agli sviluppatori di Samba,che da qualche tempo hanno giustamente deciso di farsi pagare per il loro prezioso lavoro di sviluppo e supporto. Le versioni precedenti alla 4.3 sono ancora disponibili e si chiamano “enterprise samba” tutti i i dettagli qui https://portal.enterprisesamba.com/
  • utilizzare i sorgenti e compilare Samba come ai vecchi tempi, era un sacco di tempo che non lo facevo.

Compilazione del pacchetto:

Parte dei pacchetti necessari per la corretta compilazione di  Samba erano nella lista che ho scritto prima. con l’aggiunta di alcuni pacchetti che utilizzo abitualmente quali mc e vim, il primo è un file manager vecchio stampo che alcuni amministratori di sistema ricorderanno con il primo file manager utilizzato, integra anche un ottimo editor, ma purtroppo utilizzando putty per accedere al mio server non supporta il copia e incolla, per questo si rende necessario l’uso di vim, versione intelligente di vi, che supporta il copia ed incolla su putty

Passiamo quindi al download del pacchetto da qui https://www.samba.org/samba/download/

oppure più semplicemente:

(il numero dipende dall versione di samba, attualmente disponible 4.3.4)

wget https://download.samba.org/pub/samba/stable/samba-4.3.5.tar.gz
tar xvfz samba-4.3.5.tar.gz
cd samba-4.3.5
./configure --bindir=/sbin --sbindir=/sbin/ --sysconfdir=/etc/samba --mandir=/usr/share/man/ \ --with-acl-support --with-ads --enable-cups --enable-glusterfs --with-winbind --with-ldap --with-regedit \ --enable-selftest --localstatedir=/var --with-piddir=/var/run/ --with-pammodulesdir=/lib/security --without-systemd -j 2 make -j 4 make test (opzionale e dispendioso) make install

nuova versione (mantiene tutto in /usr/local/samba ad eccezione delle configurazione)

./configure --sysconfdir=/etc/samba --mandir=/usr/share/man/ \
 --with-acl-support --with-ads --enable-cups --enable-glusterfs --with-winbind --with-ldap --with-regedit \
 --enable-selftest -j 2
make -j 4
make test (opzionale e dispendioso)
make install

abbiamo quindi terminato l’installazione di samba sul nostro server ed iniziamo ora la configurazione
scegliando la prima riga per il comando configure tutti binari finirianno el path.
scegliendo la seconda riga per il comando “configure” sara’ necessario modificare il path con questo semplice script>

echo "PATH=${PATH}:/usr/local/samba/bin" > /etc/profile.d/scripts-path.sh && chmod 755 /etc/profile.d/scripts-path.sh

samba-tool domain provision --realm=example.local --domain=EXAMPLE --adminpass='P@ssw0rd' --server-role=dc 
--dns-backend=SAMBA_INTERNAL --function-level=2008_R2 --use-xattr=yes --host-ip=nu.me.ro.ip

da notare che il nome NetBIOS del dominio va scritto maiuscolo.

questo ci rendera AD DC del dominio ‘example’ con utilizzo del dns interno di gran lunga più semplice da configurare rispetto a bind.

oppure in alternativa

samba-tool domain provision --use-rfc2307 --interactive

e possiamo continuare la configurazione del nostro server con alcune modifiche al nostro /etc/samba/smb.conf  nella sezione global

 # esplicito in modo chiaro di cosa ho bisogno ed abilito i servizi
 server services = rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbind, ntp_signd, kcc, dnsupdate, smb
 server services = -s3fs +dns
 dcerpc endpoint servers = +winreg +srvsvc
 interfaces = nu.me.ro.ip
 allow dns updates = secure
 # dns recursive queries = yes
 # faccio in modo che gli utanti del dominio non possano effettuare il login
 template shell = /usr/sbin/nologin
 # imposto il log leve ed il nome file desiderato
 log file = /var/log/samba/EXAMPLE.log
 syslog = 0
 log level = 3 passdb:0 auth:0 winbind:0 vfs:0
 vfs objects = full_audit
 # imposto la dir dove verranno create le home delgli utanti per conformita scenglo home
 template homedir = /home/%ACCOUNTNAME%

e da aggiungere anche

dns forwarer = x.x.x.x

qualora non presente

quindi

mkdir /var/log/samba
samba restart

 

verifichamo che il file

/etc/resolv.conf 

sia circa così:

search example.local
nameserver nu.me.ro.ip

quindi facciamo qualche verifica con nslookup

ad alcune verifiche sul dns di samba nello specifico

# host -t SRV _ldap._tcp.example.local. (attenzione al punto finale ed alla risposta successiva)
_ldap._tcp.example.local has SRV record 0 100 389 addc1.example.local.
# host -t SRV _kerberos._tcp.example.local. (attenzione al punto finale ed alla risposta successiva)
_kerberos._tcp.example.local has SRV record 0 100 88 addc1.example.local.
# host -t A server01.dominio.local.  (attenzione al punto finale ed alla risposta successiva)
server01.dominio.local has address nu.me.ro.ip

quindi utilizziamo la nuova configurazione di kerberos appena generata da samba-tool
mv /etc/krb5.conf /etc/krb5.conf.orig
ln -s /usr/local/samba/private/krb5.conf /etc/krb5.conf

Testiamo il funzionamento di Kerberos:

# kinit administrator@DOMINIO.LOCAL

Se il comando precedente ha avuto esito positivo, con il comando:

# klist -e

possiamo vedere il ticket Kerberos che ci è stato assegnato


Configurazione del firewall:

Samba usa tutte queste porte per funzionare nel ruolo di Active Directory Domain Controller:

Service Port protocol
DNS 53 tcp/udp
Kerberos 88 tcp/udp
End Point Mapper (DCE/RPC Locator Service) 135 tcp
NetBIOS Name Service 137 udp
NetBIOS Datagram 138 udp
NetBIOS Session 139 tcp
LDAP 389 tcp/udp
SMB over TCP 445 tcp
Kerberos kpasswd 464 tcp/udp
LDAPS (only if “tls enabled = yes”) 636 tcp
Dynamic RPC Ports* 1024-5000 tcp
Global Cataloge 3268 tcp
Global Cataloge SSL (only if “tls enabled = yes”) 3269 tcp
Multicast DNS 5353 tcp/udp

quindi vanno i seguenti comandi per evitare il firewall presente su Centos blocchi le connessioni:

firewall-cmd --permanent --add-port=53/tcp
firewall-cmd --permanent --add-port=53/udp
firewall-cmd --permanent --add-port=88/tcp
firewall-cmd --permanent --add-port=88/udp
firewall-cmd --permanent --add-port=135/tcp
firewall-cmd --permanent --add-port=137/tcp
firewall-cmd --permanent --add-port=137/udp
firewall-cmd --permanent --add-port=138/udp
firewall-cmd --permanent --add-port=139/tcp
firewall-cmd --permanent --add-port=389/tcp
firewall-cmd --permanent --add-port=389/udp
firewall-cmd --permanent --add-port=445/tcp
firewall-cmd --permanent --add-port=464/tcp
firewall-cmd --permanent --add-port=464/udp
firewall-cmd --permanent --add-port=636/tcp
firewall-cmd --permanent --add-port=1024-5000/tcp
firewall-cmd --permanent --add-port=1024-5000/udp
firewall-cmd --permanent --add-port=3268/tcp
firewall-cmd --permanent --add-port=3269/tcp
firewall-cmd --permanent --add-port=5353/tcp
firewall-cmd --permanent --add-port=5353/udp

e quindi facciamo ripartire il firewall

firewall-cmd --reload

SELinux Configuration:

Applichiamo ora alcuni policies di SELinux per permettere il passaggio di Samba come domain controller.

setsebool -P samba_domain_controller on
setsebool -P samba_enable_home_dirs on

Cambiamo quindi il security contest delle cartelle che abbiamo condivi tramite Samba nel file smb.conf

chcon -t samba_share_t /samba/netlogon
chcon -t samba_share_t /samba/profiles
nuova versione
chcon -t samba_share_t /usr/local/samba/var/locks/sysvol/adcomlocal.local/scripts
chcon -t samba_share_t /home/samba/profiles


Meglio riavviare il server per vedere che le regole rimangano tutte applicate.

Scorciatoia:

Se non volete avere problemi di alcun tipo con Firewall e SELinux, basta semplicemente disattivarli tramite systemclt e riavviare il server.

Come farsi volere bene dai propri utenti sbadati:

Qui invece alcuni comandi necessari per rimuovere alcuno controlli di sicurezza sulle password che tanti utenti odiano, ognuno di questi disabilita alcuni controlli che sono normalmente ablitati e che sarebbe megmlio non disabilitare, ma si sa che gli utenti non piace.

samba-tool domain passwordsettings set --complexity=off
samba-tool domain passwordsettings set --history-length=0
samba-tool domain passwordsettings set --min-pwd-age=0
samba-tool domain passwordsettings set --max-pwd-age=0

Alcuni comandi utili

Fonte http://guide.debianizzati.org/index.php/Samba_e_OpenLDAP:_creare_un_controller_di_dominio_Active_Directory_con_Debian_Wheezy

Strumenti di amministrazione da shell

Gestione DNS

Aggiungere un record # samba-tool dns add server zone name A|AAAA|PTR|CNAME|NS|MX|SRV|TXT data
Cancellare un record # samba-tool dns delete server zone name A|AAAA|PTR|CNAME|NS|MX|SRV|TXT data
Interrogare un record # samba-tool dns query server zone name A|AAAA|PTR|CNAME|NS|MX|SRV|TXT|ALL [options] data
Chiedere informazioni sul server # samba-tool dns serverinfo server
Aggiornare un record # samba-tool dns update server zone name A|AAAA|PTR|CNAME|NS|MX|SRV|TXT olddata newdata
Creare una zona # samba-tool dns zonecreate server zone
Eliminare una zona # samba-tool dns zonedelete server zone
Informazioni su una zona # samba-tool dns zoneinfo server zone
Elencare le zone # samba-tool dns zonelist server

Gestione utenti

Aggiungere un utente # samba-tool user create USERNAME
Cancellare un utente # samba-tool user delete username
Disabilitare un utente # samba-tool user disable username
Abilitare un utente # samba-tool user enable username
Elencare gli utenti # samba-tool user list
Modificare la password di un utente # samba-tool user setpassword username
Impostare la scadenza di un utente # samba-tool user setexpiry username

Gestione Gruppi

Aggiungere un gruppo # samba-tool group add groupname
Aggiungere utenti a un gruppo # samba-tool group addmembers groupname members
Cancellare un gruppo # samba-tool group delete groupname
Elencare i gruppi # samba-tool group list
Elencare i membri di un gruppo # samba-tool group listmembers groupname
Cancellare utenti da un gruppo # samba-tool group removemembers groupname members

Gestione Password

Abbassare la complessità delle password # samba-tool domain passwordsettings set –complexity=off
Modificare la lunghezza minima consentita per le password # samba-tool domain passwordsettings set –min-pwd-length=1

Configurazione delle stampanti:

installiamo ancora qualche pacchetto

yum install cups foomatic-db hplip-common

poi ho editato /etc/cups/cupsd.conf aggiungendo all inizio:

DefaultEncryption Never

per semplificare le cose un po più avanti ho aggiunto una riga listen per permettere la configurazione tramite rete

Listen nu.me.ro.ip:631

ed infine un paio di righe aggiuntive nella sezione “/” e “admin”
come da foto per permettere una accesso alla pagina web a tutta la rete interna e solo un host per la pagina di ammnistrazione.

cupsadmin1

 

 

 

 

cupsadmin2

 

 

 

 

quindi :

systemctl cups restart

e

systemctl cups enable

quindi accesso via web alla pagina si configurazione

https://nu.me.ro.ip:631/admin

e aggiungo le stampanti presenti in rete tramite interfaccia web.

dopodiche ritorno ad editare

il mio smb.conf ed aggiungo nella sezxione global:

rpc_server:spoolss = external
rpc_daemon:spoolssd = fork

che abilitano l’ultima versione dello spool di stampa ad alte prestazioni con forking……

inoltre attivo l’auto caricamento delle stampanti di sistema:

load printers = yes

senza di dimenticarmi di aggiungere la cartella si spool :

 mkdir -p /var/spool/samba/
 chmod 1777 /var/spool/samba/

quindi

smbcontrol all reload-config

per ricaricare la configurazione

Avvio Automatico

 

Simpaticamente Samba non prevede uno script System V compatibile, o almeno io no lo ho trovato, comuqneu ho trovato in rete questo script da screivere facendo:

vi /etc/rc.d/init.d/samba4

e scrivendo:

#! /bin/bash
#
# samba4 Bring up/down samba4 service
#
# chkconfig: - 90 10
# description: Activates/Deactivates all samba4 interfaces configured to
# start at boot time.
#
### BEGIN INIT INFO
# Provides:
# Should-Start:
# Short-Description: Bring up/down samba4
# Description: Bring up/down samba4
### END INIT INFO
# Source function library.
. /etc/init.d/functions

if [ -f /etc/sysconfig/samba4 ]; then
. /etc/sysconfig/samba4
fi

CWD=$(pwd)
prog="samba4"

start() {
# Attach irda device
echo -n $"Starting $prog: "
/usr/local/samba/sbin/samba
sleep 2
if ps ax | grep -v "grep" | grep -q /samba/sbin/samba ; then success $"samba4 startup"; else failure $"samba4 startup"; fi
echo
}
stop() {
# Stop service.
echo -n $"Shutting down $prog: "
killall samba
sleep 2
if ps ax | grep -v "grep" | grep -q /samba/sbin/samba ; then failure $"samba4 shutdown"; else success $"samba4 shutdown"; fi
echo
}
status() {
/usr/local/samba/sbin/samba --show-build
}

# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status irattach
;;
restart|reload)
stop
start
;;
*)
echo $"Usage: $0 {start|stop|restart|status}"
exit 1
esac

exit 0

che deve un fiel che qualcuno aveva nel cassetto perche fa riferiment al vecchio stack irda, ma viene citato questo script in diversi posti nella rete, quindi tutti fanno capo ad uno script a quanto sembra.

e quindi attivare questo script per avvio automatico:

chmod 755 /etc/rc.d/init.d/samba4

chmod +x /etc/rc.d/init.d/samba4

ln -s /etc/rc.d/init.d/samba4 /etc/rc3.d/S80samba4

chkconfig --add samba4

chkconfig samba4 on

service samba4 restart

 

 

 

Cambiare UUID di un drive virtuale VDI usando virtualbox

Può capitare a volte di voler avere piu copie dello stesso OS contemporaneamente.
Per fare questo si può utilizzare l’utility “clona disco” inclusa in Virtualbox, ma se avete fatto una copia tramite di backup questo può risultare complesso. Perché il media manager lamenterá la presenza di un disco con lo stesso UUID, oppure che il disco è già aperto da un’altra istanza.
Per risolvere è necessario usare il seguente comando in windows . Oppure su linux
Da una finestra di comandi DOS:

C:\>”Program Files\Sun\VirtualBox\VBoxManage” internalcommands sethduuid e:\cleandows.vdi

Il risultato:

VirtualBox Command Line Management Interface Version 3.0.10
(C) 2005-2009 Sun Microsystems, Inc.
All rights reserved.

UUID changed to: 32475885-c5cf-4560-8ffa-dcc2a9a74ee3