web-dev-qa-db-ja.com

特定のユーザーへの読み取り/書き込みアクセスでデバイスをマウント

特定のユーザーの読み取り/書き込みアクセス権を持つデバイスをマウントするにはどうすればよいですか?

正確にそれを行う一般的な方法はありません。ファイルシステムにファイルの所有権の概念がない場合は、ファイルが属するユーザーを決定するためのマウントオプション(uid)がおそらくあります。ファイルシステムにファイルの所有権の概念がある場合は、読み取り/書き込みでマウントすると、ユーザーはアクセス許可のあるすべてのファイルを書き込むことができます。

特定のユーザーだけにファイルシステムへのアクセスを許可し、そのファイルに Fuse ドライバーがある場合は、ユーザーにデバイスへの読み取り/書き込みアクセスを許可し、そのユーザーとしてFuseを介してマウントするようにします。 。

特定のユーザー(または特定のグループ、または [〜#〜] acl [〜#〜] を介したより良い微調整)のみを許可する別の方法は、制限付きの下にマウントポイントを配置することです-アクセスディレクトリ:

mkdir -p /media/restricted/joe/somedisk
chown joe /media/restricted/joe/somedisk
chmod 700 /media/restricted/joe/somedisk
mount /dev/sdz42 /media/restricted/joe/somedisk

ファイルの権限に関係なく、一部のユーザーに読み取り/書き込みアクセスを許可し、他のユーザーに読み取り専用アクセスを許可する場合は、ファイルシステムを読み取り/書き込みを制限付きアクセスディレクトリにマウントし、 bindfs を使用して読み取り-そのファイルシステムの表示のみ。

bindfs -o perms=a-w /media/private/somedisk /media/public-read-only/somedisk

Bindfsビューを一部のユーザーには読み取り/書き込み、他のユーザーには読み取り専用にすることもできます。 bindfsのmanページの-mおよび-Mオプションを参照してください。プライマリマウントポイントは、ルートのみがアクセスできるディレクトリの下に置くことを忘れないでください。

-oオプションを使用して、マウントされたデバイスのumask、所有者、およびグループ所有者を設定できます。

例えば ​​:

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

これは、vfatデバイスを/var/wwwにumask 0022、所有者:ID 33のユーザー、グループ:ID 33のグループでマウントします。

16