Bash script cambio password

Personalmente me lo sono scrittp per cabiare qualcosa come 54 password ftp. Non volendolo fare a mano sono ricorso al solito bash Gli utenti nei sistemi Linux sono contenuti in questo file  /etc/passwd e si presentano in questo modo : test.it:x:526:526:test.it:/home/test.it:/bin/sh Per prima cosa elimino tutto quello che non mi serve : awk -F”:” ‘{ print $1 }’ /etc/passwd > user.txt ed ottengo quindi solo lo user : test.it A questo punto ecco che entra in azione lo script vero e proprio : #!/bin/bash function randpass { echo `</dev/urandom tr -dc A-Za-z0-9 | head -c8` } for i in `more ftp_ok` do p=`randpass` echo $i $p echo $p | passwd –stdin $i done Il gioco è fatto !  

Allineare mysql slave

Cosa succede se si fa una bella insert sul nostro database mysql slave? Due cose : Lo slave server si disallinea Il sistemista bestemmia  Per controllore lo stato dello slave bisogna lanciare dallo slave : mysql> show slave status\G  Lo Slave utilizza piu’ thread. Il primo e’ una connessione remota al Master ed ha il compito di raccogliere i dati dal bin-log (BinLog Dump) ed e’ sempre attivo. Gli altri thread sono locali ed hanno il compito di ricevere il contenuto del bin-log (Slave I/O) e di applicarlo alla base dati (Slave SQL). In caso d’errore nell’inserimento dei dati il thread Slave SQL si interrompe mentre lo Slave I/O continua a raccogliere i dati dal Master. Con show slave status\G si ottiene l’indicazione dell’errore occorso; una volta corretto il problema la replicazione riprende dal punto in cui si era interrotta applicando il… Leggi tuttoAllineare mysql slave

Monitorare coda postfix

Un semplice script bash che controlla la coda di postix e ci avverte se supera un determinato limite : #!/bin/bash limit=50; [email protected]; servername=$(hostname); queue_p=$(postqueue -p | grep Request | awk ‘{print $5}’); if [ $queue_p -ge $limit ] ; then echo ” Dear Server admin, We have $limit in local mailqueue. ” | mail -s “Mailqueue limit exceeding – $servername” $notifyemail fi    

Proteggi SSH con SSHguard

 sshguard , è scritto in C, quindi usa meno memoria e CPU durante l’esecuzione pur ottenendo gli stessi risultati. COSA FA SSHGUARD ? La versione corta è: riceve i messaggi di log, rileva quando un servizio in rete è attaccato basandosi su di essi, e blocca l’indirizzo di chi sta attaccando, dopo qualche tempo, rimuove questo blocco. La versione completa è: sshguard gira su una macchina come un piccolo demone, e riceve i messaggi di log (in diversi modi, ad esempio da syslog). Quando si determina che l’indirizzo X ha fatto qualcosa di male al servizio Y, attiva una regola nel firewall della macchina (uno dei tanti supportati) per il blocco di X. Sshguard mantiene X bloccato per qualche tempo, poi lo rilascia automaticamente. Si prega di notare che, nonostante il suo nome sshguard rileva di base gli attacchi per molti… Leggi tuttoProteggi SSH con SSHguard

Creazione automatica sito web apache con bash

Ecco un semplice script che crea website, alias, directory automaticamente tramite bash  #!/bin/bash echo “Inserisci dominio (es: example.com):”; read domain; echo “” echo “Inserisci Alias (es: www.example.com):”; read domain_alias; echo “” ### Check $domain esiste if ! grep “${domain}” /etc/apache2/sites-available/${domain}.conf >> /dev/null; then echo “${domain} will be created” mkdir -p /var/www/${domain}/{htdocs,logs,cgi-bin}; chown -R www-data:www-data /var/www/${domain}/ echo ” ## Automatic generation from Genesi on `eval date +%d.%m.%Y` ## ${domain} ServerName ${domain} ServerAlias ${domain_alias} DocumentRoot /var/www/${domain}/htdocs ServerAdmin [email protected] ErrorLog /var/www/${domain}/logs/error.log CustomLog /var/www/${domain}/logs/access.log combined Options FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all ” >> /etc/apache2/sites-available/${domain}.conf echo “Testing configuration” apache2ctl configtest a2ensite ${domain}.conf /etc/init.d/apache2 reload else echo “${domain} Dominio già esistente” fi  

Mediawiki FCKeditor

Dalla versione di MediaWiki > 1.16 la versione stabile di FCKeditor è disponibile qui : http://svn.wikimedia.org. SVN path: http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/FCKeditor) Peccato solo che la versione ufficiale esce con un bel baco : Fatal error: Cannot redeclare js_unescape() (previously declared in /home/webapps/ineh/extensions/FCKeditor/FCKeditorSajax.body.php:268) in /home/webapps/ineh/includes/AjaxFunctions.php on line 55 Per risolvere basta modificare questa pagina all’interno della cartella extensions/FCKeditor e cambiare  ‘js_unescape’ con ‘fck_js_unescape’; O lo fate a mano o usate rpl ad esempio : rpl js_unescape fck_js_unescape FCKeditorSajax.body.php  

LVM – Come funziona

Introduzione  LVM (Logical Volume Manager) permette l’utilizzo di dispositivi logici virtuali per accedere ai disci, mascherano cosi’ la natura dei dispositivi fisici su cui risiedono i dati. E’ quindi possibile utilizzare un device virtuale di cui possono fare parte diversi hard disk fisici, anche di natura, velocità e dimensioni diverse. I vantaggi di un simile approccio alla gestione dei file system sono maggiore flessibilita’ e scalabilita’, alta disponibilita’ del servizio e ridondanza. Schema ————————————————- Logical Volumes (LV) | lv_share | lv_backup | (unused) | ————————————————- Volume Groups (VG) | vg_fileserver | ————————————————- Physical Volumes (PV) | /dev/sdb1 | /dev/sdc1 | /dev/sdd1 | /dev/sde1 | ————————————————- Ricerca nuovi dischi  Per vedere nuovi dischi aggiunti alla macchina: echo 1 > /sys/class/fc_host/host/issue_lip rescan-scsi-bus.sh -l -w -c multipath Physical Volumes (PV)  Per creare un Physical Volume (PV) su una partizione esistente, cioe’ rendere la… Leggi tuttoLVM – Come funziona

Monitorare progresso restore Mysql

Vi è mai capitato di dover copiare un file di grandi dimensioni e voler monitorare lo stato di avanzamento della copia? Con pv è possibile farlo in maniera molto semplice. Le distribuzioni più comuni permettono di installare pv con un semplice apt-get install pv o yum install pv, dopodiché potete monitorare lo stato di avanzamento di una copia semplicemente mettendo pv in pipe con altri comandi. pv di per sé si comporta in maniera molto simile a cat, quindi, ad esempio, se dovete mandare una serie di query a mysql : # pv database_backup.sql | mysql my_database 96.8MB 0:00:17 [5.51MB/s] [==> ] 11% ETA 0:02:10

Ecco il nuovo sito Ubuntu App Developer: annuncio ufficiale!

Punto di riferimento fondamentale per tutti gli sviluppatori Ubuntu: il nuovo sito è stato ufficialmente annunciato e risulta giù attivo a questo indirizzo: http://developer.ubuntu.com/. Un supporto passo passo per chi ha voglia di dedicarsi allo sviluppo di applicazioni per uno dei sistemi operativi free più utilizzati al mondo: il sito è costituito da diverse sezioni, tutte con uno scopo ben preciso. Get started – Per incominciare… Resources – Tutorial, guide e tutta la documentazione necessaria per lo sviluppo Publish – Viene spiegato come usufruire del famoso Ubuntu Software Centre Community – Community che riunisce tutti gli sviluppatori My Apps – Sezione in cui possiamo tutte le applicazioni sviluppate e relative informazioni. Ci si aspettano ulteriori novità e cambiamenti che verranno probabilmente discusse e rivelate in occasione dell’ Ubuntu Developer Summit che si terrà ad Orlando

Cancellare directory piena di files (giga)

Se stai cercando di eliminare un numero molto elevato di file in una sola volta (ho cancellato una directory con 7.485.000 oggi +), probabilmente incorrerai in questo errore: Il problema è che quando si digita qualcosa del tipo “rm-rf *”, il “*” viene sostituito con un elenco di tutti i file corrispondenti, come “rm-rf file1 file2 file3 file4” e così via. C’è un buffer relativamente piccolo di memoria allocata per la memorizzazione questo elenco di argomenti e se è riempito, la shell non esegue il programma. Per ovviare a questo problema, un sacco di persone useranno il comando find per trovare tutti i file e passarli uno ad uno per il comando “rm” in questo modo: Il mio problema è che avevo bisogno di cancellare queli 8 milioni di log e sci metteva davvero troppo tempo. Sono incappato in un modo… Leggi tuttoCancellare directory piena di files (giga)