Ubuntu 9.10에서 자동 마운트 된 FAT 드라이브에 대한 기본 권한을 설정하는 방법은 무엇입니까?


17

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

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

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


응 귀하의 사용자 이름이 익숙한 것으로 생각했습니다. 나는 수년간 mutagen을 사용해 왔습니다. 슈퍼 유저에 오신 것을 환영합니다. :)
quack quixote

또한 어떤 버전의 우분투를 사용하고 있습니까? 나는 Karmic이라고 가정하지만 Lucid RC 또는 이전의 무언가에 대해 이야기하고있을 것입니다.
quack quixote

제목이 명확 해졌습니다. 나는 오래된 설치가 있기 때문에 문제가되지 않기를 희망했으며 6 개월마다 장착과 같은 것이 바뀌지 않아야합니다.

불행히도 HAL은 최근 버전에서 약간의 변화를 겪었습니다. 9.04와 이전 버전은 아마도 동일 할 것입니다. 일부 솔루션은 모두에게 적용될 수 있습니다. 그러나 9.10은 DeviceKit을 사용하고 HAL은 더 이상 사용되지 않습니다. 나는 현재 안정을 유지하기 위해 DBus / HAL / DeviceKit을 신뢰하지 않습니다.
quack quixote

1
pagin의 의견 : 문제가 훨씬 더 근본적이라고 생각합니다. 컴퓨터에 연결하는 장치에 관계없이 자동 마운트를 위해 umask를 수정하고 싶습니다. 즉, 내 친구가 자신의 USB 스틱을 사용 하여이 파일에서 일부 파일을 복사하려는 경우 000 또는 777, 770이 아닌 chmod 750으로 자동 전송되도록하고 싶습니다. 실제로 이것을 구성 할 수있는 옵션이 있어야합니다.
quack quixote

답변:


7


불행히도 업데이트 기본 제공 방법은 없습니다. 지원되는 "올바른 방법" 은 원하는 기본 마운트 옵션으로 / 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 솔루션이 가질 수있는 인증 문제를 피할 수 있습니다.


Rndmerle의 코멘트 : 참고로 Ubuntu Lucid (10.4)에서 devkit-disks 명령이 / usr / bin / udisks로 대체되었습니다.
quixote

이 해결 방법은 udisk --unmount 등을 사용하며 umask 및 dmask에서만 작동합니다. 링크 한 패치에서 추측 할 수있는 다른 옵션은 허용되지 않습니다.
user39559

1

다음은 개인 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 매핑을 얻을 수 있습니다.


1
전체 경로 / dev / disk / by-uuid / FOO 또는 / dev / disk / by-label / FOO 를 사용하는 대신 바로 가기 구문 UUID=FOO또는을 사용할 수 있습니다 LABEL=FOO.
quack quixote

0

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


2
모든 FAT 드라이브를 그렇게 마운트하기 위해 / etc / fstab에 무엇을 넣습니까? 내 요점은 "나는 fstab으로 이것을 할 수 없다"는 것이 아니라 "나는 그것을 지시하지 않으면 아무 것도 마운트하지 않았기 때문에 fstab 모델에서 발생하지 않았다"는 것이 아닙니다.

0

나는 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 문자 세트를 사용하도록하십시오)


3
ext4 USB를 연결하면 어떻게됩니까? FAT에만 원하는 마스크 및 기타 옵션을 적용합니까?
user39559

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