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


10

を使用sudo cfdisk /dev/sdbしてパーティションを作成し、を使用してフォーマットした4GB USBスティックがありsudo mkfs /dev/sdb1ます。現在、Debian Squeezeで実行する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*ファイルシステム(ext2ext3、またはext4のいずれかを使用して、sdb1パーティションをフォーマットしました。デフォルトを思い出せません)。これは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私はエラーが出るのいずれかであるとします。Debian Squeezeで動作させるにはどうすればよいですか?sudo: mkfs.xxxx: command not foundxxxxntfsvfat
エリック

@Eric:ntfs-3g + ntfsprogs + dosfstoolsをインストールします。
-grawity

OK、インストールしました。マウントしようとすると、次のエラーが表示されます:ntfs-3g-mount: failed to open /dev/fuse: Permission denied。これについてどうすればよいですか?
エリック

4

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

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

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

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


2

コマンドでsudo権限を使用および変更しchmodます。

その質問の私の答えを見て、使用方法を確認してくださいchmod

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



0

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


上記で@Svenが示唆したように、所有権のroot:rootは、ターミナルまたはguiでrootとして開かれている理由です。
linuxdev2013
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.