web-dev-qa-db-ja.com

ルートにならずにUSBにファイルを書き込むにはどうすればよいですか?

Sudo cfdisk /dev/sdbを使用してパーティション分割し、Sudo mkfs /dev/sdb1を使用してフォーマットした4GB USBスティックを持っています。現在、Debian Squeezeで83を実行すると、システムLinuxでID Sudo fdisk -lに設定されます。

私はpmountを使用して外部USBドライブをマウントします。したがって、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スティックをフォーマットまたは再パーティションする方法に何か問題がありましたか?

10
Eric

ext*ファイルシステムを使用してsdb1パーティションをフォーマットしました(ext2ext3、またはext4;私はデフォルトを思い出せません)。これはLinuxシステムのデフォルトのファイルシステムであり、nixファイルのアクセス許可を使用して、ファイルまたはディレクトリを変更できるユーザーを決定します。新しいファイルシステムは常に、ルート(この場合は/media/usb0)がroot:rootによって所有され、通常は所有者による変更のみを許可する権限で始まります。

これを確認するには、ファイルシステムをマウントし、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)がはるかに優れているファイルシステムの選択。

7
user1686

これは、特定のfat32またはext3,4でフォーマットされたUSBフラッシュドライブを搭載した後期のDebianシステム(jessieなど)でも発生します。 / etc/fstabから次の行をremove(またはコメントアウト)する必要があります。

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

この後、ルートではなく通常のユーザーアカウントの権限でUSBドライブが自動的にマウントされます。 this リンクのDebianフォーラムの詳細情報を参照してください。

その後、USBドライブはユーザーの書き込み権限でスムーズにマウントされます:)

4
miklosq

Sudoを使用し、chmodコマンドで権限を変更します。

chmodの使用方法については、その質問の私の回答を参照してください。

chmod 777を使用してすべてを許可することをお勧めします(ls -lを使用するとdrwxrwxrwxが表示されます)。

2
kokbira

ファイルシステムがFAT16またはFAT32の場合は、次のコマンドを使用する必要があります。

Sudo mount -t vfat /dev/sdb1 /media/usb0 -o uid=1000,gid=1000,utf8,dmask=027,fmask=137

詳細については、リンク https://help.ubuntu.com/community/Mount/USB#Mount_the_Drive にアクセスしてください

1
kamy22

GUIからファイルシステムメディアに移動します。コピー先のUSBドライブを右クリックして、[ルートとして開く]を選択します。パスワードを入力します。次に、コピー、削除、ドラッグアンドドロップができます。すべて良い

0
Sven