web-dev-qa-db-ja.com

UbuntuでのFAT32パーティションの読み取りおよび書き込み権限

これは奇妙な問題です。次のパーティションテーブルがあります

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      102400    7  HPFS/NTFS
Partition 1 does not end on cylinder boundary.
/dev/sda2              13        5737    45978624    7  HPFS/NTFS
/dev/sda3            5738       10600    39062047+  83  Linux
/dev/sda4           10601       19457    71143852+   5  Extended
/dev/sda5           10601       11208     4883728+  82  Linux swap / Solaris
/dev/sda6           11209       15033    30720000    b  W95 FAT32
/dev/sda7           15033       19457    35537920    7  HPFS/NTFS

Win7(sda2)とUbuntu(sda3)をデュアルブートし、FAT32パーティションを使用して2つのOS間でファイルを共有したいと考えました。

私はいくつかのオンラインチュートリアルに従って、これらを行いました:

Sudo mkdir /media/FAT32
Sudo chmod 777 /media/FAT32
Sudo mount /dev/sda6/ /media/FAT32

ファイルをマウントした後、読み取ることはできますが、書き込むことはできません。

ファイルのアクセス許可を確認したところ、次のようになります。

drwxr-xr-x

しかし、私がアンマウントした後、それはその後になります

drwxrwxrwx

読み書きができます。

どこが悪いのか分かりません。

16
Dean

Rwでマウントして、タイプを指定してください:

mount -t vfat /dev/sda6 /media/FAT32 -o rw,uid=xxx,gid=xxx

ここで、uidとgidはユーザーアカウントのものです。

18
John T

FATファイルシステムの場合、読み取り/書き込みの可用性はマウントオプションによって制御されます。

mountのマンページを参照して、FATのidおよびgidマウントオプションについてお読みください。

2
geek

Sudoコマンドを使用してファイルへの書き込みを試みましたか? すべき現在の設定で動作します。

通常のユーザーのファイル書き込みを機能させるには、uidおよびgidオプションをmountに使用して、パーティション上のファイルの所有者を現在のユーザーIDに設定する必要があります。 umaskまたはdmaskおよびfmaskオプションのいずれかが必要な場合もあります。

mountコマンドは次のようになります。

Sudo mount -t vfat /dev/sda6 /media/FAT32 -o uid=1000,gid=1000,umask=022
# assuming your user's UID is 1000, GID is 1000
# umask=022 sets permission mode 755 for all files on the partition
1
quack quixote

コマンドラインを単に忘れて、Nautilusでマウントする場合は、必要に応じて設定する必要があります。

端末からは、マウントする前のフォルダの権限は関係ありません。重要なのはマウントオプションです。試してください:

mount -t vfat /dev/sda6 /media/FAT32 -o rw,uid=xxx,gid=xxx,umask=133,dmask=022

これにより、ファイルがrw-r--r--に、フォルダがrwxr-xr-xに設定されます。

たとえば、fat32からext4パーティションに目的の属性でファイルをコピーするなど、他のユーザー/グループと権限が必要な場合は、mountマンページを参照してください。おおまかにumaskをつけるのは、chmodをかけるのとは逆です。

1
user39559

必要なコマンドの順序が間違っています:

Sudo mkdir /media/FAT32
Sudo mount /dev/sda6 /media/FAT32
Sudo chmod 777 /media/FAT32

起こっていることは、/ media/FAT32がマウント前後の異なるディレクトリを表すということです。その前は、作成したディレクトリで、777をchmodしたものです。その後は、/ dev/sda6にあるファイルシステムのルートディレクトリです。

0
jneves

Linuxで使用する前に、Windowsでディスクを修復/チェックしてください。デフォルトでは、fat/ntfsドライバーは、ディスク上でエラーが見つかった場合、書き込みを無効にします。

chkdsk d: /f 

その後

Sudo mount -t vfat /dev/sdc1 /media/FAT32 -o rw,uid=$(id -u),gid=$(id -g)

前に動いたように

0
intika

私はまったく同じ問題を抱えており、実際に機能したのは次のものだけです:

Sudo mount -t vfat  /dev/sda6 /media/FAT32 -o rw,umask=0000

参照 その答え

0
lauhub

手動でマウントしなくても、fstab行でうまくいきます。

UUID = 1DD9-0D44/media/exthd/TERABYTE_G vfat rw、noatime、uid = 1000、gid = 1000、user 0 0

(uid、gidはユーザーのものであり、/ media/exthd/TERABYTE_Gを事前に作成する必要があります)

ただし、mount -aは新しいfstab行のテストに適切に適用されていないようなので、完全な再起動が役立ちます。

0

LinuxからWindowsディスクを紛失したことがあり、この例のように、「-o force」を指定してmountを使用して解決しました。

Sudo mount -t ntfs-3g /dev/sda1 /media/win -o force

あなたの場合、FAT32であることについて読む必要がありますが、私はこのヒントのヘルプです。とにかく、自己責任でやってみてください!

0
Germán Arduino