Linux:使用noexec,nosuid和nodev创建/tmp并将其安装为分区文件

时间:2020-01-09 10:40:32  来源:igfitidea点击:

在Linux之类的操作系统下,如何使用noexec,nosuid,nodev选项将/tmp挂载为单独的文件系统(/root/images/tmpfile.bin)?

Linux和Unix之类的操作系统可以通过其他选项挂载系统分区。
这些选件可以提高服务器的安全性。
这些选项在文件/etc/fstab中设置。
您可以使用以下选项来控制恶意行为或使攻击者难以利用您的服务器:

  • nodev不要解释字符或阻止文件系统上的特殊设备。
  • noexec不允许在已挂载的文件系统上直接执行任何二进制文件。
  • nosuid不允许set-user-identifier或set-group-identifier位生效。

命令

首先,创建一个名为/root/images/tmpfile.bin的文件,如下所示:

# mkdir -p /root/images/
# dd if=/dev/zero of=/root/images/tmpfile.bin bs=1 count=0 seek=4G

使用mkfs.ext4命令格式化文件系统:

# mkfs.ext4 /root/images/tmpfile.bin

添加nodev,nosuid和noexec选项,并将文件系统挂载到/tmp

# mount -o loop,rw,nodev,nosuid,noexec /root/images/tmpfile.bin /tmp
# chmod 1777 /tmp

执行以下命令,将/var/tmp目录绑定到/tmp:

# mount -o rw,noexec,nosuid,nodev,bind /tmp /var/tmp

更新/etc/fstab

编辑文件"/etc/fstab",执行:

# vi /etc/fstab

修改/tmp行,如下所示:

/root/images/tmpfile.bin   /tmp   ext4    rw,noexec,nosuid,nodev,bind    0 0

追加以下行:

/tmp /var/tmp none rw,noexec,nosuid,nodev,bind 0 0

保存并关闭文件。