Dimensione: 5171
Commento:
|
Dimensione: 4711
Commento:
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 8: | Linea 8: |
'''Monit''' è una applicazione utile a monitorare lo stato di file, directory, processi e device. E' in grado di intraprendere particolari misure di manutenzione (es. restart dei servizi, alert via mail) nel caso in cui riscontri particolari anomalie. | '''Autofs''' monta automaticamente le cartelle condivise quando gli utenti o i processi richiedono l'accesso ad esse; le smonta automaticamente se restano inattive per un periodo di tempo specificato. Viene utilizzato principalmente per la condivisione di cartelle accessibili in rete tramite i protocolli [:Server/Nfs:Nfs] o [:Server/Samba:Samba]. Il montaggio automatico di dispositivi rimovibili è infatti già fornito da [http://it.wikipedia.org/wiki/Hardware_abstraction_layer Hal] nel sistema base. |
Linea 12: | Linea 12: |
Il programma è presente nel [:Repository/Componenti:componente] '''universe''' dei [:Repository:repository] ufficiali. Può essere quindi installato mediante uno fra i vari strumenti messi a disposizione dal sistema: [:SynapticHowto:Synaptic], [:AdeptHowTo:Adept] e [:Apt:apt-get]. | Il programma è presente nel [:Repository/Componenti:componente] '''universe''' dei [:Repository:repository] ufficiali. Una volta abilitato tale componente è sufficiente [:InstallareProgrammi:installare] il pacchetto ''autofs''. |
Linea 16: | Linea 16: |
Per configurare '''monit''' è sufficiente modificare con un [:EditorDiTesto:editor di testo] con i [:Sudo:privilegi di amministrazione] il file di configurazione `/etc/monit/monitrc` | Aprire il file di configurazione `/etc/auto.master` con un [:EditoriDiTesto:editor di testo] con i [:Sudo:privilegi di amministrazione] aggiungendo le seguenti righe: {{{ /smb /etc/auto.smb /net /etc/auto.net }}} |
Linea 18: | Linea 22: |
Innanzitutto è necessario specificare quali mail server dovrà utilizzare per l'invio della mail di notifica. E' possibile aggiungere diversi mail server con le relative porte (se diverse da 25). Supponendo di poter utilizzare i mail server: `mx1.example.com` `mx2.example.com` (porta 10025) occorre aggiungere al file di configurazione la direttiva seguente: | = Montare una directory Samba pubblica = Supponendo di voler montare una cartelle condivisa con nome `condivisionesmb` da un server avente nome `server.dominio.it`, sarà sufficiente portarsi nella directory `/smb/server.dominio.it/condivisionesmb`. Digitare il seguente comando: {{{ cd /smb/server.dominio.it/condivisionesmb }}} ||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''Il nome del server si riferisce al nome [:Server/Dns#whatis:DNS] e non al nome !NetBIOS.'' || = Montare una directory Samba con autenticazione = Qualora sia necessario fornire delle credenziali di acesso per montare una directory Samba, occorre sostituire il file `/etc/autofs.smb` con il seguente: |
Linea 21: | Linea 36: |
set mailserver mx1.example.com, mx2.example.com port 10025 |
#!/bin/bash # $Id$ # This file must be executable to work! chmod 755! key="$1" # Note: create a cred file for each windows/Samba-Server in your network # which requires password authentification. The file should contain # exactly two lines: # username=user # password=***** # Please don't use blank spaces to separate the equal sign from the # user account name or password. credfile="/etc/auto.smb.$key" # Note: Use cifs instead of smbfs: mountopts="-fstype=cifs" smbclientopts="" for P in /bin /sbin /usr/bin /usr/sbin do if [ -x $P/smbclient ] then SMBCLIENT=$P/smbclient break fi done [ -x $SMBCLIENT ] || exit 1 if [ -e "$credfile" ] then mountopts=$mountopts",credentials=$credfile" smbclientopts="-A "$credfile else smbclientopts="-N" fi $SMBCLIENT $smbclientopts -gL $key 2>/dev/null \ | awk -v key="$key" -v opts="$mountopts" -F'|' -- ' BEGIN { ORS=""; first=1 } /Disk/ { if (first) { print opts; first=0 }; sub(/ /, "\\ ", $2); print " \\\n\t /" $2, "://" key "/" $2 } END { if (!first) print "\n"; else exit 1 } |
Linea 25: | Linea 76: |
Specificare poi l'indirizzo mittente da cui l'applicazione invierà la posta (es. `monit@example.com`) | Il file dovrà avere come [:PermessiFile:permessi] 755 |
Linea 28: | Linea 79: |
set mail-format { from: monit@example.com } | sudo chmod 755 /etc/auto.smb |
Linea 31: | Linea 82: |
Specificare l'indirizzo a cui le mail di notifica dovranno essere consegnate (es. `sysadmin@example.com`) | Per ogni server a cui si intende accedere, occorre creare un file, contenente esattamente due righe. Supponendo che il nome del server sia `server.dominio.it` il file dovrà avere nome `/etc/auto.smb.server.dominio.it` e dovrà contenere le credenziali nella seguente forma |
Linea 34: | Linea 85: |
set alert sysadmin@example.com | username=username_samba password=password_samba |
Linea 37: | Linea 89: |
Abilitare il web server interno per l'interfaccia di amministrazione. E' possibile specificare a quali indirizzi permettere la visualizzazione (es. `localhost`) e quali utenti, con relative password, poter utilizzare (in questo caso l'utente sarà "admin" con password "monit") | Sostituire opportunamente le stringhe `username_samba` e `password_samba` con le proprie credenziali. = Montare una directory Nfs = Supponendo di voler montare una cartella condivisa via nfs con nome `condivisionenfs` da un server avente nome DNS `server.dominio.it` sarà sufficiente portarsi nella directory `/net/server.dominio.it/condivisionenfs` |
Linea 40: | Linea 97: |
set httpd port 2812 and use address localhost # accetta connessioni solo da localhost allow localhost # permette la visualizzazione solo se la richiesta proviene da localhost allow admin:monit # utente admin con password monit |
cd /net/server.dominio.it/condivisionenfs |
Linea 46: | Linea 100: |
Una configurazione più sicura prevede l'utilizzo di SSL. Per far ciò è necessario generare un certificato x509 valido. Supponendo che questo sia contenuto, insieme alla relativa chiave privata, nel file `/var/certs/monit.pem` occorre aggiungere una direttiva del seguente tipo: {{{ set httpd port 2812 and SSL ENABLE PEMFILE /var/certs/monit.pem allow admin:monit }}} Qualora si vogliano monitorare le risorse utilizzate sul sistema, è possibile aggiungere una regola che avvisi, tramite mail, l'amministratore nel caso in cui alcune soglie vengano superate. Per esempio: {{{ check system server.example.com if loadavg (1min) > 4 then alert if loadavg (5min) > 2 then alert if memory usage > 75% then alert if cpu usage (user) > 70% then alert if cpu usage (system) > 30% then alert if cpu usage (wait) > 20% then alert }}} Supponendo di voler monitare permessi e proprietario di una particolare directory (nel nostro caso `/bin`) aggiugere una regole del tipo: {{{ check directory bin with path /bin if failed permission 755 then unmonitor if failed uid 0 then unmonitor if failed gid 0 then unmonitor }}} Per monitare un demone (es. ldap) si potrà aggiungere una direttiva del tipo: {{{ check process slapd with pidfile /var/run/slapd/slapd.pid start program = "/etc/init.d/slapd start" stop program = "/etc/init.d/slapd stop" if failed host 192.168.1.1 port 389 protocol ldap3 then restart if 5 restarts within 5 cycles then timeout }}} In questo caso, qualora il server ldap risultasse non disponibile, '''monit''' provvederebbe a riavviarlo. Per monitare invece un host remoto (es. `myserver` con IP `192.168.1.1`), su cui gira una istanza di mysql, occorre aggiungere una direttiva di questo tipo: {{{ check host myserver with address 192.168.1.1 if failed icmp type echo count 3 with timeout 3 seconds then alert if failed port 3306 protocol mysql with timeout 15 seconds then alert }}} Altri esempi sono disponibili all'url: [http://www.tildeslash.com/monit/doc/examples.php] = Avviare il demone = Abilitare monit modificando il file `/etc/defautl/monit` con un editor di testo e con i privilegi di amminstrazione. Occorre settare la variabile `startup` a 1: {{{ startup=1 }}} infine avviare il demone {{{ sudo /etc/init.d/monit start }}} L'interfaccia di '''Monit''' sarà ora raggiungibile mediante protocollo `http` sulla porta 2812 (es. `http://localhost:2812`) |
||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''Le directory non saranno visibili finchè non si farà esplicito riferimento ad esse, quindi solo dopo l'esecuzione di uno dei precedenti comandi.'' || |
Linea 118: | Linea 104: |
* [http://www.tildeslash.com/monit/ Sito ufficiale del progetto] * [http://www.howtoforge.com/server_monitoring_with_munin_monit_debian_etch Server Monitoring With munin And monit On Debian Etch] ## da questo punto in poi non modificare! |
* [http://tldp.org/HOWTO/Automount.html Automount Howto] * [https://help.ubuntu.com/community/Autofs Autofs Ubuntu wiki] * [http://it.wikipedia.org/wiki/NetBIOS Voce enciclopedica NetBIOS] |
Linea 124: | Linea 108: |
CategoryNuoviDocumenti | CategoryHomepage |
IndiceBR TableOfContents(1) |
Introduzione
Autofs monta automaticamente le cartelle condivise quando gli utenti o i processi richiedono l'accesso ad esse; le smonta automaticamente se restano inattive per un periodo di tempo specificato. Viene utilizzato principalmente per la condivisione di cartelle accessibili in rete tramite i protocolli [:Server/Nfs:Nfs] o [:Server/Samba:Samba]. Il montaggio automatico di dispositivi rimovibili è infatti già fornito da [http://it.wikipedia.org/wiki/Hardware_abstraction_layer Hal] nel sistema base.
Installazione
Il programma è presente nel [:Repository/Componenti:componente] universe dei [:Repository:repository] ufficiali. Una volta abilitato tale componente è sufficiente [:InstallareProgrammi:installare] il pacchetto autofs.
Configurazione
Aprire il file di configurazione /etc/auto.master con un [:EditoriDiTesto:editor di testo] con i [:Sudo:privilegi di amministrazione] aggiungendo le seguenti righe:
/smb /etc/auto.smb /net /etc/auto.net
Montare una directory Samba pubblica
Supponendo di voler montare una cartelle condivisa con nome condivisionesmb da un server avente nome server.dominio.it, sarà sufficiente portarsi nella directory /smb/server.dominio.it/condivisionesmb. Digitare il seguente comando:
cd /smb/server.dominio.it/condivisionesmb
Il nome del server si riferisce al nome [:Server/Dns#whatis:DNS] e non al nome !NetBIOS. |
Montare una directory Samba con autenticazione
Qualora sia necessario fornire delle credenziali di acesso per montare una directory Samba, occorre sostituire il file /etc/autofs.smb con il seguente:
# $Id$ # This file must be executable to work! chmod 755! key="$1" # Note: create a cred file for each windows/Samba-Server in your network # which requires password authentification. The file should contain # exactly two lines: # username=user # password=***** # Please don't use blank spaces to separate the equal sign from the # user account name or password. credfile="/etc/auto.smb.$key" # Note: Use cifs instead of smbfs: mountopts="-fstype=cifs" smbclientopts="" for P in /bin /sbin /usr/bin /usr/sbin do if [ -x $P/smbclient ] then SMBCLIENT=$P/smbclient break fi done [ -x $SMBCLIENT ] || exit 1 if [ -e "$credfile" ] then mountopts=$mountopts",credentials=$credfile" smbclientopts="-A "$credfile else smbclientopts="-N" fi $SMBCLIENT $smbclientopts -gL $key 2>/dev/null \ | awk -v key="$key" -v opts="$mountopts" -F'|' -- ' BEGIN { ORS=""; first=1 } /Disk/ { if (first) { print opts; first=0 }; sub(/ /, "\\ ", $2); print " \\\n\t /" $2, "://" key "/" $2 } END { if (!first) print "\n"; else exit 1 }
Il file dovrà avere come [:PermessiFile:permessi] 755
sudo chmod 755 /etc/auto.smb
Per ogni server a cui si intende accedere, occorre creare un file, contenente esattamente due righe. Supponendo che il nome del server sia server.dominio.it il file dovrà avere nome /etc/auto.smb.server.dominio.it e dovrà contenere le credenziali nella seguente forma
username=username_samba password=password_samba
Sostituire opportunamente le stringhe username_samba e password_samba con le proprie credenziali.
Montare una directory Nfs
Supponendo di voler montare una cartella condivisa via nfs con nome condivisionenfs da un server avente nome DNS server.dominio.it sarà sufficiente portarsi nella directory /net/server.dominio.it/condivisionenfs
cd /net/server.dominio.it/condivisionenfs
Le directory non saranno visibili finchè non si farà esplicito riferimento ad esse, quindi solo dopo l'esecuzione di uno dei precedenti comandi. |
Ulteriori risorse
[http://tldp.org/HOWTO/Automount.html Automount Howto]
[https://help.ubuntu.com/community/Autofs Autofs Ubuntu wiki]
[http://it.wikipedia.org/wiki/NetBIOS Voce enciclopedica NetBIOS]