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
で)作成し、プライマリグループとして両方のユーザーアカウントに割り当てましたが、それは役に立ちませんでした。また、fmask
、dmask
、およびuid
オプションなしでマウントしようとしました。
私が理解しているように、彼らは私が変更したい書き込みアクセス権を持っていないからです。
いいえ、このエラーメッセージは、書き込みアクセス権がないことを意味するものではありません。書き込みアクセス権がない場合、ファイルを右クリックして「ゴミ箱に移動」または「削除」することはできません。または、 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
で使用するために作成できる「ユーザーマッピング」というものがあり、そのマッピングには設定したい所有者/権限。また、permissions
をuid=
および他のすべてのオプションと一緒に使用してマウントしようとしませんでした(投稿したTuxeraリンクで説明する必要があります)。
これらのリンクを読んだときに、答えを更新します。
これをfstabに追加してみてください:
UUID=<YourPartitionUUID> <YourMountPoint> ntfs-3g defaults,uid=1000,gid=46,utf8,dmask=000,fmask=111 0 0
(ntfs-3gがインストールされていない場合は、インストールを試すか、またはntfsのみを使用して試すことができます。)