Bonjour à Tous

Voici 3 jours que je bataille sans résultat avec un script bash. qui sera a terme intégré dans mes iso debian
le but étant de sécuriser mes partitions à l'aide des nodev,noexec,nosuid mais sans les mains

Voici mon fstab de base:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/mapper/system-root /               ext4    errors=remount-ro			0       1
# /boot was on /dev/sda1 during installation
UUID=7d9da36b-6d55-48b8-97d7-efd0424a27ee /boot        ext4    defaults  		0       2
/dev/mapper/system-home /home           ext4    defaults        			0       2
/dev/mapper/system-opt /opt            ext4    defaults  				0       2
/dev/mapper/system-tmp /tmp            ext4    defaults       				0       2
/dev/mapper/system-usr /usr            ext4    defaults      				0       2
/dev/mapper/system-var /var            ext4    defaults					0       2
/dev/mapper/system-var+log /var/log    ext4    defaults       				0       2
/dev/mapper/system-var+tmp /var/tmp    ext4    defaults       				0       2
/dev/mapper/system-swap_1 none         swap    sw              				0       0
/tmpfs /run/shm 			       tmpfs defaults,nodev,noexec,nosuid	0	0
/dev/sr0        /media/cdrom0   udf,iso9660 user,noauto     				0       0
voici mon fstab après lancement du script...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/mapper/system-root /               ext4    errors=remount-ro,nosuid,nodev,noexec,			0       1
# /boot was on /dev/sda1 during installation
UUID=7d9da36b-6d55-48b8-97d7-efd0424a27ee /boot        ext4    defaults  		0       2
/dev/mapper/system-home /home           ext4    defaults,nodev,nosuid,noexec        			0       2
/dev/mapper/system-opt /opt            ext4    defaults,nodev,noexec,nosuid,ro  				0       2
/dev/mapper/system-tmp /tmp            ext4    defaults,nodev,noexec,nosuid       				0       2
/dev/mapper/system-usr /usr            ext4    defaults,nodev,nosuid,ro      				0       2
/dev/mapper/system-var /var            ext4    defaults,nodev,nosuid,usrquota,grpquota					0       2
/dev/mapper/system-var+log /var/log    ext4    defaults,nodev,nosuid,usrquota,grpquota,nodev,noexec,nosuid       				0       2
/dev/mapper/system-var+tmp /var/tmp    ext4    defaults,nodev,nosuid,usrquota,grpquota,nodev,noexec,nosuid       				0       2
/dev/mapper/system-swap_1 none         swap    sw              				0       0
/tmpfs /run/shm 			       tmpfs defaults,nodev,noexec,nosuid	0	0
/dev/sr0        /media/cdrom0   udf,iso9660 user,noauto     				0       0
premièrement sed me renvoi :
"/bin/sed: -e expression n°1, caractère 15: commande `s' inachevée " (se qui me retourne une erreur 127 quand je crée des isos debian avec live-build)
ensuite comme vous pouvez le constater sur les partitions /var/log et /var/tmp nodev,nosuid s'écrivent deux fois???

Pour les plus maniac, comment réorganiser en colonnes les 0 2 ?
Voici le script en question:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#!/bin/bash
echo '==================================================='
echo '	Hardening fstab nodev,nosuid,noexec '
echo '==================================================='
 
FSTAB=/home/dark/doc-partage-VM/fstab
SED=`which sed`
 
    #nosuid on /
    if [ $(grep " \/ " ${FSTAB} | grep -c "nosuid") -eq 0 ]; then
            MNT_OPTS=$(grep " \/ " ${FSTAB} | awk '{print $4}')
            ${SED} -i "s/\( \/.*${MNT_OPTS}\)/\1,nosuid,nodev,noexec,/" ${FSTAB}
    fi
 
    #nodev,nosuid on /boot
    if [ $(grep " \/boot " ${FSTAB} | grep -c "nodev,nosuid") -eq 0 ]; then
            MNT_OPTS=$(grep " \/boot " ${FSTAB} | awk '{print $4}')
            ${SED} -i "s/\( \/boot.*${MNT_OPTS}\)/\1,nodev,nosuid,ro/" ${FSTAB}
    fi
 
    #nodev and nosuid on /usr
    if [ $(grep " \/usr " ${FSTAB} | grep -c "nodev") -eq 0 ]; then
            MNT_OPTS=$(grep " \/usr " ${FSTAB} | awk '{print $4}')
            ${SED} -i "s/\( \/usr .*${MNT_OPTS}\)/\1,nodev,nosuid,ro/" ${FSTAB}
    fi
 
    #nodev and nosuid on /home
    if [ $(grep " \/home " ${FSTAB} | grep -c "nodev") -eq 0 ]; then
            MNT_OPTS=$(grep " \/home " ${FSTAB} | awk '{print $4}')
            ${SED} -i "s/\( \/home .*${MNT_OPTS}\)/\1,nodev,nosuid,noexec/" ${FSTAB}
    fi
 
    #nodev,noexec,nosuid on /tmp
    if [ $(grep " \/tmp " ${FSTAB} | grep -c "nodev") -eq 0 ]; then
            MNT_OPTS=$(grep " \/tmp " ${FSTAB} | awk '{print $4}')
            ${SED} -i "s/\( \/tmp.*${MNT_OPTS}\)/\1,nodev,noexec,nosuid/" ${FSTAB}
    fi
 
    #nodev,noexec,nosuid on /var/tmp
    if [ $(grep " \/var\/tmp " ${FSTAB} | grep -c "nodev") -eq 0 ]; then
            MNT_OPTS=$(grep " \/var\/tmp " ${FSTAB} | awk '{print $4}')
            ${SED} -i "s/\( \/var\/tmp.*${MNT_OPTS}\)/\1,nodev,noexec,nosuid/" ${FSTAB}
    fi
 
     #nodev,noexec,nosuid on /var/log
    if [ $(grep " \/var\/log " ${FSTAB} | grep -c "nodev") -eq 0 ]; then
            MNT_OPTS=$(grep " \/var\/log " ${FSTAB} | awk '{print $4}')
            ${SED} -i "s/\( \/var\/log.*${MNT_OPTS}\)/\1,nodev,noexec,nosuid/" ${FSTAB}
    fi
 
    #nodev,noexec,nosuid on /opt
    if [ $(grep " \/opt " ${FSTAB} | grep -c "nodev") -eq 0 ]; then
            MNT_OPTS=$(grep " \/opt " ${FSTAB} | awk '{print $4}')
            ${SED} -i "s/\( \/opt.*${MNT_OPTS}\)/\1,nodev,noexec,nosuid,ro/" ${FSTAB}
    fi
 
    #nodev,nosuid on /var/
    if [ $(grep " \/var " ${FSTAB} | grep -c "nodev") -eq 0 ]; then
            MNT_OPTS=$(grep " \/var " ${FSTAB} | awk '{print $4}')
            ${SED} -i "s/\( \/var.*${MNT_OPTS}\)/\1,nodev,nosuid,usrquota,grpquota/" ${FSTAB}
    fi
Je vous avoue être un peu pommé dans toutes ces syntaxes où les moindres espaces peuvent-être mal interprété, sans compter que je ne connais rien du tout à sed et awk, me voilà en bon noob la tête dans la gamelle pour une première.. mdrrr


En vous remerciant d'avançe du temps que vous passerez a me dépanner