userAとuserBという2人のユーザーがいます。 NTFSでフォーマットされたパーティションもあります。これにより、/ etc / fstabでは、パーティション全体はuserAのみにアクセスできます。
/dev/sda3 /home/userA/data ntfs-3g defaults,rw,nouser,uid=userA,umask=077,exec 0 0
。ユーザーBがフォルダ(たとえば/home/userA/data/movies)にアクセスできるようにし、ドライブ全体にアクセスできないようにしたいと思います。どうすればいいですか?
fstabですべてのユーザーを許可すると、/ home / userA /フォルダーにマウントされているかどうかに関係なく、両方のユーザーがドライブ全体にアクセスできます。 userBは簡単にできます
ls /home/userA/data
その人はできなくても
ls /home/userA
fstabを現在設定されているとおりにシンボリックリンクを使用すると、シンボリックリンクはリンクされたフォルダの権限を尊重し、userBはこのシンボリックリンクを使用できません。
また、再インストールオプションを試しましたが、変更できる唯一のものはro / rwオプションだけで、ntfsパーティションのuid、guid、または同様のオプションは変更できません。私は次の戦略(マンマウント)がntfsにも当てはまると思います。
-o remountはマウントパラメータを変更できません。たとえば、sbを除くすべてのext2fs関連パラメータは再マウントして変更できますが、fatfsのgidまたはumaskは変更できません。
答え1
クライアントコンピュータがLinuxを実行しているとします。
Linuxには、同じファイルシステムの全部または一部に対して複数のビューを作成する機能があります。これを使用して、ユーザーにファイルシステムの一部にのみアクセス権を付与できます(追加の権限を確認する必要があります)。
/dev/sda3 /home/userA/data ntfs-3g defaults,rw,nouser,uid=userA,umask=077,exec
/home/userA/data/subdir /home/userB/subdir bind
このコマンドはmount --bind /home/userA/data/subdir /home/userB/subdir
2番目のビューを設定します。
ユーザーBがアクセス権を失うと、/home/userA
ユーザーBはこのビューを介してNTFSパーティションにアクセスできません。ただし、ユーザーBはビューsubdir
を介してディレクトリにアクセスできます/home/userB/subdir
。権限は引き続き適用されます。subdir
権限から userB を除外すると、以下の一部のファイルにアクセスできない場合があります。
権限を調整したい場合(ユーザーBがすべてのファイルにアクセスすることを許可したり、読み取り専用アクセスのみを許可するなど)、次のものを使用できます。ファイルシステムバインディング。バラより特定のサブフォルダ内のすべてのファイルへの読み取り専用アクセスそしてユーザーが他のユーザーのホームディレクトリを読むことを許可する例えば。
答え2
NTFS-3gはアクセス制御リストとACLをサポートします。ここで強調表示されていますNTFS-3gウェブサイト。 ACLと対話するには、コマンドラインツールsetfacl
&を使用できますgetfacl
。
setfacl
これがマウントされた特定の共有に適用される場合は、このコマンドを使用して、userBがこの特定のフォルダにアクセスできるようにすることができます。
$ setfacl -m user:userB:rwx /home/userA/data/movies
ディレクトリという点を考慮すると、単一のファイルアクセスのみを提供した上記のコマンドよりも多くのコマンドを許可する必要があります。