Archivi categoria: Tips and tricks

Ricordati di me, GRUB!

Per fare in modo che Grub 2.0 si ricordi dell’ultima opzione selezionata occorre modificare/aggiungere le seguenti righe nel file /etc/default/grub con il vostro editor preferito:

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true

Salvare le modifiche e applicare le nuove impostazioni digitando il comando:

$ sudo update-grub

Da adesso in poi Grub si ricorderà quale sistema operativo è stato avviato e lo riproporrà già selezionato tra le varie opzioni disponibili.

BDE su Windows 7

Se come me stai cercando un modo di far funzionare il Borland Database Engine su Windows 7, sia 32 che 64 bit, allora sei nel posto giusto!

Il BDE è un software ormai vecchio e vetusto. Tuttavia esistono in giro alcune applicazioni che ancora ne fanno uso. I problemi sono dovuti principalmente alla non corretta gestione dei permessi con l’UAC e al programma di installazione originale che non è pienamente compatibile con il Windows Installer.

Ho trovato in rete un pacchetto di installazione contentente l’ultima versione del BDE (5.2.0.2) e che supera queste limitazioni. Il nuovo setup permette l’installazione dei file necessari al corretto funzionamento, dopo aver richiesto i privilegi amministrativi tramite il prompt di UAC. E’ presente una funzione che permette la rimozione di eventuali chiavi di registro rimaste a seguito di una precedente installazione corrotta.

File allegato: Setup_BDE52

Proteggere i files con lo sticky bit

Nei sistemi Linux e unix-like se un utente ha i permessi per scrivere in una directory allora può rinominare o eliminare i files contenuti in essa, anche se non ne è il proprietrio. Per prevenire ciò il proprietario della directory, o l’amministratore del sistema, può impostare il cosiddetto sticky bit. In questo modo i soli utenti che possono rinominare o rimuovere i files di quella directory sono il proprietario del file, il proprietario della directory e l’utente root.
Facciamo subito un esempio. Creiamo un nuova directory e impostiamo lo sticky bit:

MacBookPro:~ mark$ mkdir share
MacBookPro:~ mark$ chmod 1777 share
MacBookPro:~ mark$ ls -ld share
drwxrwxrwt 2 mark staff 68 9 Mag 16:26 share

Con questi permessi qualunque utente può creare dei file ma può eliminare solo quelli che gli appartengono. Così l’utente pippo non può eliminare i file dell’utente topolino, anche se ha i permessi per scrivere sulla directory:

MacBookPro:~ pippo$ ls -l
total 3
-rw-r--r-- 1 pippo staff 120 Nov 19 11:32 data.pippo
-rw-r--r-- 1 topolino staff 3421 Nov 19 15:34 data.topolino
-rw-r--r-- 1 pluto staff 728 Nov 20 12:29 data.pluto
MacBookPro:~ pippo$ rm data.topolino
data.topolino: 644 mode ? y
rm: data.topolino not removed.
Permission denied

Proteggere il tuo sito con htaccess

Per proteggere il tuo sito o una directory sul tuo spazio web con una password, basta aggiungere due file nella directory: htpasswd e htaccess.

Il file htpasswd deve contenere le credenziali di accesso per ogni utente abilitato nella forma username:password. La password deve essere già cifrata in MD5. E’ possibile usufruire di vari servizi web per cifrare al volo la password, come ad esempio htmlite, oppure tramite comando da shell:


$ htpasswd -c .htpasswd fred

Alla fine il file deve risultare simile a questo:

mark:$1$MdS3Q3mw$BiKTlG.YF5K55y2C9VmgO1
alex:$1$gy6k4NAr$ojVcIY.4gCbt4L3xMqjoW1

A questo punto occupiamoci del file htaccess. Inserite il seguente codice:

AuthUserFile /full/path/to/.htpasswd
AuthType Basic
AuthName "My Secret Folder"
Require valid-user

Se non sapete quale è la path assoluta del vostro spazio web, e se il servizio di hosting al quale vi appoggiate supporta PHP, allora salvate su file ed eseguite il seguente spezzone di codice:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Documento senza titolo</title>
</head>
<body>
<?php
 $dir = dirname(__FILE__);
 echo "<p>Full path to this dir: " . $dir . "</p>";
 echo "<p>Full path to a .htpasswd file in this dir: " . $dir . "/.htpasswd" . "</p>";
?>
</body>
</html>

Alla fine salvate i due file nella root o nella directory da proteggere anteponendo un punto davanti al nome (quindi “.htaccess” e “.htpasswd”). Fatto.