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:
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 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
premièrement sed me renvoi :
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
"/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:
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
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
En vous remerciant d'avançe du temps que vous passerez a me dépanner
Partager