2011-12-09 2 views
1

OS 드라이브의/opt/lampp/dir에 xampp이 설치된 Ubuntu 10.10 시스템 (예, 실제로 상자에 물리적으로 연결되어 있음)에 4 개의 드라이브가 있습니다. . OS 드라이브 (ssd, 정당성을 위해 drive1이라고 부름)는 PHP (사용자 www 데이터)가 내 htdocs 및 vhosts 폴더에 대한 읽기/쓰기를 허용하는 올바른 파일 권한을 가지고 있습니다.NTFS Hdd를 추가 미디어 저장소로 사용하는 Ubuntu Xampp PHP 파일 사용 권한

내 문제는 다른 3 개의 드라이브 중 하나에있는 파일을 이동하려고 할 때 발생합니다. 내 다른 드라이브는 각각 ntfs (1tb, 1.5tb 및 2.0tb)이며 fstab로 마운트됩니다. gui (노틸러스)로 파일 권한을 볼 때 모든 것이 루트라는 것을 알 수 있습니다. 그래서 나는 chown, chmod 등을 시도했다. 당신이 그 명령으로 ntfs의 권한을 변경할 수 없다는 것을 알았다. 그래서 나는 내 fstab config에 갔다. 그러나 PHP가 복사/이름 바꾸기/드라이브 중 하나의 파일 내에서 파일을 이동할 수 있도록 허용 권한을 설정할 수는 없다.

오늘 UUID를 사용하도록 업데이트되었지만 로컬 네트워크에서도 드라이브가 공유되며 여전히 정상적으로 작동합니다.

설치 후 ntfs-3g 드라이버로 변경했지만 컴퓨터를 다시 시작했지만 PHP로 파일을 이동할 수 없습니다. UUID = 552A7C6B05CEAAD2/미디어/v1tb NTFS-3g 기본값 UID = 1000 0 0 UUID = DE58539158536775 /media/v1.5tb NTFS-3g 기본값 UID = 1000 0 0 UUID : 여기

내 fstab 파일입니다 ,

sudo -u www-data cp '/media/v2.0tb/path/to/file' '/media/v2.0tb/path/to/newfile' 

어떻게 사용자의 작업을 모방 않습니다 = 3D80C54D5D100280 /media/v2.0tb NTFS-3g 기본값 UID = 1000 0 0

또한, 나는 다음과 잘 작동 사용하려 하지만 PHP의 이름 바꾸기/복사 기능이 작동하지 않습니다?

어떻게 이러한 ntfs 드라이브의 파일과 디렉토리를 복사/이름 바꾸기/삭제할 수 있도록 PHP 사용자 (www-data)를 설정할 수 있습니까? 다시 포맷해야합니까?

+0

프로그래밍 관련 질문이 [Unix.SE] (http://unix.stackexchange.com/) 또는 [AskUbuntu] (http://askubuntu.com/)에 더 잘 맞을 수도 있습니다. – mario

답변

0

실제에 따라 ntfs driver이 사용됩니다. ntfs-3g의 경우 fstab에서 uid=gid= 매개 변수를 사용할 수 있습니다. 관심사 일 수도있는 usermapping= 기능이 있습니다. 또한

+0

Looking 우리가 말하는대로 나는 정말로 ntfs-3g로 전환하고 싶지 않았지만 문제가되지 않습니다. 분명히 내 드라이브에 쓸 사람은 없지만 로컬 네트워크에는 최소한 읽기 액세스 권한이 필요합니다. 빠른 게시물을 보내 주셔서 감사합니다. 결과를 알려 드리겠습니다. – Vance

+0

나는 당신의 대답을 받아들이고 이것을 askubuntu.com으로 옮기고 있습니다. [link] (http://askubuntu.com/questions/86497/ubuntu-xampp-php-file-permissions-with-ntfs-hdds-as-additional 매체 저장 장치) – Vance

0

누구나 이런 문제가 발생하면 이전 디렉토리에 대한 권한이 디렉토리에 대한 액세스에 영향을 미칠 수 있습니다.

예를 들어, 우분투 12.10에서는 다른 우분투 버전과 마찬가지로/media에 파티션이 있습니다. 그러나이 버전에서는 파티션, 특히 NTFS 및 외장 드라이브가있는 다른 디렉토리를 가질 수 있으며/media/YOUR_USER_NAME입니다. PHP를 사용하여 외장 하드 드라이브에 대한 액세스를 해결하려면 먼저/media/MY_USER_NAME에서 권한을 변경 한 다음/media/MY_USER_NAME/MY_EXTERNAL_DRIVE에서 권한을 변경해야했습니다.

이들은 사용되는 명령은 : 는 sudo 대한 Chown MY_USER_NAME MY_USER_NAME/ 는 sudo 대한 Chown MY_USER_NAME MY_USER_NAME/MY_EXTERNAL_DRIVE/

sudo를 탑재 -t NTFS -o RW, GID = 1000 UID = 1000, fmask = 000, dmask = 000/dev/sdb1/media/MY_USER_NAME/MY_EXTERNAL_DRIVE

첫 번째와 두 번째는 올바른 디렉토리로 NTFS 드라이브를 마운트하기 위해 디렉토리 소유자를 바꾸는 것입니다. 사용 권한.

나는 이것이 누군가에게 유용 할 수 있다고 생각했는데, 나는 이전 디렉토리에 접근 할 수 없다는 것을 깨닫고 몇 시간을 보냈다.