web-dev-qa-db-ja.com

NTFSパーティションを全員の書き込みアクセスでマウントします

NTFSパーティションをマウントして、マシン上のすべてのユーザーアカウントに書き込みアクセスを許可するにはどうすればよいですか?私のマウントオプションは

nosuid,nodev,nofail,x-gvfs-show,nobootwait,uid=1000,gid=1002,fmask=113,dmask=002

これにより書き込みアクセスが許可されますが、他のユーザーがファイルを削除しようとするとエラーメッセージが表示されます

Cannot move file to trash, do you want to delete immediately? 

私が理解しているように、彼らは私が変更したい書き込みアクセスを持っていないためです。

新しいグループを(gid=1002で)作成し、プライマリグループとして両方のユーザーアカウントに割り当てましたが、それは役に立ちませんでした。また、fmaskdmask、およびuidオプションなしでマウントしようとしました。

3
daniels

私が理解しているように、彼らは私が変更したい書き込みアクセス権を持っていないからです。

いいえ、このエラーメッセージは、書き込みアクセス権がないことを意味するものではありません。書き込みアクセス権がない場合、ファイルを右クリックして「ゴミ箱に移動」または「削除」することはできません。または、 Del キーボードボタン。ただし、このエラーが発生しているため、ユーザーがアクセスできることを意味します。

2時間の検索の後、このエラーをコンピューターで再現したところ、次のことがわかりました。

説明

許可(所有者、グループ所有者、ファイルおよびディレクトリの許可)は、マウント時に設定されます。ファイルをゴミ箱に移動できるのは所有者のみです。どうして?ファイルをNTFSパーティションのゴミ箱に移動すると、パーティションのルートディレクトリに.Trash-<uid>というフォルダーが作成されます。ここで、<uid>はユーザーのuidであり、フォルダーの所有者は削除しようとしているユーザーになります。たとえば、ユーザー名がdanielsで、uidが1000の場合、.Trash-1000というフォルダーが作成され、danielsが所有者になります。

そのため、danielsがパーティションの所有者である場合、彼は通常これを行うことができます。ただし、別のユーザー(たとえばalaaと呼ばれ、uid=1001)が何かを削除しようとすると、システムは所有者alaaを使用して.Trash-1001フォルダーを作成しようとします。ただし、NTFSでは、マウント時にアクセス許可が設定され(例:danielsに設定された)、ファイルの「所有者」は変更できないため、システムは.Trash-1001フォルダーの作成に失敗し、 Cannot move file to trash, do you want to delete immediately?を要求します。

これをテストするには、.Trash-1001という名前のパーティションのルートディレクトリにフォルダーを手動で作成してみてください(所有者はパーティションの所有者に設定されます)。あなたはそのヒットを見つけるでしょう Del ファイル/フォルダのキーボードでは何も行われず、アイテムを右クリックしたときのオプションはMove to TrashからDeleteに変わります。 Deleteに変わる理由を説明することはできませんが、これは単に問題が.Trash-1001フォルダーにあることを識別するためです。

私の意見では、これをバグとして分類しています。

解決 (ソフト...)

すべてのuid=gid=dmask=fmask=、およびumask=オプションをマウントコマンドから削除し、permissionsを追加します。したがって、行は次のようになります。

nosuid,nodev,nofail,x-gvfs-show,nobootwait,permissions

私は自分のコンピューターでこれを試しましたが、うまくいきました。 NTFSハードディスクを使用すると、両方のユーザーがゴミ箱に移動できます。

デモは次のとおりです。

alaa @ aa-lu:〜$ sudo mount -o rw、permissions/dev/sdc2 /media/he
デフォルトのユーザーマッピングの使用
alaa @ aa-lu:〜$ ls/media/he -la 
 total 104 
 drwxrwxrwx 1ルートルート8192 Sep 24 21:20。
 drwxr-xr-x 6ルートルート4096 Sep 24 21:18。 。
 drwxrwxrwx 1 root root 4096 2012年12月15日ハードディスク上のファイル
 drwxrwxrwx 1 root root 4096 Jul 9 12:18 $ RECYCLE.BIN 
 drwx ------ 1ルートルート0 2012年1月22日システムボリューム情報

次に、ユーザー名alaaを使用して何かを削除し、別のユーザーaaaとしてログインして、何かを削除しました。どちらも削除できますが、NTFSパーティションは次のようになります。

alaa @ aa-lu:〜$ ls/media/he -la 
 total 104 
 drwxrwxrwx 1ルートルート8192 Sep 24 21:20。
 drwxr-xr-x 6ルートルート4096 Sep 24 21:18。 。
 drwxrwxrwx 1 root root 4096 2012年12月15日ハードディスク上のファイル
 drwxrwxrwx 1 root root 4096 Jul 9 12:18 $ RECYCLE.BIN 
 drwx ------ 1ルートルート0 2012年1月22日システムボリューム情報
 drwx ------ 1 alaa alaa 0 Sep 24 21:20 .Trash-1000 
 drwx ------ 1 aaa aaa 0 Sep 24 21:19 .Trash-1002 

どうやってそれを成し遂げているのかわかりませんが、ただそれだけです。

私はこのページを見つけました: 所有権と権限| Tuxera これを説明し、フォーラムの投稿( http://www.tuxera.com/forum/viewtopic.php?f= 2&t = 2754 )いくつかの有用な情報があります。ただし、残念ながらまだ読みませんでしたので、このpermissionsオプションが何をするのかを正確に説明することはできません。

このセクションのタイトルで「Solution(sort of ...)」と言ったのは、グループの所有者ではなく、パーティションの所有者や読み取り/書き込み権限を誰が管理していないからです。しかし、permissionsオプションを使用してマウントすると、「デフォルトのユーザーマッピングの使用」が表示されるため、理解できる限り、permissionsで使用するために作成できる「ユーザーマッピング」というものがあり、そのマッピングには設定したい所有者/権限。また、permissionsuid=および他のすべてのオプションと一緒に使用してマウントしようとしませんでした(投稿したTuxeraリンクで説明する必要があります)。

これらのリンクを読んだときに、答えを更新します。

4
Alaa Ali

これをfstabに追加してみてください:

UUID=<YourPartitionUUID>  <YourMountPoint>  ntfs-3g  defaults,uid=1000,gid=46,utf8,dmask=000,fmask=111  0  0

ntfs-3gがインストールされていない場合は、インストールを試すか、またはntfsのみを使用して試すことができます。)

0
Sadi