Ubuntu 9.10에서 자동 마운트 된 FAT 드라이브에 대한 기본 권한을 설정하는 방법은 무엇입니까? 특히 유용하지 않습니다. “다시 돌아 가기”나는 원하는 umask

우분투에 마운트 할 FAT32 드라이브가 많이있어 디렉토리에 대한 권한 모드 700과 다른 모든 파일에 대한 권한 모드 700을 갖습니다. 기본적으로 모든 파일에 대해 755가 있으며 이는 디렉토리가 아닌 실행 파일이 거의 없어 드라이브에 호스팅되는 버전 제어 저장소를 망칠 수 있기 때문에 특히 유용하지 않습니다.

“다시 돌아 가기”나는 원하는 umask / dmask와 함께 / etc / fstab에 드라이브를 나열했을 것이고 디폴트 값은 없었습니다. 요즘 드라이브는 볼륨 이름으로 자동 마운트됩니다. 기본값을 설정하는 방법을 모릅니다.

분명히 효과없이 / system / storage / default_options / vfat / mount_options gconf 키를 변경하려고했습니다. 처음에는 077 이었지만 마운트 된 드라이브는 기본값 022를 반영했습니다. 파일을 변경하고 드라이브를 다시 삽입하면 파일에 여전히 사용 권한 비트가 755가되었습니다.



답변


불행히도 업데이트 기본 제공 방법은 없습니다. 지원되는 “올바른 방법” 은 원하는 기본 마운트 옵션으로 / etc / fstab 줄을 설정하는 것입니다. 이는 특정 장치 경로가 필요하지 않도록 파티션 레이블 또는 UUID를 사용할 수 있지만 장치마다 기본값을 설정해야 함을 의미합니다. 특히이 방법은 PolicyKit 데스크톱 인증 전에 수행 되는 것 같습니다 .

Ubuntu 포럼, LaunchpadGnome의 bugzilla 에는 NTFS 및 FAT32 모두에서 원하는 기능을 찾는 사용자의 게시물이 많이 있습니다. Ubuntu 9.10 및 10.04는 DeviceKit-Disks, GVFS 및 Nautilus의 조합을 통해 기본 자동 마운팅을 제공합니다.

DeviceKit-disks는 옵션 인수가 마운트 옵션을 구성 하는 올바른 방법 인 것처럼 보이는 FilesystemMount 인터페이스를 제공합니다 . 그러나 GVFS / Nautilus는 USB 키를 자동 마운트 할 때 UI 또는 구성 파일을 통해이 옵션을 지정하는 수단을 제공하지 않습니다.

몇 가지 해결 방법이 있습니다.

  • 이 런치 패드 버그 에는 사용자 정의 된 devicekit-disks 패키지 에서 DeviceKit-Disks 기본값을 변경 하는 사용자 제공 패치 가 포함되어 있습니다 .

    좋은 점은 모든 장치에 대해 기본 설정을 설정하는 가장 쉬운 방법 일 수 있습니다. 단점은 패키지가 업데이트 될 때 다시 패치해야한다는 것입니다.

  • 한 우분투 포럼 게시물에서는 장치 별 해결 방법 스크립트를 제안합니다 .

    #!/bin/bash
    devkit-disks --unmount /dev/disk/by-uuid/0D3594370C618A2A
    devkit-disks --mount-options "dmask=000" --mount /dev/disk/by-uuid/0D3594370C618A2A
    

    또한 특정 장치로 업데이트를 유지해야하기 때문에 차선책입니다. 그러나 지원되는 fstab 솔루션이 가질 수있는 인증 문제를 피할 수 있습니다.


답변

다음은 개인 ssh 키에 적합한 권한으로 USB 스틱을 마운트하기위한 fstab 줄입니다 (fmask = 177). 평가판 및 오류로 인해 자동 마운트가 작동하도록 ‘user’옵션을 추가해야한다고 알 렸습니다.

/dev/disk/by-uuid/C2F8-E4F2  /media/TIM_ABELL  vfat  rw,user,nosuid,nodev,dmask=0077,flush,fmask=177

또한 이전에 자동으로 마운트 지점을 만들어야했습니다.

mkdir /media/TIM_ABELL

디스크 uuid는 디스크를 연결하고 실행하여 찾을 수 있습니다

mount
ls -l /dev/disk/by-uuid/

마운트 지점-> 장치-> uuid 매핑을 얻을 수 있습니다.


답변

정말로 오래된 / etc / fstab 방법을 사용해 보셨습니까? 그것은 나를 위해 작동합니다. Ubuntu는 HAL 자동 마운터에 관계없이 fstab을 사용합니다.


답변

나는 bash 스크립팅을하고 위에 게시 된 개선 된 버전의 대안 스크립트를 만들었습니다.

#!/bin/bash
dev_path="/dev/disk/by-id"
usb_drives=$(find $dev_path -name "usb*")
mount_options="utf8=0,codepage=850,iocharset=iso8859-1"

for dev in $usb_drives ; do
  if ( devkit-disks --show-info $dev | \
       grep "is mounted:" | grep -q 1 ) ; then
    devkit-disks --unmount $dev
    devkit-disks --mount $dev \
      --mount-options $mount_options
  fi
done

이미 마운트 된 USB (모두 모든 펜 드라이브)로 연결된 모든 장치를 찾고 mount_options를 사용하여 다시 마운트합니다 (필자의 경우 다른 제한된 OS와의 호환성을 위해 iso-8859-1 문자 세트를 사용하도록하십시오)