Categorie
tutorial

MySQL, indici FullText e la lunghezza delle strighe

Avete mai provato a cercare su un indice FullText con una stringa sotto i 4 caratteri ?

select * from tabella where match (nomecampo) against (‘abc’);

Bhe, io dopo essere diventato scemo, ho scoperto che per default la lunghezza minima è impostata a 4 caratteri.

MySQL, indici FullText e ricerca sotto i 4 caratteri

Se quindi state cercando stringhe come “php“,”htm” o “css“, e nonostante siate sicuri che ci siano riscontri, la ricerca non vi restituisce nessun record, non è dovuto ad una tabella corrotta, ma molto più semplicemente perché l’indice in condizioni normali non gestisce ricerche di questo tipo.

La soluzione, se siete nelle condizioni di modificare il file di configurazione, fortunatamente c’è, e prevede 3 operazioni

  1. E’ necessario definire il valore della variabile ft_min_word_len all’interno del file my.cfg
    ft_min_word_len=3
  2. Riavviare il server in modo che valorizzi in modo corretto la nuova impostazione
  3. Per finire, è necessario fare il rebuild degli indici, in modo che vengano ricostruiti con tutte le informazioni corrette
    REPAIR TABLE nometabella QUICK;

Facile come bere un chupito… basta saperlo.

Per la documentazione ufficiale basta guardare qui

Categorie
featured security tutorial

3 righe per la sicurezza di un server SSH

SSH è uno di quei servizi che installo e configuro sempre, sia nel caso di Firewall, che di Web Server, Mail Server, File Server, ecc …

SSH - Secure SHell

Con il rilascio di debian etch, in caso di un installazione minimale fatta tramite netinst, è necessario installarlo manualmente, ma come di sempre, questa operazione e resa banale da apt …

# apt-get install ssh

A differenza di altri servizi che uso come mamma debian li ha preparati, per il sig SSH ho preso l’abitudine di modificare alcuni parametri del suo file di configurazione ( /etc/ssh/sshd_config ) che poi nella pratica si riducono in verità alla “rettifica” di due parametri ed all’inserimento di una terza riga.

La prima rettifica è relativa alla porta che secondo l’ICANN è la 22 ma che quando posso cerco di cambiare.

Port 123422

La seconda modifica blocca l’accesso per l’utente root. In questo modo nel caso riuscissero ad entrare si trovano con un utente con permessi limitati.

PermitRootLogin no

Il terzo cambiamento è una conseguenza del secondo in quanto se come root l’accesso non è permesso, e bene garantirlo a qualcun’altro.

Aggiungiamo quindi una riga indicando il nome dell’utente autorizzato.

AllowUsers nomeutente

Il tempo necessario per queste operazioni e al di sotto dei 60 secondi … e personalmente ritengo che i benefici siano pienamente ripagati da cotanto lavoro.

Link per approfondire:

  1. Lista di porte standard
  2. Uso e configurazione di Secure Shell
  3. Getting started with SSH
Categorie
tutorial

chmod , chown : permessi e proprietari sotto linux

Se digitiamo al prompt di una macchina linux “# ls -alt” ci viene restituita una lista dei file.

Sulla prima colonna troviamo 10 lettere che indicato come sono impostati i permessi di quella directory o file.

Sulla seconda il numero di hard link (collegamenti fisici) ( ma di questo ne parleremo un’altra volta. )

Sulla terza e quarta rispettivamente nome del proprietario e nome del gruppo.

Cominciamo dalla prima colonna:
La prima lettera indica se è una directory (d) , un link simbolico (l) o un file (-) mentre le restati 9 ( a gruppi di 3 ) definiscono i permessi per proprietario, gruppo e altri utenti.

I tipi di permesso possono essere

  1. lettura (r)
  2. scrittura (w)
  3. esecuzione (x)

Nell’esempio qui sotto abbiamo un file dove il proprietario può leggere e scrivere ( rw-) , il gruppo può solo leggere ( r–) ed infine tutti quelli che non fanno parte del gruppo possono solo leggere ( r– ).
Andando direttamente alla terza e quarta colonna ( root suser ) possiamo capire che questo file appartiene all’utente root ed al gruppo suser
-rw-r--r-- 1 root suser .....................

Categorie
tutorial

Condividere una sessione ssh

In alcuni casi è molto utile essere in due sulla stessa console ma difficilmente si ha il lusso di potersi sedere uno affianco all’altro.

Per sopperire a questo problema ho scoperto screen, una specie di VNC per la shell.

L’uso è semplicissimo:

installiamo il programma

#apt-get install screen

poi diamo il comando:

#screen

adesso da un qualsiasi altro pc ci colleghiamo in ssh e digitiamo

#screen -x

da questo momento tutto quello che digitiamo su una console verra anche visualizzato sull’altra …

per terminare la sessione condivisa basta un "exit"

Tratto da un post sul ng linux.debian.user.italian