複数のユーザーにWindows NTFSパーティションへのアクセスを許可するにはどうすればよいですか?


8

Ubuntu(11.04)マシンにUSBハードドライブを接続しています。コンピュータを再起動してログインするたびに、ハードドライブがマウントされます。ディスクにはNTFSが含まれているため、Linuxはディスク上のファイルの所有者としてユーザーを割り当てます。したがって、ディスク上のすべてのファイルは1人のユーザーが所有しているように見え、そのユーザーだけがファイルを見ることができます。

私は自分のコンピューターで2つのユーザーアカウントを使用しており、それらを頻繁に切り替えます。他のユーザーアカウントに切り替えると、最初のユーザーアカウントがディスクを所有しているため、ディスクの内容にアクセスできなくなります。/ etc / fstab経由でマウントする以外に何かできることはありますか?

ありがとう。

回答:


14

特定の権限でのマウント

有る。両方のユーザーをグループにまとめます。次に、そのグループを使用してgid=オプションを設定し、必要な権限でディスクをマウントします。mountコマンドのumask=fmask=およびdmask=オプションを使用して権限を制御できます。次に例を示します。

mount -O dmask=007,fmask=117,gid=46,uid=1000 /dev/sdc1 /media/winhdd

これらのオプションは、次の/etc/fstabようにも使用できますUUID=7258CB9858CB598D /media/win ntfs rw,auto,user,exec,nls=utf8,dmask=007,fmask=117,gid=46,uid=1000 0 2

fstabの回避-udevを使用した特定のディスクの自動マウント

ブート時にディスクが常に接続されるとは限らないため、fstabを避けたいと思います。fstab避けたい場合は、udevルールを使用してくださいUdevは、ディスクが接続されているときに自動的にマウントできます(Ubuntuが自動マウントできないようにします)。そのためのルールは次のようになります。

# In /etc/udev/rules.d/70-usb-winhdd-mount.rules

KERNEL=="sd?[0-9]", ATTR{removable}=="1", ATTRS{serial}=="UA04FLGC", ACTION=="add", RUN+="mount -O dmask=007,fmask=117,gid=46,uid=1000 /dev/%k /media/winhdd"

プロパティでディスクを識別する必要があります。私の例では、これをで行いましたATTRS{serial}=="UA04FLGC"別の質問でこれを行う方法を説明しました。ルールファイルの名前と場所もそこに記述されています。

すべてのリムーバブルディスクにそれらのプロパティを与える

特定のディスクだけでなく、すべてのリムーバブルディスクでこれを実行する場合は、シリアル部分を省略して、一意のマウントポイントを割り当ててください(それらをカウントし、シリアルから作成します。udevの%シンボルまたはその他の方法)。また、他の場所で 述べENV{mount_options}="$env{mount_options},dmask=007,fmask=117,gid=46,uid=1000"ように、すべてのリムーバブルディスクを特定の権限/所有権でマウントするためのオプションとなる場合もあります。


あなたがすでに知っているかもしれない有用な情報:

グループを作成してユーザーを追加する

これらは、「winhdd」という名前のグループを作成し、そのグループに「confus」という名前のユーザーを追加するためのシェルコマンドです。

groupadd winhdd
usermod -a -G winhdd confus

グループIDを見つける

と呼ばれるファイルで、システム上のすべてのグループのグループIDを見つけることができます/etc/group。そこにあるエントリはwinhdd:x:4:confus,narur,joe、「confus」、「narur」、「joe」がそのグループに属するユーザー名、「adm」がグループの名前、「4」がグループIDであるように見えます。では/etc/groups、グループへのユーザーの追加が成功したかどうかも確認できます。このコマンドgetent group winhddは、グループに関する情報を含む行を表示します。このidコマンドは、グループID、ユーザーID、および所属するすべてのグループの名前とIDを提供します。

umaskのようなオプションの設定

少なくともディレクトリの実行(=アクセス)を可能dmask=にする適切な値に設定する必要があります。fmask=ファイル権限のオプションです。

dmask=007,fmask=117,gid=46,uid=1000ユーザー番号1000(マスクの1桁目)である所有者とグループ番号46のメンバー(マスクの2桁目)がディスク上のファイルを読み書きできるようにします。他のユーザーには何もする権限がありません(したがって、マスクの3桁目-7)。ここにあるマスク値は

7 – no permissions     6 – execute only    5 – write only
4 – write and execute  3 – read only       2 – read and execute
1 – read and write     0 – read, write and execute

ntfsのfstabエントリは、umask値ではなくdmaskとfmask値で設定する必要があると読みました... dmask 027およびfmask 137-ubuntuforums.org/showthread.php?&t=283131
fossfreedom

そう、ディレクトリには実行権限が必要です。ファイルを実行可能にしたい場合は、umaskで問題ありません。それ以外の場合は、dmaskとfmaskを使用します。
con-f-use
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.