폴더를 마운트 지점 전용으로 표시할 수 있나요?

폴더를 마운트 지점 전용으로 표시할 수 있나요?

~/nas일반적 sshfs으로 네트워크 드라이브를 마운트하는 데 사용하는 폴더가 있습니다 . 오늘은 공유가 아직 마운트되지 않았다는 사실을 깨닫지 못하고 일부 데이터를 여기에 복사했습니다. 네트워크 공유가 아닌 내 로컬 드라이브에 데이터를 복사했다는 사실을 깨닫는 데 약간의 시간이 걸렸습니다. 이 폴더가 마운트 지점이 되어야 함을 시스템에 표시하고 누구도 이 폴더에 데이터를 복사할 수 없도록 하는 방법이 있습니까?

여기에서 권한 솔루션을 시도했습니다.프로그램이 마운트된 디렉토리에만 쓸 수 있도록 허용하는 방법은 무엇입니까?, 그러나 쓰기 권한이 없으면 아무 것도 마운트할 수 없습니다.

답변1

당신이 있는 한~ 아니다루트에 대한 쓰기 권한을 취소하면 됩니다.~/nas디렉토리를 직접 만들고 높은 마운트에 sudo를 사용하십시오.

$ chmod u-w ~/nas
$ cd ~/nas
$ touch test
touch: cannot touch `test': Permission denied
$ cd ..
$ sudo mount -t fuse -o <options> sshfs#<user>@<host>:/mount/path/ ~/nas
$ cd ~/nas
$ touch test
$

그 뒤에 숨은 아이디어는 다음과 같습니다. 마운트 경로인 ~/nas는 대상이 마운트되지 않은 동안에 권한이 할당되어 사용자가 수정할 수 없도록 합니다(사용자에게 루트 권한이 없는 한). mount 명령(실행하려면 루트 권한 필요)은 대상의 권한이 설정된 대로 폴더의 권한을 일시적으로 수정하여 사용자에게 쓰기 액세스를 허용합니다.

답변2

우리는불변-루트 액세스의 경우에도 디렉터리를 보호하기 위한 플래그입니다.

chattr +i /vmdata/backup

이렇게 하면 아무것도 마운트되지 않은 경우 루트라도 거기에 쓸 수 없습니다. 디스크를 마운트한 후 모든 것이 예상대로 작동합니다.

답변3

나중에 제안된 답변을 사용할 수 있습니다.

첫 번째: 디렉터리가 마운트되어 있는지 mount 명령으로 확인합니다.

mount | grep <mountpoint>거기에 마운트된 것이 있는지 알려줄 것입니다. 거기에 올바른 것이 마운트되었는지 정말로 확인하고 싶다면 더 복잡한 정규식을 사용할 수 있지만 그럴 필요는 없다고 생각합니다.

관련 정보