起動時に特定のユーザー権限を持つデバイスをマウントする方法私はまだそれを把握するためにいくつかの問題を抱えています。 uid=1000
とgid=1000
を使って分割を実装したいと思います。 /etc/fstab/
ファイルへの私の現在のエントリは次のようになります。
dev /var/www vboxsf rw, suid, dev, exec, auto, nouser, async, uid=1000
特定の権限でデバイスをマウントするには、デバイスのマウント中に-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
それがマウントされた後。
Ext3やext4のようなファイルシステムの場合は、
chown -R username:group /mountpoint
現在存在しているファイルの所有者を変更するには、特定のグループで新しいファイルを作成するようにグループIDビットを設定します(LinuxではユーザーIDに対しては機能しません)。
find /mountpoint -type d -exec chmod g+ws {} \;
Setuidとsetgidに関するWikipediaのエントリは非常に有益です。ディレクトリに関する セクション を参照してください。