![사용자 계정에서 NTFS 파티션을 마운트할 수 없습니다](https://linux55.com/image/17122/%EC%82%AC%EC%9A%A9%EC%9E%90%20%EA%B3%84%EC%A0%95%EC%97%90%EC%84%9C%20NTFS%20%ED%8C%8C%ED%8B%B0%EC%85%98%EC%9D%84%20%EB%A7%88%EC%9A%B4%ED%8A%B8%ED%95%A0%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4.png)
윈도우를 설치하려고 하는데NTFSopenSuse 11.4의 파티션. 루트 계정을 사용하여 설치할 때(직접 또는 통해)스도) 문제없이 설치되었습니다. 하지만 루트 권한 없이 설치하려고 하면 다음과 같은 오류가 발생합니다.
Error opening '/dev/sda2': Permission denied
Failed to mount '/dev/sda2': Permission denied
Please check '/dev/sda2' and the ntfs-3g binary permissions,
and the mounting user ID. More explanation is provided at
http://ntfs-3g.org/support.html#unprivileged
관련 장치에 대한 내 fstab 항목은 다음과 같습니다.
/dev/sda2 /media/Windows ntfs defaults,noauto,user 1 2
Google에서 가능한 해결책을 검색했지만 아무것도 찾지 못하는 것 같습니다.
편집 1:
제안한 대로 ntfs-3g 바이너리에서 UID/GID 비트를 설정해 보았습니다. 모든 파일(/sbin/mount.ntfs, /sbin/mount.ntfs-3g)은 /usr/bin/ntfs-3g를 가리키므로 해당 권한을 변경했습니다. 현재 권한은 다음과 같습니다.
-rwsr-sr-x 1 root root 51512 Feb 18 22:18 ntfs-3g
하지만 결과는 여전히 동일하고 내가 얻는 것도 동일합니다.허가가 거부되었습니다실수.
편집 2:
모든 파일에 대해 올바른 권한을 설정한 후:
-rwsr-xr-x 1 root root 51512 Feb 18 22:18 ntfs-3g
brw-rw-rw- 1 root disk 8, 2 Aug 6 21:53 sda2
drwxrwxrwx 1 asad users 8192 Jul 30 13:09 Windows
권한 있는 사용자 계정 없이 설치할 수 있습니다. 그러나 이제 동일한 계정을 사용하여 제거하려고 하면 다음과 같은 결과가 나타납니다.
asad@jb-laptop:~> umount /dev/sda2
umount: only root can unmount /dev/sda2 from /media/Windows
편집 3:
마침내 문제를 발견했습니다. 추가해야 해요사용자바꾸다사용자어떤 이유로 fstab에서 이유를 이해하지 못하지만. 이제 새로운 질문이 생겼습니다 :)
장치를 제거할 때마다/dev/sda2, 어떻게든 파일 권한이 기본값(0660)으로 돌아갔습니다. udev에서 규칙을 만들어 보았지만 작동하지 않는 것 같습니다.
답변1
ntfs-3g
사용자 마운트가 제대로 작동하려면 바이너리를 uid 루트로 설정해야 합니다 . 그리고 블록 장치 및 마운트 지점에 대한 권한이 필요합니다.
sudo chmod 1755 /sbin/mount.ntfs-3g /usr/bin/ntfs-3g
sudo chmod 666 /dev/sda2
sudo chmod 777 /media/Windows
(참고: 이는 Debian 위치이며 Suse의 경우 다를 수 있으므로 실제로 해당 위치에 있는지 확인해야 합니다.)
ntfs-3g
또한 버전 1.2506 이상이 필요합니다 .
자세한 내용은 여기를 참조하세요.
답변2
향후 비슷한 문제를 해결하려면, 특히 이동식 미디어(예: USB 디스크)의 경우 다음을 사용하는 것이 좋습니다.산일반 사용자로 파일 시스템을 마운트하는 데 사용됩니다. 때로는 위험할 수 있는 시스템 전체 변경을 방지하는 정책 접근 방식을 사용합니다(예: chmod 1755 /sbin/mount.ntfs-3g /usr/bin/ntfs-3g
).
구체적으로 하기 위해서는현지의파티션을 사용자 마운트 가능하게 만들어 pmount
화이트리스트에 추가할 수 있습니다. 귀하의 경우 이는 다음을 의미합니다.
echo "/dev/sda2" >> /etc/pmount.allow
루트로 실행해야 합니다. (또는 파일을 편집하여 sudo nano /etc/pmount.allow
:)
답변3
해결되었습니다! 모든 도움을 주신 @baharmat에게 감사드립니다. 당신이 나에게 올바른 방향을 알려주지 않았다면 나는 여전히 같은 문제에 직면했을 것입니다. 문제를 해결한 방법은 다음과 같습니다.
나의 ..로써긴문제, 남은 유일한 문제는 어떤 이유로 파일 권한이/dev/sda2제거 시 기본값 0660으로 변경되었습니다. 이 문제를 해결하기 위해 다음 udev 규칙을 사용했습니다.
KERNEL=="sda2", ACTION=="change", MODE="0666"
KERNEL=="sda2", ACTION=="add", MODE="0666"
노트:파일 /etc/udev/rules.d/81-mount.rules에는 ACTION=="add|change"가 있습니다. 이것은 작동하지 않는 것 같습니다. 이 규칙을 알아내는 데 한 시간 넘게 걸렸습니다. 내 배포판과 함께 제공되는 규칙 파일에 작동하지 않는 것 같은 내용이 포함된 이유에 대한 도움을 주시면 대단히 감사하겠습니다.