假设我有一个文件夹/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
方法并尝试完全不同的方法吗?
挂载点默认权限
创建挂载点
mkdir --mode=0500 -p /mnt/mountpoint
Run Code Online (Sandbox Code Playgroud)
只有创建用户才能对其进行写入。您可以从 rc.local 预先填充它。当您挂载位于该挂载点之上的任何文件系统时,它将获取您在挂载时设置的覆盖层的权限。
顺便说一句,我会避免chattr +i
这样做,因为如果不是每个人都知道你这样做了,这会让人们感到困惑,并在以后引起故障排除的乐趣。