V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
wszgrcy
V2EX  ›  Linux

Linux 下如何设置一个目录,只有在被挂载的情况下才能进行读写?

  •  
  •   wszgrcy · 77 天前 · 891 次点击
    这是一个创建于 77 天前的主题,其中的信息可能已经有所发展或是发生改变。

    事情是这样的,昨天路由死机了,然后费了好大劲上去了(由于是 docker 内跑的,所以宿主机还能上去) 进去后一看,好家伙,直接 100%硬盘占用了,于是想到之前下载电影下到一半死活下不动,但是做种的人还很多,就明白了,挂载的硬盘掉了,然后挂载的目录还存在,于是就往机器里写了.... 被坑好几回了,并且这个问题又不是删掉下载文件就能解决的.删掉后重启路由,发现很多配置也掉了(猜测是硬盘满了,配置写不进去,然后清空后丢失了?)...又要重新部署一次路由 所以问下大佬们,可以给一个目录设置某种权限?规定这个目录只有在被挂载的情况下才能进行读写操作吗?

    7 条回复    2021-09-15 21:35:11 +08:00
    expy
        1
    expy   77 天前
    chattr +i 应该可以吧。
    superrichman
        2
    superrichman   77 天前
    mountpoint 判断
    weyou
        3
    weyou   77 天前 via Android
    最简单就是将下载目录放在二级目录。比如挂载目录是 /media/disk,然后将下载目录设置为 /media/disk/download 。因为不挂载的时候没有这个 download 目录,下载工具就会停止
    AoEiuV020
        4
    AoEiuV020   77 天前
    就普通的 chmod 000 就可能吧,挂载之后会是挂载的权限,掉了就恢复 000 也就用不了了,
    wszgrcy
        5
    wszgrcy   77 天前
    @AoEiuV020 还能这样啊,我回去研究下下谢谢谢
    @expy @superrichman @weyou 感谢,我回去也看下
    CEBBCAT
        6
    CEBBCAT   77 天前
    帮楼上补几个链接:
    https://serverfault.com/q/570255 ( chattr #1 、mountpoint #2 )
    https://unix.stackexchange.com/q/369738 ( over mount #3 )
    iBugOne
        7
    iBugOne   77 天前   ❤️ 1
    如果你用 systemd 服务的话,可以指定 RequiresMountsFor=/mnt/example 确保服务仅在有挂载的时候才会运行(否则直接 fail )
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1300 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 18:22 · PVG 02:22 · LAX 10:22 · JFK 13:22
    ♥ Do have faith in what you're doing.