Linux-特定のユーザー権限でデバイスをマウントする


86

起動時に特定のユーザー権限でデバイスをマウントするにはどうすればよいですか?私はまだそれを理解するのにいくつかの問題があります。私はとの格差をマウントしたいuid=1000gid=1000/etc/fstab/ファイルへの現在のエントリは次のようになります。

dev /var/www vboxsf rw, suid, dev, exec, auto, nouser, async, uid=1000

gui = 1000を忘れないでください。また、/ var / wwwの所有権/権利は何ですか。ルートが所有する必要があります。
skub

1
@skub:の所有者/var/www/はrootです。dev /var/www vboxsf rw, suid, dev, exec, auto, nouser, async, uid=1000 gui=1000うまくいきませんでした(再起動に失敗した後、Ubuntuはエントリを削除しました)。
wowpatrick

2
マウントソースは「dev」ですか??
ジェームズTスネル

@wowpatrick-マウントデバイスは/ dev / sda1のようなものでなければならず、「dev」であってはなりません。
skub

1
@skub:VirtualBoxの共有フォルダーなので、/ devが正しいです。私は今までにそれを理解し、sudo mount -t vboxsf -o umask=0022,gid=33,uid=33 dev /var/wwwうまく動作します。
wowpatrick

回答:


119

特定の権限でデバイスをマウントするには、デバイスのマウント-o Option中にディレクティブを使用できます。説明したデバイスをマウントするには、次を実行します。

 mount -t deviceFileFormat -o umask=filePermissions,gid=ownerGroupID,uid=ownerID /device /mountpoint

たとえば、VirtualBox共有フォルダーを所有者として/var/wwwwithにマウントするとwww-data、次のようになります。

mount -t vboxsf -o umask=0022,gid=33,uid=33 dev /var/www

起動時にデバイスをマウントする場合は、/etc/fstabファイルに次のエントリを追加できます。

 /device /mountpoint deviceFileFormat umask=filePermissions,gid=ownerGroupID,uid=ownerUserID

繰り返し/etc/fstabますが、同じ例では、ファイルへのエントリは次のようになります。

dev /var/www vboxsf umask=0022,gid=33,uid=33

特定のユーザーとしてのマウントをサポートしていないファイルシステム(ext4など)の場合、上記のエラーが発生します

Unrecognized mount option "uid=33" or missing value

ext4マウントの所有者を変更するには、単に実行します

chown username /mountpoint

マウントされた後。


ext4でuid / gidオプションを使用できました。
CMCDragonkai

これはmount --bindでは動作しないようです。btrfsファイルシステムを使用しています
-meffect

所有者だけに読み取りまたは書き込みを許可するumask=0077代わりに、umaskを使用するべきではありませんumask=0022か?umask=0022私がそれを正しく読んでいる場合、他の人に読み取り許可を与えるようです。ディスクをマウントするユーザーのみに読み取りまたは書き込み権限が必要です。
ミアンアスバットアフマド

3

ext3やext4のようなファイルシステムの場合、実行後

    chown -R username:group /mountpoint

現在存在するファイルの所有者を変更するには、特定のグループで新しいファイルを作成するようにグループIDビットを設定できます(LinuxではユーザーIDに対して機能しません)。

    find /mountpoint -type d -exec chmod g+ws {} \;

setuidおよびsetgidに関するWikipediaのエントリは非常に有益です。ディレクトリに関するセクションを参照してください。


18
デバイス上のすべてのファイルの所有権を変更すると、非常に侵襲的です。-oマウントのオプションがあるので、より良い方法です。
限定A罪

6
-o@wowpatrickの回答で説明されているように、残念ながらext4では機能しません。
js。

14
chownマウントされたドライブの内容を他のユーザーに渡すのはばかげています。そのドライブのアプリケーションで何が壊れるかわからない。すべてのコンテンツがユーザーのものであれば大丈夫かもしれませんが、これは非常に大きなものです。
carlspring

問題のデバイスは/ dev / wwwで、どのアプリケーションがそれにアクセスするかを制御するのは簡単です(おそらく、操作中にオフにできるWWWサーバーのみ)。それを使用するアプリがまだ実行中であっても、それが操作のポイントであるため、実行を続けます。
js。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.