루트가 아닌 USB에 파일을 쓰려면 어떻게해야합니까?


10

나는 4GB USB 스틱을 사용하여 파티션하고 사용 sudo cfdisk /dev/sdb하여 포맷했다 sudo mkfs /dev/sdb1. 현재 데비안 스퀴즈에서 실행할 때 83시스템 ID 로 설정되어 있습니다.Linuxsudo fdisk -l

pmount외장 USB 드라이브를 마운트하는 데 사용 합니다. 그래서 ff가 있기 때문에 pmount /dev/sdb1마운트를 수행하면 됩니다 /media/usb0. 라인 /etc/fstab:

/dev/sdb1    /media/usb0    auto    rw,user,noauto    0    0

발행 후 pmount명령을,의 USB가 장착 /media/usb0일 - ls -l /media/usb0: 날 수 있습니다

drwx------ 2 root root 16384 Mar   2 20:08 lost+found

그래서 나는 사업에 대해 가서 파일을 복사하려고 시도 /media/usb0하지만 아래 오류가 발생합니다.

$ cp ~/foo.bar /media/usb0
cp: cannot create regular file `/media/usb0/foo.bar': Permission denied

그러나 cp와 동일한 명령을 실행 sudo하면 파일을 복사 할 수 있습니다.

왜 이런 일이 발생합니까? 내가 가지고있는 다른 USB 드라이브를 사용해 보았고이 오류없이 쓸 수 있습니다. USB 스틱을 포맷하거나 파티션을 다시 나누는 방식에 문제가 있습니까?

답변:


7

ext*파일 시스템을 사용하여 sdb1 파티션을 포맷했습니다 ( ext2 , ext3 또는 ext4 ; 기본값을 기억할 수 없음). 이것은 Linux 시스템의 기본 파일 시스템이며 Unix 파일 권한사용 하여 파일 또는 디렉토리를 수정할 수있는 사람을 결정합니다. 새로운 파일 시스템은 항상 루트 ( /media/usb0이 경우)가 소유 한 것으로 시작 root:root하며 일반적으로 소유자 만 수정할 수있는 권한으로 시작합니다.

yoruself에 대해 보려면 파일 시스템을 마운트 한 다음 실행 ls -ld /media/usb0하여 현재 소유권 / 펌을 확인하십시오. 내 추측은 :

drwx------ 2 root root 16384 Mar   2 20:08 /media/usb0

간단한 수정 방법은 a) chown마운트 된 파일 시스템을 자신의 Linux 계정으로 또는 b) 모든 사람에게 chmod.

그러나 결국 생성 된 파일은 사용자 이름이 아닌 UID가 소유하게되므로 이는 좋은 해결책이 아닙니다. 이로 인해 USB 드라이브가 다른 시스템에 연결된 경우 계정 이 빨리 일치하지 않습니다 . 전혀 연결할 수 없다고 가정하면 – 즉, Windows는 추가 트릭없이 ext3지원하지 않으므로 NTFS ( mkfs.ntfs) 또는 FAT32 ( mkfs.vfat)가 파일 시스템에 훨씬 더 적합합니다.


나는 일을 시도 sudo mkfs.ntfs /dev/sdb1하고 sudo mkfs.vfat /dev/sdb1있지만 오류를 얻을 sudo: mkfs.xxxx: command not foundxxxx중 하나입니다 ntfsvfat. 데비안 스퀴즈에서 작동 시키려면 어떻게해야합니까?
Eric

@Eric : ntfs-3g + ntfsprogs + dosfstools를 설치하십시오 .
user1686 년

좋아, 나는 그것을 설치했다. 이제 마운트하려고 할 때이 오류가 발생 ntfs-3g-mount: failed to open /dev/fuse: Permission denied합니다. 이것에 대해 어떻게해야합니까?
Eric

4

이는 특정 fat32 또는 ext3,4 포맷 USB 플래시 드라이브와 함께 이후 데비안 시스템 (예 : jessie)에서도 발생합니다. / etc / fstab 에서 다음 줄 을 제거 하거나 주석 처리 해야합니다 .

/dev/sdb1    /media/usb0    auto    rw,user,noauto    0    0

그런 다음 루트가 아닌 일반 사용자 계정의 권한에 따라 USB 드라이브가 자동으로 마운트됩니다. 링크 에서 데비안 포럼에 대한 자세한 정보를 참조하십시오 .

그 후 USB 드라이브는 사용자 쓰기 권한으로 부드럽게 마운트됩니다 :)


2

명령으로 sudo권한을 사용 하고 변경 하십시오 chmod.

사용 방법을 보려면 해당 질문에 대한 답변을 참조하십시오 chmod.

chmod 777모든 것을 허용하는 데 사용 하는 것이 좋습니다 (사용 ls -l하면 표시됩니다 drwxrwxrwx).



0

GUI를 통해 파일 시스템 매체로 이동하십시오. 복사하려는 USB 드라이브를 마우스 오른쪽 버튼으로 클릭하고-루트로 열기를 선택하십시오. 비밀번호를 입력하십시오. 그런 다음 삭제, 끌어서 놓기를 복사 할 수 있습니다. 문제 없다


@Sven이 위에서 언급 한 것처럼 소유권의 root : root는 터미널 또는 gui에서 root로 열려 있거나 chown을 사용하여 소유자 또는 그룹을 변경하여 예상대로 USB를 사용할 수 있도록하는 이유입니다.
linuxdev2013
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.