You can control access to individual DBF tables (and to fields within those tables) by carefully defining groups of users according to

Which tables each group can access

Which privilege levels (read, update, extend, delete) each group has at the table-level

Which fields within tables each group can access

Which privilege levels (none, read-only, full) each group has at the field-level