mount -r (읽기 전용) 읽기-쓰기 마운트

mount -r (읽기 전용) 읽기-쓰기 마운트

고쳐 쓰다:이는 libmount의 버그로 인한 것으로 밝혀졌는데, 현재는 업스트림이 수정되었습니다.https://github.com/karelzak/util-linux/issues/1235

원래 질문은 다음과 같습니다

실행하면 mount -r /media/sdd1장치는 -r옵션이 실패했다는 경고나 표시 없이 읽기-쓰기를 마운트합니다.

$ egrep sdd1 /etc/fstab
/dev/sdd1   /media/sdd1 auto    user,noauto,exec,nodev  0   0
$ umount /media/sdd1
umount: /media/sdd1: not mounted
$ mount -r /media/sdd1
$ touch /media/sdd1/file.tmp
$ umount /media/sdd1
$ mount -r /media/sdd1
$ ls /media/sdd1/file.tmp
/media/sdd1/file.tmp
$ rm -f /media/sdd1/file.tmp
$ umount /media/sdd1
$ mount -r /media/sdd1
$ ls /media/sdd1/file.tmp
ls: cannot access '/media/sdd1/file.tmp': No such file or directory

예를 들어 파일 시스템에 쓰지 말아야 한다는 사실을 잊어버린 경우 이는 파괴적일 수 있습니다. 제가 시도한 파일 시스템 유형은 FAT16입니다(사용 가능한 경우).

mount플래그를 제거하여 항상 플래그를 사용하도록 강요하는 것 외에 플래그를 존중하기 위해 내가 할 수 있는 다른 방법이 있습니까 ?-rusersudo

답변1

일반 사용자로 실행하면 mount사용자 정의 마운트 옵션을 지정할 수 없습니다(실행은 마운트 옵션을 mount -r추가하는 것과 동일 ro). 이 경우 모든 사용자 정의 마운트 옵션이 제거되고 fstab기본 옵션 + 옵션만 사용됩니다.

런타임 결과 sudo mount -r /mnt/test:

/dev/sdb /mnt/test vfat ro,nosuid,nodev,noexec,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro 0 0

일반 사용자의 경우 이 옵션이 무시되는 것을 볼 수 있습니다 ro.

/dev/sdb /mnt/test vfat rw,nosuid,nodev,noexec,relatime,uid=1000,gid=1000,fmask=0002,dmask=0002,allow_utime=0020,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro 0 0

이 설정은 변경할 수 없으므로 이 ro옵션을 지정 fstab하거나 루트로 명령을 실행 해야 합니다 mount.

mount"권한 없는" 마운트를 사용하고 수행하는 것은 fstab일반적으로 매우 제한적이며 이는 의미가 있습니다. 루트가 아닌 사용자가 fstab. 이 경우 에서 로 전환할 때 권한을 "낮추기" 때문에 "안전"할 수 있지만 rw변경할 ro수 없는 항목은 여전히 ​​변경됩니다.

답변2

이는 시스템을 이중 부팅하고 운영 체제 중 하나가 Windows인 경우에 발생합니다. Windows 운영 체제에는 Windows를 더 빠르게 시작하는 데 도움이 되는 구성이 있기 때문에 Windows 운영 체제는 디스크를 제대로 마운트 해제할 수 없습니다.

첫 번째 해결 방법: Windows 운영 체제로 부팅하고 다음 단계를 수행할 수 있습니다. (Windows 10의 경우)

  • 작업 표시줄에서 Windows 버튼을 마우스 오른쪽 버튼으로 클릭한 다음 전원 옵션을 클릭합니다.
  • 창 오른쪽 창에서 "추가 전원 설정"을 클릭합니다.
  • 제어판의 왼쪽 창에서 전원 버튼의 기능 선택을 클릭합니다.
  • 현재 사용할 수 없는 설정 변경을 클릭합니다.
  • 메시지가 표시되면 UAC 대화 상자를 수락하고 빠른 시작 켜기 선택을 취소합니다.
  • 변경 사항을 저장하고 Linux 배포판으로 부팅합니다.

이제 자동 설치는 드라이브에 대한 읽기 및 쓰기 액세스 권한을 갖게 됩니다.

두 번째 해결 방법: 이 문제를 해결하는 두 번째 방법은 터미널에서 다음 명령을 사용하는 것입니다.

sudo apt-get install ntfs-3g -y
sudo ntfsfix /dev/drive-name

위의 명령을 실행한 후 다시 마운트해 보세요.

세 번째 해결 방법: 이는 작동하지만 Linux 배포판을 부팅할 때마다 이 작업을 수행해야 합니다.

Nevena Pavlicic의 솔루션

관련 정보