CloneZilla – Clonare un hard disk su un disco più piccolo

Clonezilla l’efficace tools free e open source per  la clonazione di dischi e partizioni non consente in modalità standard la clonazione verso un disco fisso più piccolo anche quando  la quantità di dati da trasferire non eccede la capacità del disco di destinazione.
Tuttavia se  si utilizza la modalità expert è possibile effettuare la copia del hard disk più grande verso un hard disk più piccolo. L’accorgimento che si deve avere è sfruttare le opzioni -icds e l’opzione –k2 sopratutto che consente di copiare la tabella partizioni manualmente prima dell’avvio definitivo della clonazione.

Di seguito le schermate principali e il listato da terminale generato da clonezilla nella clonazione di un disco seagate SATA 2.5 da 500GB verso un disco hitachi IDE 2.5 da 80GB collegato con adattatore su porta usb 2.0.

Il disco seagate da clonare ha la seguente organizzazione 7 partizioni e circa 55GB di dati nella prima porzioni del disco.

avviare clonezilla da terminale come superuser e avremo a disposizione li menu interativo

# sudo su 
# clonezilla 

Selezionare copia da disco/partizione a disco/partizione senza il passare per un immagine.

Selezionare la modalità Expert

clonezilla-st500nvmego-80_003exp-1.jpg

Selezionare disk to local disk

clonezilla-st500nvmego-80_004dtod.jpg

Selezionare il disco sorgente/ source disk  in questo caso il segate da 500 GB

clonezilla-st500nvmego-80_004dtod_1.jpg

Adesso selezioanre il disco destinazione

clonezilla-st500nvmego-80_004dtod_2-1.jpg

Nella schermata con  i parametri extra di clonezilla selezionare anche il parametro -icds

clonezilla-st500nvmego-80_004dtodexp_1.jpg

Optiamo per il check e l’eventuale repair del source

clonezilla-st500nvmego-80_004dtodexp_2noskip.jpg

La scelta che segue è la più importante -k2 ( Enter command line prompt to create partition manually later ).

Clonezilla-St500nvmeGO-80_004dtodexp_k2

A questo punto appare un messaggio ci informa che la clonazione è in pausa e ci viene permesso di creare la tabella delle partizioni nel disco di destinazione manualmente. Possiamo riavvare successivamente la procedura di clonazione digitando exit da terminale.

...
...
*****************************************************.
Now enter another shell to allow you to create partition table on 
the destination disk. You may use fdisk, cfdisk, sfdisk or parted 
to do that. When everything is done, run "exit" to go back to the original program.
Press "Enter" to continue......

Clonare la partizione del disco sorgente nel disco di destinazione con sgdisk

e riavviare la clonazione digitando exit

# sgdisk -R /dev/sdc /dev/sda
Caution! Secondary header was placed beyond the disk's limits! Moving the
header, but other problems may occur!
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot or after you
run partprobe(8) or kpartx(8)
The operation has completed successfully.

# exit
exit
Informing the OS of partition table changes.... done!
The disk and partitions in this system now:
*****************************************************.
Model: Hitachi HTS541680J9AT00 (scsi)
Disk /dev/sdc: 80.0GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  1039MB  1038MB                     bios_grub
 2      1039MB  2622MB  1583MB
 3      2622MB  36.7GB  34.1GB
...

A questo punto si avvia la clonazione vera e propria di tutte le partizioni. la schermata che accompagna la clonazione della partizione sda3

clonezilla-st500nvmego-80_004dtodexp_partclone_4.jpg

Clonezilla è un tools ben fatto per avere tutti ipacchetti a disposizione per i vari tipi di partizione potrebbe essere conventiente usare una live dedicata.
Comunque con un po’ di attenzione e seguendo i messaggi da terminale è possibile individuare tutti i pacchetti che dovessero rendersi necessari compresi quelli per le partizioni macintosh (+hfs).

Il risultato finale partizionamento Hitachi 80GB su porta USB.

ST500-25-xGOnvme-80cloned

Di seguito il listato generato da clonezilla a livello di terminale nella clonazione in modalità expert con l’opzioni -icds e  -k2  da disco grande a disco più piccolo

root@mx-nvme:/home/ms# clonezilla
Clonezilla mode is device-device
Setting the TERM as xterm-256color
Starting /usr/sbin/ocs-onthefly at 2019-06-25 14:05:21 CEST...
Excluding busy partition or disk...
Disk number: 3
Excluding busy partition or disk...
Disk number: 2
PS. Next time you can run this command directly:
/usr/sbin/ocs-onthefly -g auto -e1 auto -e2 -j2 -r -icds -fsck-src-part -k2  -f sda -t sdc
This command is also saved as this file name for later use if necessary: /tmp/ocs-onthefly-2019-06-25-14-11
****************************************************.
Press "Enter" to continue...
*****************************************************.
///WARNING/// filesystem.squashfs not found! No idea where is LIVE MEDIA!!! Assume this is running in DRBL client.
*****************************************************.
setterm: terminal xterm-256color does not support --blank
*****************************************************.
Searching for data partition(s)...
Excluding busy partition or disk...
Unmounted partitions (including extended or swap): sdc1 sdc2
Collecting info... done!
Getting /dev/sdc1 info...
Getting /dev/sdc2 info...
WARNING!!! WARNING!!! WARNING!!!
WARNING! THE EXISTING DATA IN THIS HARDDISK/PARTITION(S) WILL BE OVERWRITTEN! ALL EXISTING DATA WILL BE LOST: sdc
*****************************************************.
Machine: Unknown product name
sdc (80.0GB_HTS541680J9AT00__Hitachi_HTS541680J9AT00-0:0)
sdc1 (59.3G_exfat(In_HTS541680J9AT00_)_Hitachi_HTS541680J9AT00-0:0)
sdc2 (15.2G_ext4(In_HTS541680J9AT00_)_Hitachi_HTS541680J9AT00-0:0)
*****************************************************.
*****************************************************.
Are you sure you want to continue? (y/n) y
OK, let's do it!!
*****************************************************.
Let me ask you again.
WARNING!!! WARNING!!! WARNING!!!
WARNING! THE EXISTING DATA IN THIS HARDDISK/PARTITION(S) WILL BE OVERWRITTEN! ALL EXISTING DATA WILL BE LOST: sdc
Are you sure you want to continue? (y/n)
re you sure you want to continue? (y/n) y
OK, let's do it!!
*****************************************************.
Saving the GPT of /dev/sda as /tmp/ocs_onthefly_local.Ri34n8/src-gpt.gdisk by sgdisk...
The operation has completed successfully.
Saving the primary GPT of /dev/sda as /tmp/ocs_onthefly_local.Ri34n8/src-gpt-1st.img by dd...
34+0 records in
34+0 records out
17408 bytes (17 kB, 17 KiB) copied, 0.000222642 s, 78.2 MB/s
Saving the secondary GPT of /dev/sda as /tmp/ocs_onthefly_local.Ri34n8/src-gpt-2nd.img by dd...
32+0 records in
32+0 records out
16384 bytes (16 kB, 16 KiB) copied, 0.000175774 s, 93.2 MB/s
*****************************************************.
Collecting partition /dev/sda1 info...
Collecting partition /dev/sda2 info...
Collecting partition /dev/sda3 info...
Collecting partition /dev/sda4 info...
Collecting partition /dev/sda5 info...
Collecting partition /dev/sda6 info...
Collecting partition /dev/sda7 info...
Non-grub boot loader found on /tmp/ocs_onthefly_local.Ri34n8/sdc-mbr...
The CHS value of hard drive from EDD will be used for sfdisk.
Sfdisk >= 2.26 does not support C/H/S option. Skip using C/H/S option.
*****************************************************.
Searching for data partition(s) in source disk: sda ...
Excluding busy partition or disk...
Unmounted partitions (including extended or swap): sda1 sda2 sda3 sda4 sda5 sda6 sda7
Collecting info........ done!
*****************************************************.
Running file system check and repair for /dev/sda1...
Running: fsck -f  /dev/sda1
fsck from util-linux 2.29.2
fsck.fat 4.1 (2017-01-24)
/dev/sda1: 3 files, 34/252940 clusters
Running file system check and repair for /dev/sda2...
Running: fsck -f  /dev/sda2
fsck from util-linux 2.29.2
e2fsck 1.43.4 (31-Jan-2017)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sda2: 11/96000 files (0.0% non-contiguous), 15356/386560 blocks
Running file system check and repair for /dev/sda3...
Running: fsck -f  /dev/sda3
fsck from util-linux 2.29.2
e2fsck 1.43.4 (31-Jan-2017)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
rootMX18.1: 265235/2088960 files (0.0% non-contiguous), 1641803/8326912 blocks
Running file system check and repair for /dev/sda4...
Running: fsck -f  /dev/sda4
fsck from util-linux 2.29.2
e2fsck 1.43.4 (31-Jan-2017)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
boot: 779/106496 files (0.5% non-contiguous), 164652/407040 blocks
Running file system check and repair for /dev/sda5...
Running: fsck -f  /dev/sda5
fsck from util-linux 2.29.2
e2fsck 1.43.4 (31-Jan-2017)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sda5: 341/169680 files (1.5% non-contiguous), 49544/657664 blocks
Running file system check and repair for /dev/sda6...
Running: fsck -f  /dev/sda6
fsck from util-linux 2.29.2
e2fsck 1.43.4 (31-Jan-2017)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sda6: 314/171024 files (1.6% non-contiguous), 73266/685312 blocks
Running file system check and repair for /dev/sda7...
Running: fsck -f  /dev/sda7
fsck from util-linux 2.29.2
e2fsck 1.43.4 (31-Jan-2017)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sda7: 11/640848 files (0.0% non-contiguous), 65844/2560000 blocks
*****************************************************.
Will create the partition on the target machine...
Trying to clean the MBR and GPT partition table on the destination disk first: /dev/sdc
Informing the OS of partition table changes... done!
*****************************************************.
Now enter another shell to allow you to create partition table
on the destination disk. You may use fdisk, cfdisk, sfdisk or parted
to do that. When everything is done, run "exit" to go back to the original program.
Press "Enter" to continue......

# sgdisk -R /dev/sdc /dev/sda
Caution! Secondary header was placed beyond the disk's limits! Moving the
header, but other problems may occur!
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot or after you
run partprobe(8) or kpartx(8)
The operation has completed successfully.

# exit
exit
Informing the OS of partition table changes.... done!
The disk and partitions in this system now:
*****************************************************.
Model: Hitachi HTS541680J9AT00 (scsi)
Disk /dev/sdc: 80.0GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 1039MB 1038MB bios_grub
2 1039MB 2622MB 1583MB
3 2622MB 36.7GB 34.1GB
4 36.7GB 38.4GB 1667MB
5 38.4GB 41.1GB 2694MB
6 45.7GB 48.5GB 2807MB
7 48.5GB 59.0GB 10.5GB

*****************************************************.
done!
*****************************************************.
*****************************************************.
Searching for data partition(s) in source disk: sda ...
Excluding busy partition or disk...
Unmounted partitions (including extended or swap): sda1 sda2 sda3 sda4 sda5 sda6 sda7
Collecting info........ done!
*****************************************************.
Source partition file system is vfat...
Cloning the /dev/sda1 to /dev/sdc1...
Clean filesystem header in device /dev/sdc1...
*****************************************************.
Using partclone to clone...
Run partclone: partclone.vfat -z 10485760 -N -L /var/log/partclone.log -b -s /dev/sda1 -O /dev/sdc1
Cloned successfully.
*****************************************************.
Source partition file system is ext4...
Cloning the /dev/sda2 to /dev/sdc2...
Clean filesystem header in device /dev/sdc2...
*****************************************************.
Using partclone to clone...
Run partclone: partclone.ext4 -z 10485760 -N -L /var/log/partclone.log -b -s /dev/sda2 -O /dev/sdc2
Cloned successfully.
*****************************************************.
Source partition file system is ext4...
Cloning the /dev/sda3 to /dev/sdc3...
Clean filesystem header in device /dev/sdc3...
*****************************************************.
Using partclone to clone...
Run partclone: partclone.ext4 -z 10485760 -N -L /var/log/partclone.log -b -s /dev/sda3 -O /dev/sdc3
Cloned successfully.
*****************************************************.
Source partition file system is ext4...
Cloning the /dev/sda4 to /dev/sdc4...
Clean filesystem header in device /dev/sdc4...
*****************************************************.
Using partclone to clone...
Run partclone: partclone.ext4 -z 10485760 -N -L /var/log/partclone.log -b -s /dev/sda4 -O /dev/sdc4
Cloned successfully.
*****************************************************.
Source partition file system is ext4...
Cloning the /dev/sda5 to /dev/sdc5...
Clean filesystem header in device /dev/sdc5...
*****************************************************.
Using partclone to clone...
Run partclone: partclone.ext4 -z 10485760 -N -L /var/log/partclone.log -b -s /dev/sda5 -O /dev/sdc5
Cloned successfully.
*****************************************************.
Source partition file system is ext4...
Cloning the /dev/sda6 to /dev/sdc6...
Clean filesystem header in device /dev/sdc6...
*****************************************************.
Using partclone to clone...
Run partclone: partclone.ext4 -z 10485760 -N -L /var/log/partclone.log -b -s /dev/sda6 -O /dev/sdc6
Cloned successfully.
*****************************************************
Source partition file system is ext4...
Cloning the /dev/sda7 to /dev/sdc7...
Clean filesystem header in device /dev/sdc7...
*****************************************************.
Using partclone to clone...
Run partclone: partclone.ext4 -z 10485760 -N -L /var/log/partclone.log -b -s /dev/sda7 -O /dev/sdc7
Cloned successfully.
*****************************************************.
*****************************************************.
Searching for data partition(s) in target disk for post process: sdc...
Excluding busy partition or disk...
Unmounted partitions (including extended or swap): sdc1 sdc2 sdc3 sdc4 sdc5 sdc6 sdc7
Collecting info........ done!
*****************************************************.
Now tuning the file system size on partition /dev/sdc1 to fit the partition size...
Program fatresize not found! Skip this partition /dev/sdc1
*****************************************************.
Now tuning the file system size on partition /dev/sdc2 to fit the partition size...
e2fsck -f -y /dev/sdc2; resize2fs -p -f /dev/sdc2
e2fsck 1.43.4 (31-Jan-2017)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdc2: 11/96000 files (0.0% non-contiguous), 15356/386560 blocks
resize2fs 1.43.4 (31-Jan-2017)
The filesystem is already 386560 (4k) blocks long. Nothing to do!

*****************************************************.
Now tuning the file system size on partition /dev/sdc3 to fit the partition size...
e2fsck -f -y /dev/sdc3; resize2fs -p -f /dev/sdc3
e2fsck 1.43.4 (31-Jan-2017)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
rootMX18.1: 265235/2088960 files (0.0% non-contiguous), 1641803/8326912 blocks
resize2fs 1.43.4 (31-Jan-2017)
The filesystem is already 8326912 (4k) blocks long. Nothing to do!

*****************************************************.
Now tuning the file system size on partition /dev/sdc4 to fit the partition size...
e2fsck -f -y /dev/sdc4; resize2fs -p -f /dev/sdc4
e2fsck 1.43.4 (31-Jan-2017)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
boot: 779/106496 files (0.5% non-contiguous), 164652/407040 blocks
resize2fs 1.43.4 (31-Jan-2017)
The filesystem is already 407040 (4k) blocks long. Nothing to do!

*****************************************************.
Now tuning the file system size on partition /dev/sdc5 to fit the partition size...
e2fsck -f -y /dev/sdc5; resize2fs -p -f /dev/sdc5
e2fsck 1.43.4 (31-Jan-2017)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdc5: 341/169680 files (1.5% non-contiguous), 49544/657664 blocks
resize2fs 1.43.4 (31-Jan-2017)
The filesystem is already 657664 (4k) blocks long. Nothing to do!

*****************************************************.
Now tuning the file system size on partition /dev/sdc6 to fit the partition size...
e2fsck -f -y /dev/sdc6; resize2fs -p -f /dev/sdc6
e2fsck 1.43.4 (31-Jan-2017)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdc6: 314/171024 files (1.6% non-contiguous), 73266/685312 blocks
resize2fs 1.43.4 (31-Jan-2017)
The filesystem is already 685312 (4k) blocks long. Nothing to do!

*****************************************************.
Now tuning the file system size on partition /dev/sdc7 to fit the partition size...
e2fsck -f -y /dev/sdc7; resize2fs -p -f /dev/sdc7
e2fsck 1.43.4 (31-Jan-2017)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdc7: 11/640848 files (0.0% non-contiguous), 65844/2560000 blocks
resize2fs 1.43.4 (31-Jan-2017)
The filesystem is already 2560000 (4k) blocks long. Nothing to do!

*****************************************************.
Creating the swap partition if exists...
*****************************************************.
Trying to remove udev hardware record in the restored OS...
The specified destination device: sdc1 sdc2 sdc3 sdc4 sdc5 sdc6 sdc7
Trying to remove udev persistent files. The devices to be searched: sdc1 sdc2 sdc3 sdc4 sdc5 sdc6 sdc7...
Skip /dev/sdc1 (vfat).
Now searching possible device /dev/sdc2...
Now searching possible device /dev/sdc3...
Now searching possible device /dev/sdc4...
Now searching possible device /dev/sdc5...
Now searching possible device /dev/sdc6...
Now searching possible device /dev/sdc7...
done!
*****************************************************.
Device /dev/sdc2 is not a FAT partition.
Skip updating syslinux on that.
Device /dev/sdc3 is not a FAT partition.
Skip updating syslinux on that.
Device /dev/sdc4 is not a FAT partition.
Skip updating syslinux on that.
Device /dev/sdc5 is not a FAT partition.
Skip updating syslinux on that.
Device /dev/sdc6 is not a FAT partition.
Skip updating syslinux on that.
Device /dev/sdc7 is not a FAT partition.
Skip updating syslinux on that.
*****************************************************.
Run grub install on disk sdc...
Found grub partition: /dev/sdc3
Found grub 2 installed in the restored OS.
Test if we can chroot the restored OS partition /dev/sdc3...
Yes, we are able to chroot the restored OS partition /dev/sdc3.
Trying to use the grub2 in the restored OS...
Running: run_grub2_from_restored_os "/dev/sdc3" "/dev/sdc3" "/dev/sdc"
Re-installing grub2 on disk/partition /dev/sdc with grub2 dir in partition /dev/sdc3 and root partition /dev/sdc3...
Installing for x86_64-efi platform.
grub-install: error: cannot find EFI directory.
Unable to use the grub 2 in the restored OS, trying another method...
Trying to use the grub2 from the running OS...
Checking grub-install version...
Running: grub-install --force --recheck --root-directory=/tmp/hd_img.MOkrC9 /dev/sdc
Installing for x86_64-efi platform.
grub-install: error: /tmp/hd_img.MOkrC9 doesn't look like an EFI partition.
Failed to install grub!!!
*****************************************************.
Try to run partclone.ntfsfixboot for NTFS boot partition if it exists. Scanning partition(s): sdc1 sdc2 sdc3 sdc4 sdc5 sdc6 sdc7...
The NTFS boot partition was not found or not among the restored partition(s). Skip running partclone.ntfsfixboot.
*****************************************************.
Checking if udevd rules have to be restored...
Now syncing - flush filesystem buffers...

Ending /usr/sbin/ocs-onthefly at 2019-06-25 14:31:55 CEST...
Press "Enter" to continue......

Risorse:

Annunci

rkhunter – cacciatore di rootkits e software malevole – debian 9.xx ( stretch )

rkhunter è uno script che analizza il filesytem alla ricerca di applicazioni malevole: rootkits, backdoors (cavalli di troia)  e altri rischi per la sicurezza. Un rootkits consente all’attaccante di avere  un accesso di tipo privilegiato al computer/server. rkhunter permette di capire se il computer/server è stato compromesso.  E’ buona norma ultilizzare anche  altri software di controllo ad esempio: chkrootkit .

Tra i controlli effettuati :

  • compazione delle impronte dei files importanti con quelle contenute in database online,
  • ricerca di directory e files dei rootkits conosciuti,
  • ricerca di  errori nei permessi nei file binari,
  • ricerca di  file e cartelle nascoste,
  • ricerca di stringhe sospette nei moduli kernel,
  • controllo dei file di configurazione di SSHD

rkhunter si installa al solito con

sudo apt install rkhunter

Per evitare warning inutili è opportuno modificare il file di configurazione /etc/rkhunter.conf.local  indicando il package manager

In debian 9.xx cambiare il valore di default NONE in DPKG

...
#PKGMGR=NONE
...

in

PKGMGR=DPKG

aggiornare anche il file database delle proprietà con i comandi

sudo rkhunter --propupd

e

sudo rkhunter --update

Lo scanner si avvia manualmente con

sudo rkhunter -c

Per informazioni più dettagliate sul controllo effettuato è possible consultare  il file .log in /var/log/rkhunter.log

Per quanto attiene ai warning va considerato che rkhunter

 

esempio di listato generato da rkhunter

maurizio# rkhunter -c
[ Rootkit Hunter version 1.4.2 ]

Checking system commands...

  Performing 'strings' command checks
    Checking 'strings' command                               [ OK ]

  Performing 'shared libraries' checks
    Checking for preloading variables                        [ None found ]
    Checking for preloaded libraries                         [ None found ]
    Checking LD_LIBRARY_PATH variable                        [ Not found ]

  Performing file properties checks
    Checking for prerequisites                               [ OK ]
    /usr/sbin/adduser                                        [ OK ]
    /usr/sbin/chroot                                         [ OK ]
    /usr/sbin/cron                                           [ OK ]
    /usr/sbin/groupadd                                       [ OK ]
    /usr/sbin/groupdel                                       [ OK ]
    /usr/sbin/groupmod                                       [ OK ]
    /usr/sbin/grpck                                          [ OK ]
    /usr/sbin/nologin                                        [ OK ]
    /usr/sbin/pwck                                           [ OK ]
    /usr/sbin/rsyslogd                                       [ OK ]
    /usr/sbin/sshd                                           [ OK ]
    /usr/sbin/tcpd                                           [ OK ]
    /usr/sbin/useradd                                        [ OK ]
    /usr/sbin/userdel                                        [ OK ]
    /usr/sbin/usermod                                        [ OK ]
    /usr/sbin/vipw                                           [ OK ]
    /usr/sbin/unhide                                         [ OK ]
    /usr/sbin/unhide-linux                                   [ OK ]
    /usr/sbin/unhide-posix                                   [ OK ]
    /usr/sbin/unhide-tcp                                     [ OK ]
    /usr/bin/awk                                             [ OK ]
    /usr/bin/basename                                        [ OK ]
    /usr/bin/chattr                                          [ OK ]
    /usr/bin/curl                                            [ OK ]
    /usr/bin/cut                                             [ OK ]
    /usr/bin/diff                                            [ OK ]
    /usr/bin/dirname                                         [ OK ]
    /usr/bin/dpkg                                            [ OK ]
    /usr/bin/dpkg-query                                      [ OK ]
    /usr/bin/du                                              [ OK ]
    /usr/bin/env                                             [ OK ]
    /usr/bin/file                                            [ OK ]
    /usr/bin/find                                            [ OK ]
    /usr/bin/GET                                             [ OK ]
    /usr/bin/groups                                          [ OK ]
    /usr/bin/head                                            [ OK ]
    /usr/bin/id                                              [ OK ]
    /usr/bin/killall                                         [ OK ]
    /usr/bin/last                                            [ OK ]
    /usr/bin/lastlog                                         [ OK ]
    /usr/bin/ldd                                             [ OK ]
    /usr/bin/less                                            [ OK ]
    /usr/bin/logger                                          [ OK ]
    /usr/bin/lsattr                                          [ OK ]
    /usr/bin/lsof                                            [ OK ]
    /usr/bin/mail                                            [ OK ]
    /usr/bin/md5sum                                          [ OK ]
    /usr/bin/newgrp                                          [ OK ]
    /usr/bin/passwd                                          [ OK ]
    /usr/bin/perl                                            [ OK ]
    /usr/bin/pgrep                                           [ OK ]
    /usr/bin/pkill                                           [ OK ]
    /usr/bin/pstree                                          [ OK ]
    /usr/bin/rkhunter                                        [ OK ]
    /usr/bin/runcon                                          [ OK ]
    /usr/bin/sha1sum                                         [ OK ]
    /usr/bin/sha224sum                                       [ OK ]
    /usr/bin/sha256sum                                       [ OK ]
    /usr/bin/sha384sum                                       [ OK ]
    /usr/bin/sha512sum                                       [ OK ]
    /usr/bin/size                                            [ OK ]
    /usr/bin/sort                                            [ OK ]
    /usr/bin/ssh                                             [ OK ]
    /usr/bin/stat                                            [ OK ]
    /usr/bin/strings                                         [ OK ]
    /usr/bin/sudo                                            [ OK ]
    /usr/bin/tail                                            [ OK ]
    /usr/bin/test                                            [ OK ]
    /usr/bin/top                                             [ OK ]
    /usr/bin/touch                                           [ OK ]
    /usr/bin/tr                                              [ OK ]
    /usr/bin/uniq                                            [ OK ]
    /usr/bin/users                                           [ OK ]
    /usr/bin/vmstat                                          [ OK ]
    /usr/bin/w                                               [ OK ]
    /usr/bin/watch                                           [ OK ]
    /usr/bin/wc                                              [ OK ]
    /usr/bin/wget                                            [ OK ]
    /usr/bin/whatis                                          [ OK ]
    /usr/bin/whereis                                         [ OK ]
    /usr/bin/which                                           [ OK ]
    /usr/bin/who                                             [ OK ]
    /usr/bin/whoami                                          [ OK ]
    /usr/bin/mawk                                            [ OK ]
    /usr/bin/lwp-request                                     [ OK ]
    /usr/bin/mail.mailutils                                  [ OK ]
    /usr/bin/x86_64-linux-gnu-size                           [ OK ]
    /usr/bin/x86_64-linux-gnu-strings                        [ OK ]
    /usr/bin/w.procps                                        [ OK ]
    /sbin/depmod                                             [ OK ]
    /sbin/fsck                                               [ OK ]
    /sbin/ifconfig                                           [ OK ]
    /sbin/ifdown                                             [ OK ]
    /sbin/ifup                                               [ OK ]
    /sbin/init                                               [ OK ]
    /sbin/insmod                                             [ OK ]
    /sbin/ip                                                 [ OK ]
    /sbin/lsmod                                              [ OK ]
    /sbin/modinfo                                            [ OK ]
    /sbin/modprobe                                           [ OK ]
    /sbin/rmmod                                              [ OK ]
    /sbin/route                                              [ OK ]
    /sbin/runlevel                                           [ OK ]
    /sbin/sulogin                                            [ OK ]
    /sbin/sysctl                                             [ OK ]
    /bin/bash                                                [ OK ]
    /bin/cat                                                 [ OK ]
    /bin/chmod                                               [ OK ]
    /bin/chown                                               [ OK ]
    /bin/cp                                                  [ OK ]
    /bin/date                                                [ OK ]
    /bin/df                                                  [ OK ]
    /bin/dmesg                                               [ OK ]
    /bin/echo                                                [ OK ]
    /bin/egrep                                               [ OK ]
    /bin/fgrep                                               [ OK ]
    /bin/fuser                                               [ OK ]
    /bin/grep                                                [ OK ]
    /bin/ip                                                  [ OK ]
    /bin/kill                                                [ OK ]
    /bin/less                                                [ OK ]
    /bin/login                                               [ OK ]
    /bin/ls                                                  [ OK ]
    /bin/lsmod                                               [ OK ]
    /bin/mktemp                                              [ OK ]
    /bin/more                                                [ OK ]
    /bin/mount                                               [ OK ]
    /bin/mv                                                  [ OK ]
    /bin/netstat                                             [ OK ]
    /bin/ping                                                [ OK ]
    /bin/ps                                                  [ OK ]
    /bin/pwd                                                 [ OK ]
    /bin/readlink                                            [ OK ]
    /bin/sed                                                 [ OK ]
    /bin/sh                                                  [ OK ]
    /bin/su                                                  [ OK ]
    /bin/touch                                               [ OK ]
    /bin/uname                                               [ OK ]
    /bin/which                                               [ OK ]
    /bin/kmod                                                [ OK ]
    /bin/systemd                                             [ OK ]
    /bin/systemctl                                           [ OK ]
    /bin/dash                                                [ OK ]
    /lib/systemd/systemd                                     [ OK ]

[Press  to continue]


Checking for rootkits...

  Performing check of known rootkit files and directories
    55808 Trojan - Variant A                                 [ Not found ]
    ADM Worm                                                 [ Not found ]
    AjaKit Rootkit                                           [ Not found ]
    Adore Rootkit                                            [ Not found ]
    aPa Kit                                                  [ Not found ]
    Apache Worm                                              [ Not found ]
    Ambient (ark) Rootkit                                    [ Not found ]
    Balaur Rootkit                                           [ Not found ]
    BeastKit Rootkit                                         [ Not found ]
    beX2 Rootkit                                             [ Not found ]
    BOBKit Rootkit                                           [ Not found ]
    cb Rootkit                                               [ Not found ]
    CiNIK Worm (Slapper.B variant)                           [ Not found ]
    Danny-Boy's Abuse Kit                                    [ Not found ]
    Devil RootKit                                            [ Not found ]
    Dica-Kit Rootkit                                         [ Not found ]
    Dreams Rootkit                                           [ Not found ]
    Duarawkz Rootkit                                         [ Not found ]
    Enye LKM                                                 [ Not found ]
    Flea Linux Rootkit                                       [ Not found ]
    Fu Rootkit                                               [ Not found ]
    Fuck`it Rootkit                                          [ Not found ]
    GasKit Rootkit                                           [ Not found ]
    Heroin LKM                                               [ Not found ]
    HjC Kit                                                  [ Not found ]
    ignoKit Rootkit                                          [ Not found ]
    IntoXonia-NG Rootkit                                     [ Not found ]
    Irix Rootkit                                             [ Not found ]
    Jynx Rootkit                                             [ Not found ]
    KBeast Rootkit                                           [ Not found ]
    Kitko Rootkit                                            [ Not found ]
    Knark Rootkit                                            [ Not found ]
    ld-linuxv.so Rootkit                                     [ Not found ]
    Li0n Worm                                                [ Not found ]
    Lockit / LJK2 Rootkit                                    [ Not found ]
    Mood-NT Rootkit                                          [ Not found ]
    MRK Rootkit                                              [ Not found ]
    Ni0 Rootkit                                              [ Not found ]
    Ohhara Rootkit                                           [ Not found ]
    Optic Kit (Tux) Worm                                     [ Not found ]
    Oz Rootkit                                               [ Not found ]
    Phalanx Rootkit                                          [ Not found ]
    Phalanx2 Rootkit                                         [ Not found ]
    Phalanx2 Rootkit (extended tests)                        [ Not found ]
    Portacelo Rootkit                                        [ Not found ]
    R3dstorm Toolkit                                         [ Not found ]
    RH-Sharpe's Rootkit                                      [ Not found ]
    RSHA's Rootkit                                           [ Not found ]
    Scalper Worm                                             [ Not found ]
    Sebek LKM                                                [ Not found ]
    Shutdown Rootkit                                         [ Not found ]
    SHV4 Rootkit                                             [ Not found ]
    SHV5 Rootkit                                             [ Not found ]
    Sin Rootkit                                              [ Not found ]
    Slapper Worm                                             [ Not found ]
    Sneakin Rootkit                                          [ Not found ]
    'Spanish' Rootkit                                        [ Not found ]
    Suckit Rootkit                                           [ Not found ]
    Superkit Rootkit                                         [ Not found ]
    TBD (Telnet BackDoor)                                    [ Not found ]
    TeLeKiT Rootkit                                          [ Not found ]
    T0rn Rootkit                                             [ Not found ]
    trNkit Rootkit                                           [ Not found ]
    Trojanit Kit                                             [ Not found ]
    Tuxtendo Rootkit                                         [ Not found ]
    URK Rootkit                                              [ Not found ]
    Vampire Rootkit                                          [ Not found ]
    VcKit Rootkit                                            [ Not found ]
    Volc Rootkit                                             [ Not found ]
    Xzibit Rootkit                                           [ Not found ]
    zaRwT.KiT Rootkit                                        [ Not found ]
    ZK Rootkit                                               [ Not found ]

[Press  to continue]


  Performing additional rootkit checks
    Suckit Rookit additional checks                          [ OK ]
    Checking for possible rootkit files and directories      [ None found ]
    Checking for possible rootkit strings                    [ None found ]

  Performing malware checks
    Checking running processes for suspicious files          [ None found ]
    Checking for login backdoors                             [ None found ]
    Checking for suspicious directories                      [ None found ]
    Checking for sniffer log files                           [ None found ]
    Suspicious Shared Memory segments                        [ None found ]

  Performing Linux specific checks
    Checking loaded kernel modules                           [ OK ]
    Checking kernel module names                             [ OK ]

[Press  to continue]


Checking the network...

  Performing checks on the network ports
    Checking for backdoor ports                              [ None found ]
    Checking for hidden ports                                [ None found ]

  Performing checks on the network interfaces
    Checking for promiscuous interfaces                      [ None found ]

Checking the local host...

  Performing system boot checks
    Checking for local host name                             [ Found ]
    Checking for system startup files                        [ Found ]
    Checking system startup files for malware                [ None found ]

  Performing group and account checks
    Checking for passwd file                                 [ Found ]
    Checking for root equivalent (UID 0) accounts            [ None found ]
    Checking for passwordless accounts                       [ None found ]
    Checking for passwd file changes                         [ None found ]
    Checking for group file changes                          [ None found ]
    Checking root account shell history files                [ OK ]

  Performing system configuration file checks
    Checking for an SSH configuration file                   [ Found ]
    Checking if SSH root access is allowed                   [ Not allowed ]
    Checking if SSH protocol v1 is allowed                   [ Not allowed ]
    Checking for a running system logging daemon             [ Found ]
    Checking for a system logging configuration file         [ Found ]
    Checking if syslog remote logging is allowed             [ Not allowed ]

  Performing filesystem checks
    Checking /dev for suspicious file types                  [ None found ]
    Checking for hidden files and directories                [ Warning ]

[Press  to continue]

System checks summary
=====================

File properties checks...
    Files checked: 144
    Suspect files: 0

Rootkit checks...
    Rootkits checked : 378
    Possible rootkits: 0

Applications checks...
    All checks skipped

The system checks took: 6 minutes and 46 seconds

All results have been written to the log file: /var/log/rkhunter.log

One or more warnings have been found while checking the system.
Please check the log file (/var/log/rkhunter.log)

Checking for hidden files and directories [ Warning ]

dettagli relativi al warning file /var/log/rkhunter.log

Viene evidenziata la presenza della cartella nascosta  .java che non rappresenta in questo caso non rappresenta un fattore critico.

 

rkhunter lista dei tests

 rkhunter --list tests

Current test names:
    additional_rkts all apps attributes avail_modules deleted_files
    filesystem group_accounts group_changes hashes hidden_ports hidden_procs
    immutable known_rkts loaded_modules local_host malware network
    none os_specific other_malware packet_cap_apps passwd_changes ports
    possible_rkt_files possible_rkt_strings promisc properties rootkits running_procs
    scripts shared_libs shared_libs_path startup_files startup_malware strings
    suspscan system_commands system_configs trojans

Grouped test names:
    additional_rkts => possible_rkt_files possible_rkt_strings 
    group_accounts  => group_changes passwd_changes 
    local_host      => filesystem group_changes passwd_changes startup_malware system_configs 
    malware         => deleted_files hidden_procs other_malware running_procs suspscan 
    network         => hidden_ports packet_cap_apps ports promisc 
    os_specific     => avail_modules loaded_modules 
    properties      => attributes hashes immutable scripts 
    rootkits        => avail_modules deleted_files hidden_procs known_rkts loaded_modules other_malware possible_rkt_files possible_rkt_strings running_procs suspscan trojans 
    shared_libs     => shared_libs_path 
    startup_files   => startup_malware 
    system_commands => attributes hashes immutable scripts shared_libs_path strings 

 

Risorse:

Installare WINE 4.0 in debian 9.xx ( Stretch )

   E’ stato rilasciata  il 22 gennaio 2019 la versione stable di Wine 4.0.   Wine,  dall’acronimo  Wine is Not an Emulator,  è il noto programma per Linux  che consente di eseguire programmi per Windows sotto Linux appunto, MAC e altri SO.  Questa nuova versione che ha richiesto un anno di sviluppo introduce miglioramenti significativi in ambito grafico che si faranno apprezzare nei giochi. Supporto alle API  Vulcan, migliorato il supporto OpenGL, avviato supporto Direct3D 12,… Phoronix evidenzia miglioramenti nella compatibilità con il software a 64 bit.  E’ possibile riscontrare i miglioramenti di questa nuova versione al seguente indirizzo WineHQ release notes.

Se si desidera installare la nuova versione Wine 4.0 in Debian 9.xx e necessario abilitare il repository specifico di WineHQ. In dicembre ( 19-12-2018 ) è stata cambiata la chiave del repository. Quindi è necessario scaricare e installare la nuova key.

Installazione

Conviene iniziarel procedura di installazione passando a root con

su  oppure sudo su

Abilitare l’architettura a 32 bit

dpkg --add-architecture i386

Scaricare e installare la nuova repository key.

wget -nc https://dl.winehq.org/wine-builds/winehq.key
apt-key add winehq.key

Una volta installata la nuova key aggiungere il repository winehq per debian stretch alla lista dei repository.
Questo può essere conseguito creando uno specifico file di tipo  .list in /etc/apt/sources.list con

echo "### winehq  repository" > /etc/apt/sources.list.d/winehq.list
echo "deb https://dl.winehq.org/wine-builds/debian/ stretch main" >> /etc/apt/sources.list.d/winehq.list

 

Il repository può essere aggiunto anche  inserendo la riga seguente nel file principale per gli archivi dei pacchetti: /etc/apt/sources.list

deb https://dl.winehq.org/wine-builds/debian/ stretch main

Considerato che viene utilizzzato un repository https potrebbe essere necessaria l’installazione del pacchetto  apt-transport-https.

in fase di uptade il messaggio che segue richiamerà la necessità di installare apt-trasport-https :

 
Reading package lists... Done
E: The method driver /usr/lib/apt/methods/https could not be found.
N: Is the package apt-transport-https installed?
E: Failed to fetch https://dl.winehq.org/wine-builds/debian/dists/stretch/InRelease

apt install

Per poter scaricare i pacchetti del nuovo repository aggiornare al solito con

apt install apt-transport-https

Wine 4.0 è disponibile in 3 varianti. In genere è consigliabile installare la versione stable  con

apt install --install-recommends winehq-stable

Se si verificano problemi per dipendenza mancanti.
Installare i pacchetti mancanti e ripetere i due ultimi passaggi (apt update) e  (apt install –install-recommends winehq-stable)
Esempi di dipendenze mancanti

 
The following packages have unmet dependencies:
winehq-stable : Depends: wine-stable (= 3.0.4~stretch)
E: Unable to correct problems, you have held broken packages.

root@deb35b2:/home/maurizio# apt-get install wine-stable
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
wine-stable : Depends: wine-stable-i386 (= 3.0.4~stretch)
E: Unable to correct problems, you have held broken packages.
root@deb35b2:/home/maurizio# sudo apt-get install wine-stable-i386
...

Uscire da livello super user root

exit

 

Winecfg

Avviando da terminale winecfg lo strumento di configurazione di Wine l’aspettativa è che risulti selezionata la versione Windows 7

winecfg

Alcuni degli strumenti principali di Wine come wine-mono e wine-gecko verranno installati al momento dell’installazione di una applicazione.

Wine-Mono

Wine-Mono è  l’implementazione open source di NET. Framework.

 

Wine-Gecko

Wine-Gecko browser web utile per le applicazioni che accedono e visualizzano un sito internet. E’ la versione propria di wine di Internet Explorer  browser basata su una versione custmo di Mozilla’s Gecko Layout Engine.

 

 

Installare Fonts Windows in Wine

Per avere disponibili in WINE i fonts Windows è possibile copiare
ad esempio i fonts di windows 7 nella seguente cartella della home

.wine/drive_c/windows/Fonts

 

Fonts Windows 7 sono disponibili anche all’url https://www.w7df.com/7/download.html

 

Risorse:

 

Prime video su debian 9.xx

Aggiornato 5-2019

Nel visualizzare i video di Primevideo utilizzando Sistemi Operativi Linux come Debian è piuttosto frequente incorrere nell’errore:

I video presenti in primevideo  fanno uso dell Encrypted Media Extensions ( EME), una forma di Digital Right Management (DRM).
In assenza  di questa estensione si ottiene questo warning relativo ai diritti digitali che evidenzia l’assenza del modulo Widevine Content Decryption.

Questa l’estensione Widevine in Firefox una volta installata.

Può capitare che anche premendo il pulsante [Enable DRM] non si riesca ad installare l’estensione per un problema di compatibiltà legato alla versione del browser.

In genere se si dispone della versione più recente dei browser Firefox l’installazione dell’estensione Widevine avviene automaticamente e l’abilitazione DRM avviene senza problemi.  Per questo motivo potrebbe essere conveniente utilizzare la versione più recente del browsers Firefox che è disponibile nel hub snap. Snappy sistema per la gestione di pacchetti e di distribuzione del software

Inconveniente è che snappy mangia spazio disco e l’avvio delle applicazioni risulta più lento. Questo si verifica perchè uno snap  utilizza un processo che risulta isolato dagli altri processi. Se da un lato si evitano così i  conflitti di dipendenza tra le applicazioni dall’altro si potranno avere, in snaps diversi, più copie  delle stesse librerie e/o programmi e le dimensioni dei pacchetti risulteranno in media decisamente più grandi.

Tuttavia in più di qualche occasione questi svantaggi possono essere compensati anche dalla comodità di avere due versioni diverse dello stesso browser.

installato snap con

apt install snapd

firefox si installa facilmente con

snap install firefox

 

Al termine dell’istallazione si avrà a disposizione oltre alla versione Firefox ESF ad esempio 60.6 ( Debian stretch stable  )

anche la Firefox 66.0.3 ( Hub snap )

una volta loggati su primevideo al primo avvio di un video apparirà il alto la barra gialla con il pulsante per l’abilitazione DRM

Premuto il pulsante enable DRM  verrà visualizzato il messaggio di installazione in corso

Se si utilizza la procedura descritta in Add-onn avremo due plugins: OpenH264 Video Codec e Widevine Content Decription.

Il plugin risulta già impostato come Always Activate.ò premendo preferences si ottiene

Il plugin widevine, utilizzato anche da altri servizi ad esempio Netflix, come si legge nella description abilità il playback dei media crittografatia in accordo con l’Encrypted Media Extensions (EME).   Maggiori informazioni nel sito http://www.W3.org

 

Risorse:

 

Come abilitare l’autologin in XFCE – Linux

In alcune situazione particolari può risultare comodo l’autologin. L’autologin consente di evitare  che il computer all’avvio richieda la password ed eventualmente il nome dell’user e così da accedere direttamente al desktop.

E’ bene sottolineare comunque che l’autologin non è raccomandato per questioni di sicurezza.

Il login avviene attraverso il display manager quindi se si desidera evitare il box per il login conviene aggire a questo livello.

XFCE utilizza come display manager LightDM. 

Per consentire l’autologin si può modificare la configurazione del display manager.   Il file da modificare con la configurazione è localizzato in ( Debian-Ubuntu ) 

/usr/share/lightdm/lightdm.conf.d/01_debian.conf

E dovrebbe contenere le seguenti righe

# Debian specific defaults
#
# - use lightdm-greeter session greeter, points to the etc-alternatives managed
# greeter
# - hide users list by default, we don't want to expose them
# - use Debian specific session wrapper, to gain support for
# /etc/X11/Xsession.d scripts

[Seat:*]
greeter-session=lightdm-greeter
greeter-hide-users=true
session-wrapper=/etc/X11/Xsession

Per consentire l’avvio senza il box di autenticazione inserire le seguenti righe

[SeatDefaults]
autologin-user=<nome user>
autologin-user-timeout=0

Sostituendo <nome-user> con il nome utente appropriato.

Da questo momento è attivo l’autologin per  ripristinare la situazione precedente sarà sufficiente commentare le 3 righe inserire.

Modificare la configurazione lightdm in etc

Un’ alternativa consiste nell’agire direttamente sul file di configurazione principale di lightdm che si trova in /etc/lightdm/lightdm.conf

vi /etc/lightdm/lightdm.conf  
o
nano /etc/lightdm/lightdm.conf

ricercare

nella sezione [Seat:*]

#autologin-user=
#autologin-user-timeout=0 

decommentare le due righe e inserire il nome user per l’autologin

[Seat:*]
...
...
#autologin-guest=false
autologin-user=<nome user>
autologin-user-timeout=0
#autologin-in-background=false
#autologin-session=
#exit-on-failure=false

Risorse:

Installare manualmente GRUB EFI – Reinstallare GRUBEFI – Debian Ubuntu Linux

Per installare manualmente GRUB in modalità UEFI è necessario disporre di un disco partizionato in modalità GPT con presente una partizione di boot per EFI. La partizione di boot per EFI e di tipo EF02 è formattata FAT32 ed è tipicamente di 500MB. Se la EFI boot partition manca bisogna crearla. La posizione non è  rilevante.

gdisk è un comodo applicativo che consente di   convertire un disco da MBR a GPT in Linux  senza perdita di dati. gdisk   consente anche la creazione e la gestione delle partizioni. Si installa da terminale al solito con

apt install gdisk

si avvia con gdisk < disco >

# su 
# gdisk  /dev/sda
...
Found valid GPT with protective MBR; using GPT.

gdisk ci informa che il disco ha una partition table in formato GPT

Command (? for help): p
...
   1         4194304        48744447   21.2 GiB    8300  Linux filesystem
   2        48744448       156442623   51.4 GiB    8300  Linux filesystem
   3       156444672       234569727   37.3 GiB    8300  Linux filesystem
   4            2048         1026047   500.0 MiB   EF02  
   5       234571776       445695999   100.7 GiB   8300  Linux filesystem
   6       466065408       488396799   10.6 GiB    8200  Linux swap

la partizione EFI è presente e si trova in 4 posizione.

Se la partizione non esiste va creata con gdisk  bastano 500MB di tipo gdisk  EF02. EF02 e dovrà essere formattata FAT32.
Esempio di comandi in gdisk per creare una nuova partiizone EFI Boot .

 
#
#

Per poter installare manualmente o reinstallare GRUB EFI è necessario che il sistema operativo in cui ci troviamo sia in EFI boot Mode diversamente è necessario avviare in modalità UEFI.  Per verificare  che sia attiva la modalità EFI si può da terminale scrivere

[ -d /sys/firmware/efi ] && echo "EFI boot on HDD" || echo "Legacy boot on HDD"

se la modalità EFI è attiva avremo

# [ -d /sys/firmware/efi ] && echo "EFI boot on HDD" || echo "Legacy boot on HDD"
EFI boot on HDD

Quindi possiamo procedere e Montare la partizione EFI boot (nel esempio la  4 sda)   in  /boot/efi.

Se la directory /boot/efi non esiste va creata


# mount /dev/sda4 /boot/efi

Reinstall grub In debian

Installazione dei pacchetti grub-efi in debian

Se manca il pacchetto grub-efi-amd64 si otterrà

# apt install --reinstall grub-efi 
...
...
The following packages have unmet dependencies:
grub-efi : Depends: grub-efi-amd64 (= 2.02~beta3-5+deb9u1)

Installare il pacchetto in questione

Ricapitolando:

  • il sistema è in uEFI boot Mode
  • è stata accertata/creata la partizione  EFI boot partition ed è stata montata in /boot/efi
  • i pacchetti di grub-efi sono presenti.

A questo punto è possibile installare GRUB in /dev/sda

grub-install /dev/sda
# grub-install /dev/sda
Installing for x86_64-efi platform.
Installation finished. No error reported.

Controllo/creazione menu entry EFI

Verificare che il bootloader EFI   grubx64.efi   sia stato creato nella EFI boot partition montata in /boot/efi .

# file /boot/efi/EFI/debian/grubx64.efi

/boot/efi/EFI/debian/grubx64.efi: PE32+ executable (EFI application) x86-64 (stripped to external PDB), for MS Windows

Il percorso completo sarà del tipo /EFI/nome-variabile-efi/grubx64.efi.

In assenza di una variabile di boot EFI utilizza il percorso previsto per i dispositivi rimovibili  ->   EFI/boot/bootx64.efi

Basta osservare la directory /boot/efi/EFI per controllare la variabile menu entry EFI.

Il bootmanager EFI del sistema dovrà anche visualizzare l’opzione per l’avvio del SO debian.
Il bootmanager EFI può essere interrogato e modificato con  l’applicativo da terminale efibootmanager: efibootmgr – l’applicazione per interagire e modificare l’ EFI Boot Manager – Linux.
Per controllare che l’nvram entry per il boot EFI sia stato correttamente creato  ( i menu del bootmanager EFI sono conservati n nvram ) possiamo digitare. .

# efibootmgr --verbose | grep debian

Boot0000* debian HD(4,GPT,d334c9a4-5ca3-46b5-a9eb-16d7ff06dbd6,0x991b800,0xfa000)/File(\EFI\debian\grubx64.efi)

Se manca può essere creato con:

efibootmgr -c -d /dev/sda -p 1 -L "debian" -l "\EFI\grub\grubx64.efi"
Failsafe efi boot

efibootmgr -c -d /dev/sda -p 1 -L "UEFI man-sda1" -l "\EFI\BOOT\bootx64.efi"

Ovviamente  se siamo in una distribuzione diversa.(  ubuntu)   il menu entry EFi sarà ubuntu e non debian e la posizone

grub-install con tutti i parametri 

E’ possibile anche installare grub con un solo comando. Purtroppo con i molti  parametri è facile compiere errori e l’installazione potrebbe non portare i risultati attesi.

grub-install --boot-directory=/media/sda3/boot --bootloader-id=debian --target=x86_64-efi /
--efi-directory=/media/pEFI --recheck /dev/sda

Installing for x86_64-efi platform.
Installation finished. No error reported.


Failsafe efi boot

efibootmgr -c -d /dev/sda -p 1 -L "UEFI man-sda1" -l "\EFI\BOOT\bootx64.efi"

Risorse:

Ftp server installare e configurare svftpd in Debian stretch 9.xx

Un server ftp efficace e veloce con poche richieste in termini di risorse e sufficentemente sicuro e vsftpd ( Very Secure FTP ). L’installazione  e la configurazione del server ftp da terminale è in genere agevole. Di seguito i comandi di base per installare e configurare vsftpd in Debian Stretch 8.xx .

Installare vsftpd con

su
apt-get install vsftpd

Come conseguenza il server ftp viene avviato automaticamente. E’ possibile controllare che è avviato e in ascolto sulla classica porta 21 con:

netstat -npl | grep ":21"
tcp6      0    0 :::21         :::*         LISTEN           14541/vsftpd 

Viene creato un nuovo user ftp e il gruppo ftp.

Il file di configurazione è

/etc/vsftpd.conf

Accesso anonimo

L’accesso anomino al server ftp in Debian 9.xx è disabilitato (in altre versioni è consentito di default). Per consentire l’accesso anonimo editare vsftpd.conf

vi /etc/vsftpd.conf

e cambiare anonymus_enabled=NO in  :

anonymous_enabled=YES

La directory di default è:

/svr/ftp

L’upload da parte dello user anonimo non è consentito. Per abilitare la scrittura sul server  togliere il commento a

write_enables=YES

e

anon_upload_enable=YES

per creare directories

anon_mkdir_write_enable=YES

Quindi riavviare il servizio vsftpd.

Debian 9.xx usa systemd come controllore dei sistemi e dei servizi.
Il comando per il riavvio si vsftpd sarà pertanto:

service restart vsftpd
systemctl status vsftpd
● vsftpd.service - vsftpd FTP server
   Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2019-08-09 13:12:51 CEST; 23s ago
  Process: 774 ExecStartPre=/bin/mkdir -p /var/run/vsftpd/empty (code=exited, status=0/SUCCESS)
 Main PID: 777 (vsftpd)
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/vsftpd.service
           └─777 /usr/sbin/vsftpd /etc/vsftpd.conf

Nella directory /svr/ftp non è consigliato e non è consentito l’upload.
Normalmente l’utente owner della cartella /svr/ftp è root group ftp i permessi sono

 wrx w-x w-x

Quindi per consentire l’upload anonymous si può creare un directory ad esempio e il proprietario come ftp:ftp.

mkdir /srv/ftp/pubblic
chown -R ftp:ftp /srv/ftp/pubblic

ovviamente è possibile creare altre dir a piacere

Quando viene caricato un file di norma i permessi sono

-rw------

Per cambiare i permessi dei file caricari dallo user anonymous in

-rw-r--r--

Aggiungere nel file di configurazione /etc/vsftp.conf la riga

anon_umask=022

per i file caricati da un local user utilizzare

local_umask=022

Accesso autenticato

Per consentire l’accesso agli utenti del server con user e password è necessario abiltare, elimindo il commento

local_enable=YES

Per consentire che i permessi in caso di upload e creazione directories siano opportunamente assegnati come già evidenziato togliere il commento

local_umask=022

Per limitare l’accesso di ciascun user alla propria directory  togliere il commento a

chroot_local_user=YES

A questo punto la configurazione di base può dirsi completata riavviare il servizio con

systemctl restart vsftpd

Configurazione brothers MFC-J6520DW per invio scansioni su server FTP ( installare la stampante multifunzione Brother MFC-J6520DW in Debian 9.x Stretch installer tools )

MFC-J6520DW – scansione
MFC-J6520DW – Scansione su FTP – esempio profilo 1

in questo caso la directory di meorizzazione è /scan pertanto in /srv/ftp va creata la dir apposita come visto in precedenza per la dir public

mkdir /srv/ftp/scan
chown -R ftp:ftp /srv/ftp/scan

il proprietario dei file caricati dalla stampante sarà ftp:ftp e i files a seguito con l’aggiunta della riga anon_umask=022 avranno permessi.

-rw-r--r--

Risorse: