Creare un file da shell

Per creare un file da shell si utilizza il comando touch. La sintassi ? molto semplice:

touch filediprova

creerà un file chiamato filediprova nella directory corrente.

Cosa ? la shell

La shell non ? altro che il mezzo mediante il quale l’utente può dialogare e interagire con il sistema operativo. La shelll di linux ? un programma quasi insostituibile dal momento che consente di dosare nella giusta misura comandi e/o configurazioni per il sistema operativo.

Nel sistema operativo linux si possono utilizzare diversi programmi shell, tra cui il più famoso e utilizzato dei quali ? la bash.

Revocare i permessi di accesso MySQL

Per revocare i privilegi di accesso a un database MySQL, o comunque per eliminare un utente, si utilizza il comando revoke in questo modo:

REVOKE ALL ON CONTATTI.* FROM UTENTE@localhost;

Con questa istruzione, all’utente UTENTE si sono eliminati tutti i privilegi che deteneva sul database CONTATTI.

Privilegi insufficienti

Se si tenta la connessione a un database cui non si hanno i corretti privilegi di accesso, si otterrà una risposta di questo tipo:

mysql> use test;ERROR 1044 (42000): Access denied for user ‘UTENTE’@’localhost’ to database ‘test’

Il server MySQL avvisa che l’utente UTENTE non ha il diritto di accedere ai dati contenuti nel database test.

Per assegnargli la possobilità di interagire con il database test, si dovrà fare così

GRANT ALL ON test.* TO UTENTE@localhost IDENTIFIED BY ‘PASSWORD’;

In questo modo l’utente UTENTE – la cui password ? PASSWORD – avrà diritto di accesso all’intero database test.

MySQL e Utenti – Privilegi di accesso

Per chi proviene da prodotti per la memorizzazione delle informazioni come Access o in parte Filemaker e non ha conoscenze su sistemi operativi del mondo unix like, come linux, il concetto di utente può risultare abbastanza ostico.

In realtà non c’? nulla di complicato.

In MySQL – ma la stessa cosa accade per altri rdbms come Oracle, MSSQL, DB2 ecc.. – l’uso di un database o, comunque, una qualsiasi operazione di interrogazione e/o gestione dei database e/o delle tabelle non ? concessa a chiunque ma limitata (per obiettivo rispetto di garanzie di sicurezza) solo ad alcuni utenti predeterminati e precedentemente creati dall’utente root (in MSSQL l’equivalente ? sa, in Oracle system, in db2 db2inst1, in PostgreSQL postgres).

Cosa significa questo? In parole molto semplici, ciascuno di questi sistemi di database prevedono l’esistenza di un dominus ossia di un utente con privilegi di amministrazione che può disporre la creazione di altri utenti i queli avranno il diritto di eseguire le operazioni che l’amministratore ha stabilito. Si prenda ad esempio un database CONTATTI, i cui dati andranno pubblicati su internet. La via migliore per rispettare i canoni di sicurezza in materia di database ? quella di creare come root il database CONTATTI (qui si parla solo di MySQL dal momento che, ad esempio, su Oracle l’ordine di creazione degli elementi ? leggermente differente). Creare, sempre come root, un utente, facciamo conto, INTERNET che abbia il solo privilegio di eseguire delle SELECT sul database CONTATTI.

Per creare l’utente e assegnargli il privilegio di eseguire solo delle SELECT, si fa cosìGRANT select ON CONTATTI.* TO INTERNET@localhost IDENTIFIED BY ‘INTERNETPASSWORD’;

Selezionare il database MSSQL da utilizzare

Una volta effettuata la connessione al server MSSQL, sarà necessario specificare quale sia il database su cui si vorranno effettuare query. Per interfacciarsi con il database, PHP utilizza la funzione mssql_select_db.

mssql_select_db ha lo stesso valore che da riga di comando sql ha:

USE NOMEDATABASE;

La sintassi di mssql_select_db ? abbastanza semplice. Si passano come argomenti della funzione il nome del database MSSQL da utilizzare e l’id della connessione. Qui di seguito c’? un esempio:

$connessione=mssql_connect($NOMESERVER,$UTENTE,$PASSWORD); //con questa prima funzione si stabilisce una connessione al database e si ottiene l’id di connessione stessa$database=”test”; //alla variabile $database si passa il nome del db cui connettersi$database=mysql_select_db($database,$connessione); //si passa alla connessione.

In questo esempio si sono eseguite, nell’ordine le seguenti operazioni equipollenti SQL:

  • si ? stabilita una connessione al server con il Query Analizer;
  • si ? eseguita l’istruzione USE NOMEDATABASE;
  • Selezionare il database MySQL da utilizzare

    Una volta effettuata la connessione al server MySQL, sarà necessario specificare quale sia il database su cui si vorranno effettuare query. Per interfacciarsi con il database, PHP utilizza la funzione mysql_select_db oppure mysqli_select_db, a seconda della libreria che si utilizza (mysql o mysqli).

    mysql_select_db ha lo stesso valore che da riga di comando sql ha:

    USE NOMEDATABASE;

    La sintassi di mysql_select_db ? abbastanza semplice. Si passano come argomenti della funzione il nome del database MySQL da utilizzare e l’id della connessione. Qui di seguito c’? un esempio:

    $connessione=mysql_connect($NOMESERVER,$UTENTE,$PASSWORD); //con questa prima funzione si stabilisce una connessione al database e si ottiene l’id di connessione stessa$database=”test”; //alla variabile $database si passa il nome del db cui connettersi$database=mysql_select_db($database,$connessione); //si passa alla connessione.

    In questo esempio si sono eseguite, nell’ordine le seguenti operazioni equipollenti SQL:

  • mysql -h NOMESERVER – u UTENTE -p PASSWORD
  • USE NOMEDATABASE;
  • Processo di boot su linux

    Il processo di avvio di un host linux avviene attraverso diverse e complesse fasi che ? fondamentale conoscere. E’ fondamentale quanto meno la conoscenza della sequenza in cui si verificano. In caso di anomalie, infatti, una minima idea di ciò che sta accadendo e dell’ordine in cui prendono corpo le varie fasi che sostanziano l’avvio di una linux box può dare indicazioni utile alla risoluzione delle stesse.

    Ma andiamo con ordine, dando per scontato che si sia premuto il tasto ON e si sia preventivamente attaccata la spina a una presa di corrente regolarmente alimentata. Queste sono le fasi:

  • il BIOS passa all’host l’indicazione di quale sia il device che deve dare l’avvio al sistema (es, hard disk, floppy, cdrom ecc..)
  • qui si dà per scontato che l’avvio del sistema operativo avvenga da hard disk;
  • nell’hard disk (che fisicamente e logicamente ? suddiviso in blocchio, o meglio in settori) c’? un settore che ? il primo a esser letto se il disco ? ‘flaggato come disco di avvio’;
  • il questo settore ? residente un boot loader, ossia da un programma (lilo e grub sono i più diffusi) che consente di eseguire il bootstrap e dà al boot l’indicazione del posizionamento fisico del kernel da caricare;
  • una volta inizializzato il sistema stesso, viene caricato in memoria il kernel di linux e, contestualmente, vengono attivate le procedure di inizializzazione dell’hardware (driver);
  • l’ultima fase riguarda il caricamento di tutti i programmi da parte di INIT, ossia del processo dei processi che dà avvio a tutti i programmi che devono essere avviati in base al runlevel prescelto.
  • Verificare il nome host su linux

    Per verificare il nome host su cui si ha accesso si usa il comando

    hostname

    Il comando hostname ricava il nome host dal file /etc/hostname. Di conseguenza se si desidera cambiare permanentemente il nome host, si potrà editare, da root, il file /etc/hostname.