我有一个程序,它会将一些文件写入目录。我的问题是,如果由于某种原因目录未挂载,程序无论如何都会写入目录,但文件最终会进入系统的文件系统,而不是正常挂载的文件系统。如果目录未挂载,我希望写入目录的操作失败。如何在 Linux 中执行此操作?
答案1
使底层挂载点变为只读。
当附加文件系统被挂载时,它的权限优先于IIRC。
答案2
我也偶然遇到过这个问题。
在我的例子中,访问相关目录的脚本为根,因此只读选项并不是解决方案。
但还有另外两种可能的解决方法:
第一步:使用 mount 命令检查目录是否被挂载:
if mount | grep /that/mountpoint
then
...
第二步:在 FS 挂载后手动创建一个标志文件,并在脚本中检查。如果不存在标志文件,则 FS 可能无法挂载
mount /that/mountpoint
touch /that/mountpoint/.is_mounted
if test -e /that/mountpoint/.is_mounted
then
...
如果适合您的系统,第一个解决方案更可靠,而第二个解决方案更具可移植性。