Aggiungere un utente a sudoers

Se dovete abilitare un utente affinché possa utilizzare il comando “sudo”, occorre aggiungerlo ai sudo users (sudoers).

Per fare ciò, dobbiamo editare il file

/etc/sudoers

con il comando “visudo” da utente root:

[testuser@centostest ~]$ su - -c visudo
Password:
(inserite la password di root).

Ora andiamo ad aggiungere l’utente, sotto la riga relativa a root (per andare in modalità inserimento, premete ESC e poi “i”. In basso compare la scritta “– INSERT –“):

## Next comes the main part: which users can run what software on
## which machines (the sudoers file can be shared between multiple
## systems).
## Syntax:
##
## user MACHINE=COMMANDS
##
## The COMMANDS section may have other options added to it.
##
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
testuser ALL=(ALL) ALL
[...]

(al posto di “testuser” mettete l’utente che volete aggiungere ai sudoers).

Ora salvate e chiudete il file (premete ESC e poi digitate “:wq” senza virgolette).

Fate una prova per vedere se funziona “sudo”:

[testuser@centostest ~]$ cat /etc/sudoers
cat: /etc/sudoers: Permission denied

[testuser@centostest ~]$ sudo cat /etc/sudoers
[sudo] password for testuser:
(mettete la password dell’utente e vedrete che stamperà il contenuto del file)

 

[Errno 14] curl#56 – “Network error recv()” – impostare proxy yum Fedora Core

Se dopo aver lanciato yum update:

[usertest@fedoratest ~]$ sudo yum update
[sudo] password for usertest:

Compare:

Loaded plugins: langpacks, presto, refresh-packagekit
fedora/metalink | 33 kB 00:00
http://fedora.mirror.garr.it/mirrors/fedora/linux/releases/15/Everything/i386/os/repodata/repomd.xml: [Errno 14] curl#56 - "Network error recv()"
Trying other mirror.
ftp://ftp.ciril.fr/pub/linux/fedora/linux/releases/15/Everything/i386/os/repodata/repomd.xml: [Errno 14] curl#7 - "Couldn't connect"
Trying other mirror.
http://mirror.nl.leaseweb.net/fedora/linux/releases/15/Everything/i386/os/repodata/repomd.xml: [Errno 14] curl#56 - "Network error recv()"
Trying other mirror.
[...]

Potrebbe essere necessario impostare il vostro proxy nel file yum.conf. Quindi andiamo ad editare tale file:

[usertest@fedoratest ~]$ sudo gedit /etc/yum.conf

e aggiungiamo le seguenti righe al suo interno, dopo il tag [main]:

proxy=http://proxy.mioDominio.it:portaDelProxy
proxy_username=nomeUtente
proxy_password=miaPassword

Es:
[main]
proxy=http://proxy.gabriele.it:8080
proxy_username=gabriele
proxy_password=My_V3rY_Str0Ng_P4$$wW0rD!
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
...

N.B. 1: ricordatevi che il file yum.conf è aperto in lettura a tutti gli utenti… la password è scritta in chiaro…

N.B. 2: a quanto parte Fedora Core 15 ha un bug per l’impostazione del proxy. Leggi qui.

SIOCSIFNETMASK No such device

Mentre avviavo una Debian, ho visto dei messaggi che mi hanno insospettito:

SIOCSIFNETMASK: No such device
SIOCSGIFADDR: No such device
eth0: ERROR while getting interface flags: no such device
eth1: ERROR while getting interface flags: no such device

Facendo:

$ ifconfig

veniva visualizzata solo l’interfaccia loopback, mentre con:

$ ifconfig -a

non c’erano più la eth0 e la eth1, ma la eth2 e eth3 (Figura 1):

Andando a vedere il log: /var/log/messages ho notato:

kernel: [..] udev: renamed network interface eth0 to eth2
kernel: [..] udev: renamed network interface eth1 to eth3

Successivamente ho controllato il file:

/etc/udev/rules.d/70-persistent-net.rules

e ho visto le seguenti righe:

# PCI device 0x8086:0x1076 (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="*:*:*:*:*:*c",
ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# PCI device 0x8086:0x1076 (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="*:*:*:*:*:*d",
ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
# PCI device 0x8086:0x1076 (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="*:*:*:*:*:*6",
ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"
# PCI device 0x8086:0x1076 (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="*:*:*:*:*:*7",
ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth3"

A questo punto sono andato a controllare (sempre da ifconfig -a, vedi Figura 1) i MAC delle schede, ho commentato le prime due righe (con MAC diverso) e ho modificato le ultime due mettendo “eth0” e “eth1” al posto di “eth2” e “eth3” (Figura 2):

# PCI device 0x8086:0x1076 (e1000)
#SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="*:*:*:*:*:*c",
ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# PCI device 0x8086:0x1076 (e1000)
#SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="*:*:*:*:*:*d",
ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
# PCI device 0x8086:0x1076 (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="*:*:*:*:*:*6",
ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# PCI device 0x8086:0x1076 (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="*:*:*:*:*:*7",
ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

Dopo aver fatto ciò, ho riavviato ed è tornato tutto come prima.

Firewall Linux e BSD

Distribuzioni dedicate per firewall (Linux e BSD based):

  • M0n0wall
  • ipcop distribuzione firewall Linux
  • Zeroshell “[…] Zeroshell is a small Linux distribution for servers and embedded devices aimed at providing the main network services a LAN requires[…]”
  • pfSense “[…] pfSense is a free, open source customized distribution of FreeBSD tailored for use as a firewall and router[…]”
  • SmoothWall “[…]a free firewall that includes its own security-hardened GNU/Linux operating system and an easy-to-use web interface[…]”
  • Devil-Linux “Devil-Linux is a distribution which boots and runs completely from CDROM […]”
  • ClarkConnect “ClarkConnect is a powerful server/gateway software solution designed for the small/medium-sized organization. […]”
  • redWall “redWall is a bootable CD-ROM Firewall. […]”

Altre soluzioni (commerciali):

Convertire una macchina fisica in virtuale

Chiunque volesse convertire una macchina fisica (sia un sistema locale che remoto) in virtuale può provare a utilizzare VMware vCenter Converter, disponibile gratuitamente (occorre solo registrarsi):

VMware vCenter Converter

Sistema e software che ho usato per questo test:

  • Windows 7
  • VMware vCenter Converter 4.3
  • VMware Server 2.0.2 (potete usare anche VMware Player per aprire la macchina virtuale)

Sistema da convertire:

  • Windows XP (potete applicare questa procedura anche ad altri sistemi operativi).

N.B.: il test è stato svolto in un PC contenente 3 partizioni: Windows XP, Windows Vista e Windows 7; il programma è stato installato su Windows 7 ma si può mettere tranquillamente sullo stesso Windows XP da convertire, quindi seguite tranquillamente i passi che descriverò di seguito. E’ indispensabile utilizzare una cartella di destinazione che non risieda sulla stessa partizione del sistema che volete convertire, quindi usare un’altra partizione, un disco esterno, un disco remoto,…

Passi svolti:

  1. Operazione preliminare: se si dovrà convertire una macchina fisica Windows XP, inserire il CD di Windows XP. Aprire (con 7-Zip, WinZip o WinRar) il file “G:\SUPPORT\TOOLS\DEPLOY.CAB” (al posto di G:, mettere la lettera relativa al cd-rom). Estrarre il contenuto di quel file nella cartella “C:\ProgramData\VMware\VMware vCenter Converter Standalone\sysprep\xp”. Questo path è valido su Windows 7; se state installando da Windows XP, il percorso sarà: C:\Documents and Settings\All Users\Dati applicazioni\VMware\VMware vCenter Converter Standalone\sysprep\xp”).
  2. Installare VMware Converter. L’installazione è molto semplice… quando chiesto, scegliere “Local installation” se si vuole convertire un sistema locale, altrimenti selezionare “Client-Server installation (advanced)”. I passi che seguono, descriveranno il primo caso.
  3. Aprire VMware Converter (o premere direttamente “launch” al termine dell’installazione). !! Attenzione !! Se state utilizzando Windows 7 (o Windows Vista), dovete eseguire VMware Converter con i diritti di amministrazione (quindi: tasto destro sull’icona di VMware Converter e click su “Esegui come amministratore”). Se state usando Windows XP, se non erro, occorre essere amministratori.
  4. Premere il tasto “Convert Machine” in alto a sinistra.
  5. In “Select source type”, selezionare “Powered-on machine”, specificare “This local machine” e premere “Next >”.
  6. In “Select destination type”, selezionare “VMware Workstation or other VMware virtual machine”; in “Select VMware product” selezionare “VMware Server 2.x” (selezionare “VMware Player” se volete utilizzarlo al posto della versione server). Dare poi un nome alla macchina virtuale che andrete a creare e selezionate una cartella di destinazione. Premere “Next >”.
  7. Ora si aprirà la finestra delle opzioni.
  8. Cliccare su “Data to copy” per andare a selezionare la/le partizione/i da convertire. Il warning che viene visualizzato (che avverte che la destinazione non ha abbastanza spazio per contenere la macchina virtuale) scomparirà non appena si andranno a togliere le partizioni che non servono. Togliere tutte le partizioni/dischi che non si vogliono copiare.
    N.B.:
    purtroppo, nel mio caso, essendo un sistema multi-boot, il programma mi costringe a mantenere anche la partizione di boot, ovvero Windows 7 (C:). Per questo motivo, per ridurre al massimo lo spazio occupato da quest’ultima, invece di “Maintain size” ho selezionato “Min size”. Se voi avete solo la partizione di Windows XP, selezionate solo quella (o solo i dischi/le partizioni che vi interessa convertire).
  9. Dalla colonna “Current settings”, cliccare su “Devices” e impostare la memoria ad un valore desiderato. Io ho seguito il suggerimento che mi veniva indicato dalla freccia verde e ho impostato la RAM a 1024 MB. Se avete a disposizione poca RAM, impostate questo valore al minimo (indicato dalla freccia gialla) o sui 512 MB. Da questa schermata è possibile anche impostare il numero di processori da dedicare alla macchina virtuale e il tipo di controller. Io ho lasciato i valori di default.
  10. Dalla colonna “Current settings”, cliccare su “Networks”. Io ho ridotto il numero di “Network adapters” da 6 a 1. Se ve ne servono di più o se non sapete cosa fare, lasciate il valore preimpostato; al massimo si possono sempre togliere dopo se non li usate.
  11. A questo punto, dalla colonna “Current settings”, cliccare su “Services”. Potete mettere mano ai servizi che volete avviare o fermare o lasciare in manuale… In questa guida di base, non aggiungo dettagli a riguardo. Se siete utenti non esperti, lasciate tutto com’è.
  12. Passare ad “Advanced options”. Io ho voluto aggiungere l’opzione riguardante l’installazione dei VMware Tools sulla macchina virtuale che verrà creata, ma potete anche lasciare stare e lasciare tutto com’è.
  13. Anche nel menu “Throttling” lasciare tutto com’è.
  14. Premere “Next >” e vedrete un riassunto.
  15. Premere “Finish” per avviare la conversione.
  16. La conversione di circa 73 GB di macchina fisica, è durata 44 minuti (sto usando un Core 2 Duo 2.4 GHz e dischi SataII 10000 rpm). Alla fine del processo, potrete ora aprire la macchina virtuale con VMware Server (o VMware Player).

!! ATTENZIONE !! FATE UNA COPIA DI BACKUP DELLA MACCHINA FISICA ED ASSICURATEVI CHE TUTTO FUNZIONI NELLA NUOVA MACCHINA VIRTUALE PRIMA DI EFFETTUARE CANCELLAZIONI!! NON MI ASSUMO NESSUNA RESPONSABILITA’ IN CASO  DI PERDITE DI DATI/SISTEMI O ALTRI TIPI DI DANNI.

Note post-installazione

  • Appena avviata la macchina virtuale Windows XP, poiché rileva un cambiamento corposo di hardware, vi comparirà il messaggio per l’attivazione della copia di Windows. Attivatela entro 3 giorni.
  • Il primo avvio di Windows XP (e anche di Windows 7) sarà un po’ lungo perché il sistema effettua la rilevazione e l’installazione del nuovo hardware (virtuale). Sarà richiesto un riavvio.
  • Se il sistema su cui state eseguendo la macchina virtuale ha lo stesso nome e IP della macchina virtuale, dovrete cambiarli (altrimenti rileverà un nome duplicato nella rete e anche un IP duplicato).

N.B.: Come già accennato sopra, io ho fatto le mie prove in un sistema multi-boot su cui sono installati Windows XP, Vista e 7. Il boot era gestito dal programma EasyBCD installato su Windows 7 e il mio obiettivo era quello di convertire solo la partizione Windows XP.

Problema riscontrato: ho provato a installare il programma VMware Converter sui tre i sistemi operativi (uno alla volta) e in tutti i casi ho notato che nelle opzioni di conversione mi obbligava a mantenere, oltre alla partizione Windows XP selezionata da me, anche la partizione preposta alla gestione del boot: Windows 7. Il risultato è stato un nuovo sistema virtuale contenente tutti e due i sistemi operativi e il conseguente utilizzo di molto più spazio.

Per togliere la partizione di Windows 7 che non mi serviva, ho semplicemente cancellato la partizione (da Gestione disco: Start -> Esegui: compmgmt.msc), ho espanso la partizione di Windows XP in modo che occupasse tutto lo spazio libero e ho ripristinato il bootloader di Windows XP. Però questa soluzione non comporta l’utilizzo di meno spazio sul disco fisso (beh, si, potrei diminuire lo spazio occupato dalla macchina virtuale), quindi sto cercando altre soluzioni… Chinque avesse qualche novità, non esiti a scrivermi un commento.

Una possibile alternativa per la conversione di partizioni: Disk2vhd

Ho voluto provare un altro software (che fa parte della Sysinternals Suite di Microsoft), Disk2vhd, per provare a risolvere il problema sopra descritto e, quindi, per convertire la singola partizione. Ho notato che questo programma permette di selezionare solo la partizione di Windows XP e di creare un file .vhd.

Problema riscontrato: ho visto che VMware Converter non è in grado di convertire i file *.vhd in qualcosa da lui riconoscibile.

Possibili soluzioni:

  • cercare un convertitore “vhd to vmdk” (non ho ancora avuto tempo di provare qualche software)
  • usare il programma gratuito VirtualBox che è in grado di gestire i file .vhd.
  • su Windows 7 ho visto che è stata aggiunta un’interessante funzionalità che permette sia di aprire i file .vhd, sia di effettuare il boot con essi (quest’ultima non l’ho mai provata). Per aprirli, basta:
  1. Tasto destro su “Computer” -> Gestione (oppure: Logo di Windows -> Cerca: compmgmt.msc).
  2. Nella finestra che si apre (Gestione Computer), andare su “Gestione disco”. Poi tasto destro sempre su “Gestione disco” -> Collega file VHD
  3. In questa finestra scegliere il file .vhd creato con Disk2vhd premendo “Sfoglia…”
  4. Premere OK.
  5. Ora, su Gestione disco vedrete l’elenco dei dischi e anche quello nuovo. Se lo vedete Offline, occorrerà semplicemente metterlo Online: tasto destro sul nuovo disco (di colore azzurro) -> Online.N.B.: non appena ho collegato il file, mi sono comparse due finestre di avvertimento che mi suggerivano di formattare le unità I: e H:Infatti, come si può vedere dalla figura, non mi viene rilevato una sola partizione (quella di Windows XP), ma le tre originali. Le due che mi chiede di formattare non sono inizializzate. Se le formatto, mi crea due nuove unità che posso utilizzare. Se le uso, la dimensione del file .vhd crescerà. Ho provato anche a eliminarle e ad espandere poi il disco “J:” e ha funzionato senza problemi. In questo caso, il lato positivo è che la dimensione del file .vhd aumenta soltanto se viene riempito.
  6. A questo punto potrete accedere normalmente alla nuova unità “virtuale”.

N.B.: Ho trovato un programma per Windows 7 che aggiunge due voci (Attach e Detach) nel menu contestuale in modo da “montare” e “smontare” velocemente i file .vhd.

Per ulteriori informazioni vi rimando al sito ufficiale:

VHD Attach

Installare SQLite su Ubuntu

Per installare SQLite su Ubuntu, aprire semplicemente il Gestore pacchetti Synaptic (Sistema -> Amministrazione -> Gestore pacchetti) e installare “sqlite3” e “libsqlite3-dev”.

Oppure aprire una shell e dare il comando:

# sudo apt-get install sqlite3 libsqlite3-dev

Se occorre anche il modulo per php5, aggiungere dal Gestore pacchetti anche “php5-sqlite”.

Oppure da shell:

# sudo apt-get install php5-sqlite

Ricordarsi di riavviare Apache2:

# sudo /etc/init.d/apache2 restart

Per creare un database:

$ sqlite3 test.db
SQLite version 3.6.16
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .quit
$