防止写入未挂载的 sshfs 挂载点

Sli*_*red 5 linux mount sshfs

假设我有一个文件夹/mnt/mountpoint用作某些sshfs-mounted 目录的挂载点:

sshfs user@host /mnt/mountpoint
Run Code Online (Sandbox Code Playgroud)

现在,我想阻止应用程序在/mnt/mountpoint卸载时写入。我在这里这里找到的问题的答案暗示使用

sudo chattr +i /mnt/mountpoint
Run Code Online (Sandbox Code Playgroud)

这可以很好地防止任何写访问。不幸的是,它也阻止了我sshfs作为普通用户安装。

什么是最好的解决方案?我更喜欢单个 sshfs-command 或至少不需要 root 权限的东西。我应该放弃这种chattr方法并尝试完全不同的方法吗?

Aar*_*ron 2

挂载点默认权限

创建挂载点

mkdir --mode=0500 -p /mnt/mountpoint
Run Code Online (Sandbox Code Playgroud)

只有创建用户才能对其进行写入。您可以从 rc.local 预先填充它。当您挂载位于该挂载点之上的任何文件系统时,它将获取您在挂载时设置的覆盖层的权限。

顺便说一句,我会避免chattr +i这样做,因为如果不是每个人都知道你这样做了,这会让人们感到困惑,并在以后引起故障排除的乐趣。

  • 这需要是 sudo,因此创建用户是 root。其他用户将无权安装,因为他们没有该文件夹的写入权限。这是行不通的。 (2认同)