-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathfstab_mod.sh
45 lines (36 loc) · 1.24 KB
/
fstab_mod.sh
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
#!/bin/bash
#run this as root
#run as one-liner:
#backup_fstab () { BACKUP_DIR=/.armor/BACKUP; FSTAB=/etc/fstab; if [ -d $BACKUP_DIR ]; then cp -a $FSTAB $BACKUP_DIR; else cp -a $FSTAB /root/.; fi; }; running_tmp () { TMPFS=("tmpfs""/tmp" "/var/tmp"); for FS in "${TMPFS[@]}"; do mount -o remount,rw,exec $FS; done; }; mod_fstab () { FSTAB=/etc/fstab; sed -i '/.*tmp.*/s/noexec/exec/g' $FSTAB; sed -i '/.*tmp.*/s/defaults/rw\,exec/g' $FSTAB; mount -a; }; backup_fstab; running_tmp; mod_fstab
#so we have an fstab file to rollback to
backup_fstab () {
BACKUP_DIR=/.armor/BACKUP
FSTAB=/etc/fstab
if [ -d $BACKUP_DIR ]; then
cp -a $FSTAB $BACKUP_DIR
else
cp -a $FSTAB /root/.
fi
}
#Set currently running tmp dirs with exec, THIS IS NOT PERSISENT
running_tmp () {
TMPFS=(
"tmpfs"
"/tmp"
"/var/tmp"
)
for FS in "${TMPFS[@]}"
do
mount -o remount,rw,exec $FS 2&> /devnull
done
}
#Make exec persistent for tmp filesystems
mod_fstab () {
FSTAB=/etc/fstab
sed -i '/.*tmp.*/s/noexec/exec/g' $FSTAB
sed -i '/.*tmp.*/s/defaults/rw\,exec/g' $FSTAB
mount -a
}
backup_fstab
running_tmp
mod_fstab