루트 사용자가 아닌 사용자를 소유자로하여 시작시 NTFS 파티션 마운트


27

현재 / etc / fstab에서 다음 줄을 사용하여 시작할 때 NTFS 파티션을 마운트하고 있습니다.

/dev/sda3        /media/data           ntfs      nls=iso8859-1,umask=000

Ubuntu 11.10 설치에서는 모든 파일과 폴더가 소유하고있는 것처럼 보입니다. rootNTFS는 실제로 동일한 권한 관리 시스템을 지원하지 않기 때문에 마운트가 완료된 후에는 변경할 수 없습니다. 내가 무엇을하든 ls -lNTFS 파티션의 어느 곳에서나 소유 한 모든 파일과 폴더를 나열합니다 root:root.

그러나 이것은 나에게 몇 가지 문제를 일으킨다. 가장 주목할만한 것은 내 계정으로 운영되는 일부 응용 프로그램 ( tomas)이 액세스 권한에 대해 불평하는 것입니다. 또한 ext3 파티션 중 하나에서 NTFS 파티션으로 파일 을 복사 ( cp) 또는 이동 ( mv) 하려고 할 때마다 오류 메시지가 표시됩니다.

mv: preserving times for `[path to new file]`: Operation not permitted

또는 유사하게

mv: preserving permissions for ...

루트 도움말 대신 내 이름으로 파티션을 마운트 하시겠습니까? 그렇다면 fstab에서 어떻게 수행합니까?


최신 정보:

제안에 따라 옵션을 변경하고 다음에 도달했습니다.

nls=iso8859-1,permissions,users,umask=000,uid=tomas,gid=tomas

ls -l이제는 루트가 아닌 내가 소유 한 모든 파일을 보여 주며 이전에 발생한 일부 문제가 해결 된 것으로 보입니다. 그러나 그들 모두는 아닙니다.

Eclipse를 시작할 때 android-sdk와 관련된 파일을 실행할 수 없다는 오류가 발생합니다. 권한이 거부되었습니다. ls -l파일에 대해 다음을 알려줍니다.

-rwxrwxrwx 1 tomas tomas 159620 2011-11-29 14:50 adb*

이것은 내가 원하는 방식으로 보입니다. 그러나 ( ./adb터미널에서) 실행하려고 하면 권한 거부 오류가 발생합니다. 그러나 내가 그것을 실행하면 sudo작동합니다 (적어도 나는 오류 메시지를주지 않지만 전혀 출력을주지 않는다고 생각합니다.)

다른 사람이 여전히 실행할 수 없는 다른 사람 에 대한 실행 권한이있는 위의 파일이 왜 필요한 root가요? 파일 시스템을 마운트하는 방식을 어떻게 변경합니까?


업데이트 2 :

좋아, 나는 이제 조금 더 갔다. 이 옵션으로 장착하면

nls=iso8859-1,permissions,users,auto

예상대로 모든 권한을 설정 chown하고 chmod실제로 파일의 설정을 변경합니다 (적어도)에 따라 ls -l= D

그러나 내 시스템은 여전히 ​​이상한 방식으로 작동합니다. adb스크립트 파일 의 권한은 위와 같이 표시되지만 "Permission denied"오류 없이는 이클립스를 실행할 수 없습니다. 그러나 내가 알 수있는 한 파일에 필요한 모든 플래그가 설정되어 있습니다 ( o=rwx충분해야합니다). 왜 작동하지 않습니까?


업데이트 3

OK, 나는 다음 옵션을 사용하여 Ubuntu 측에서 모든 작업을 수행했습니다.

nls=iso8859-1,permissions,users,auto,exec

그러나 Windows에서 파티션의 파일에 액세스하려고하면 보안 설정이 모두 엉망입니다. 내가 조사한 파일 중 모든 파일에서라는 새 계정 Account Unknown(long GUID)이 사용자 목록에 추가되었으며 모든 권한을 갖습니다. 대부분의 다른 사용자에 대한 강요가 줄어들어 예상 한 작업을 수행 할 권한이 없습니다. 특히 "모두"는 더 이상 "폴더 탐색 / 실행"권한이없는 것 같습니다.

바로 파티션을 선택하여 풀수하고 모두가 루트 폴더에 아무것도 할 다음 반복적으로 그것을 할 그것을 말할 수 있지만 난 두려워 나는 오히려 그것을 완료하는 데 며칠이 걸릴 것입니다하지 않는 게 좋을 ...


2
에서 마운트 (8) : users Allow every user to mount and unmount the filesystem. This option implies the options noexec, ... unless overridden by subsequent options, as in the option line users,exec,dev,suid). 따라서 exec옵션에 추가 하면 실행에 대한 권한 거부 문제가 해결되어야한다고 생각합니다.
benwh

업데이트 3 이후에이 문제를 해결 한 적이 있습니까? ... 한 번에 내가 가지고있는 여분의 ntfs 드라이브에 내 리눅스 시스템의 rsync 백업을 시도했지만 많은 검색 후에 리눅스 파일 시스템 정보의 전체 배열을 넣을 수 없다는 결론에 도달했습니다. ntfs fs에. (아마도 위에서 한 것처럼 가까이 올 수는 있지만 결국 리눅스는 ntfs에 잘 매핑되지 않습니다.)
Elliptical view

@Elipticalview : 이것은 오래 전이며 더 이상 같은 컴퓨터가 없습니다. 허용 된 답변을 시도 했습니까?
Tomas Aschan

답변:


24

옵션 열에서 permissionsand auto(그리고 아마도 user또는 users)를 추가하십시오

nls=iso8859-1,permissions,users,auto
  • permissions: (NTFS-3G 옵션) 작성된 파일에 대한 표준 권한을 설정하고 표준 액세스 제어를 사용하십시오.
  • auto: 부팅 할 때와 mount -a
  • user: 일반 사용자가 파일 시스템을 마운트 할 수 있도록 허용
  • users: 모든 사용자가 파일 시스템을 마운트 및 마운트 해제 할 수 있도록 허용

그런 다음 파일 시스템의 소유권을 변경하십시오.

sudo chown -R thomas:thomas /media/data 

내 라인 /etc/fstab

/dev/sda5 /media/ntfs ntfs-3g users,permissions,auto 0 0

마운트 및 목록 권한

sudo mount /media/ntfs
Using default user mapping

bodhi@ufbt:~$ ls -l /media

drwxr-xr-x 1 root root 4096 2012-01-04 17:08 ntfs

소유권 변경 및 새로운 권한 나열

bodhi@ufbt:~$ sudo chown bodhi:bodhi /media/ntfs

bodhi@ufbt:~$ ls -l /media

drwxr-xr-x 1 bodhi bodhi 4096 2012-01-04 17:10 ntfs

기본적으로 ntfs-3g는 파티션 noexec, nosuid 및 nodev를 마운트합니다.

  • noexec: 마운트 된 파일 시스템에서 바이너리를 직접 실행할 수 없습니다.
  • nosuid: set-user-identifier 또는 set-group-identifier 비트가 적용되지 않도록합니다.
  • nodev: 파일 시스템에서 문자를 해석하거나 특수 장치를 차단하지 마십시오.

이를 무시하고 파일 실행을 허용하려면 exec

/dev/sda5 /media/ntfs ntfs-3g exec,permissions,auto 0 0

이제 우리는

bodhi@ufbt:~$ ls -l /media/ntfs

-rwx------ 1 bodhi bodhi 28 2012-01-04 17:16 file

bodhi@ufbt:~$ /media/ntfs/file
It works

흠 ... fstab에 추가하고 (hte 옵션 열을 다음과 같이 설정하십시오. nls=iso8859-1,permissions,users,umask=000) 재부팅 후 오류 메시지없이 파일을 이동하고 복사 할 수 있습니다. root:root그럼에도 불구 하고 모든 파일은 여전히 ​​소유 한 것으로 표시됩니다 sudo chown -R tomas:tomas /media/data. 지금은 문제가되지 않지만 호기심에서 벗어나는 이유는 무엇입니까?
Tomas Aschan

당신의 생각umask=000
Panther

아니, umask=000에 해당 chmod 777당신이 정의하는 모든 플래그의 umask - 하지 않는 파일에 설정하려는. 나는 그것이 직관적이지
않다는

시도한 결과와 결과에 대한 추가 정보로 질문을 업데이트했습니다.
Tomas Aschan

1
흠 ... 나는 이것을 한동안 표시 해제해야 할 것이다. 이것은 Windows에서 파일을 읽을 때 권한을 엉망으로
만들었을 것이다

2

mount.ntfsuidgid옵션을 사용하거나 사용자 매핑 기능을 사용하십시오 (8).


1
즉, fstab 줄에 uid =
who

uid그리고 gid작품은,하지만 권한은 이제 NTFS-3g 지원, 그 옵션을 통해 타고하는 permissions옵션을 선택합니다. 참조 : b.andre.pagesperso-orange.fr/permissions.html
Panther

시도한 결과와 얻은 결과에 대한 추가 정보로 질문을 업데이트했습니다. =)
Tomas Aschan

fstab 항목을 업데이트하고 uid, gid 및 umask를 제거 nls=iso8859-1,permissions,users하고 파티션을 마운트 해제했다가 다시 마운트하십시오.
Panther

@ bodhi.zazen : 그럼 우리는 다시 정사각형으로 돌아 왔습니다. 파일은 소유 한 것으로 표시 root:root되고 Eclipse는 권한에 대해 불평합니다.
Tomas Aschan

2

fstab의 줄을 다음으로 변경하면 광산이 완벽하게 작동합니다.

UUID=761C84B31C846FC3 /media/d        ntfs    defaults,umask=022,uid=1000 0       0

1

사용하는 것은 udisks어떻습니까? 사용자가 소유자 인 NTFS 파티션을 쉽게 마운트 할 수 있습니다.

예 (명령 줄에 입력) :

/usr/bin/udisks --mount /dev/sda3

시작 응용 프로그램에 해당 명령을 추가 할 수 있으며 로그인시 자동 마운트됩니다.

참조 : AutomaticMountPartitions

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