디렉토리에 대한 읽기 전용 링크를 작성하는 방법은 무엇입니까?


18

내 스크립트 중 하나가 다음과 같이 심볼릭 링크를 동적으로 만듭니다.

ln -s /home/hosting/projects/images /home/hosting/projects/demo/images

링크를 통한 액세스가 읽기 전용이되도록하려면 어떻게해야합니까?

답변:


18

읽기 전용 바인드 마운트를 작성할 수 있습니다 .

mount --bind /path/to/source/ /path/to/dest/
mount -o bind,remount,ro /path/to/dest

예, Linux 커널 2.6.25 이후 커널에서 두 단계로 수행해야합니다 (이유는 위의 링크 참조).

또는 대안으로 /etc/fstab선 예제로 ref :

/path/to/source/ /path/to/dest/ none bind,ro

두 가지 접근 방식 모두에서 바인드 마운트는 VFS (Virtual Filesystem Layer)에 있으므로 파일 시스템에만 국한되지 않으며 실제로 '마운트'하지도 않습니다. 따라서 기본적으로 이것은 일종의 상징적 링크를 생성하지만 그렇게 표시되지는 않습니다.

그리고 데이터 손실에 대한 아래 의견에 답하기 위해 ... 아니오,이 지침은 파일을 제거하지 않습니다. 대상 경로에 파일이있는 경우이 마운트가이 경로 위에 놓입니다. 파일 시스템의 경로에 파일을 나열하려면 마운트를 해제하십시오. 더 나은; 일반적으로 비어 있지 않은 대상 경로 위에 장착하지 마십시오.


1
조심해. 이 단계에 따라 전체 백업 디렉토리를 제거하고 백업 데몬이 쓸 수 없도록 만들었습니다.

이 솔루션을 fstab 항목으로 제공 할 수 있습니까?
Throoze

@Throoze 거기 당신은 간다;)
gertvdijk

remount 명령은 다음 과 같아야합니다. 동일한 스레드에서 lwn.net/Articles/637501mount -o bind,remount,ro /path/to/dest참조하십시오 .
anon

mount -o remount,ro /path/to/destmount: mount point is busy.@gertvdijk
alper

2

하나의 명령으로 바인드 읽기 전용을 마운트하려면 다음을 수행하십시오.

mount --bind -r /path/to/source/ /path/to/dest/

마운트 해제

umount /path/to/dest/
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.