我正在尝试创建一个小脚本,/var
通过修改/etc/fstab
文件将 noexec 和 nosuid 添加到分区。
目前,/etc/fstab
除分区外,还包含 /var/log/var
分区。
当我运行我的脚本时,对/var
和/var/log
. 我只想在/var
分区中添加“noexec”和“nosuid”。
这是我写的
#cat test.sh
#!/bin/bash
egrep -q '/var/.+noexec' /etc/fstab || sed -ri '/\/var/ s/defaults/defaults,noexec/' /etc/fstab
egrep -q '/var/.+noexec' /etc/fstab || sed -ri '/\/var/ s/defaults,nodev/defaults,nodev,noexec/' /etc/fstab
egrep -q '/var/.+nosuid' /etc/fstab || sed -ri '/\/var/ s/defaults/defaults,nosuid/' /etc/fstab
- 当前 /etc/fstab 条目 wrt /var 和 /var/log 如下所示,
cat /etc/fstab
/dev/mapper/system-var /var ext4 defaults,nodev 1 2
/dev/mapper/system-varlog /var/log ext4 defaults,nodev 1 2
- 运行脚本后,输出如下,
/dev/mapper/system-var /var ext4 defaults,nosuid,noexec,nodev 1 2
/dev/mapper/system-varlog /var/log ext4 defaults,nosuid,noexec,nodev 1 2
- 预期输出如下所示,
cat /etc/fstab
/dev/mapper/system-var /var ext4 defaults,nosuid,noexec,nodev 1 2
/dev/mapper/system-varlog /var/log ext4 defaults,nodev 1 2