恢复或重新加载 /etc/fstab 设置的快速方法?

eww*_*ite 11 linux redhat mount

我正在一个/etc/fstab基于 RHEL 6.x 的服务器上处理一个复杂的问题。系统在八个分区中使用了多种挂载选项,包括几个绑定挂载。我正在测试选项及其对我正在处理的图像的影响。

如选择喜欢nodevnosuidnoexecnobarrier和几个XFS文件系统的参数到位。

虽然我知道可以使用特定选项重新安装,但是否有一种快速的方法可以将所有安装恢复到硬编码的持久设置/etc/fstab

例如sysctl -p加载/etc/sysctl.conf值并应用它们。有mount等价物吗?


编辑:

一个示例配置:

#
# /etc/fstab
#
UUID=e6ca80cd    /                       ext4    noatime,nobarrier        1 1
UUID=a327d315    /boot                   ext4    defaults                 1 2
UUID=333ada18    /home                   ext4    noatime,nobarrier,nodev  1 2
UUID=7835718b    /tmp                    ext4    nodev,nosuid,noexec      1 2
UUID=4dd2e9d4    /usr                    ext4    defaults                 1 2
UUID=c274f65f    /var                    ext4    noatime,nobarrier        1 2
UUID=5b5941e0    /var/log                ext4    defaults                 1 2
UUID=3645951a    /var/log/audit          ext4    defaults                 1 2
UUID=3213123c    /vol1                   xfs     noatime,logbufs=8,nobarrier 1 2
UUID=1ee1c070    swap                    swap    defaults                 0 0
# Bind mount for /tmp
/tmp             /var/tmp                none    bind                     0 0
tmpfs            /dev/shm                tmpfs   nodev,nosuid,noexec      0 0
devpts           /dev/pts                devpts  gid=5,mode=620           0 0
sysfs            /sys                    sysfs   defaults                 0 0
proc             /proc                   proc    defaults                 0 0
Run Code Online (Sandbox Code Playgroud)

当然,开发人员要求执行权限/tmp才能安装应用程序......

我发现该remount选项在没有指定设备(重新)挂载点的情况下在此系统上不起作用。这是一个安全强化的服务器,所以我看到的问题可能与 SElinux 相关或绑定安装的结果,或者甚至可能存在否定选项(noexec 与 exec)...

rui*_*ief 9

在 bash 中输入:

egrep -v '^#' /etc/fstab | while read dev dir type opts dump pass ; do
    echo "mount -o remount,${opts} ${dir}";
done
Run Code Online (Sandbox Code Playgroud)

在我的系统上,这会产生如下输出:

mount -o remount,nodev,noexec,nosuid /proc
mount -o remount,relatime,errors=remount-ro /
mount -o remount,defaults /misc
Run Code Online (Sandbox Code Playgroud)

在你的系统上试试。如果您喜欢它产生的输出,请使用它,或者echo从上面的命令中删除和 双引号。