web-dev-qa-db-ja.com

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

起動時に特定のユーザー権限を持つデバイスをマウントする方法私はまだそれを把握するためにいくつかの問題を抱えています。 uid=1000gid=1000を使って分割を実装したいと思います。 /etc/fstab/ファイルへの私の現在のエントリは次のようになります。

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

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

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

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

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

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

 /device /mountpoint deviceFileFormat umask=filePermissons,gid=ownerGroupID,uid=ownerID

繰り返しますが、同じ例で/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

それがマウントされた後。

109
wowpatrick

Ext3やext4のようなファイルシステムの場合は、

    chown -R username:group /mountpoint

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

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

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

1
js.