For Petri net models whose legal reachability spaces are non-convex, one cannot optimally control them by the conjunctions of linear constraints. This work proposes a method to find a set of linear constraints such that each constraint can forbid all first-met bad markings and every legal marking satisfies at least one constraint. Then, the disjunctions of the obtained constraints can make all legal markings reachable and forbid all first-met bad markings, i.e., the controlled net is live and maximally permissive. The work also develops an integer linear programming model to minimize the number of the constraints. Finally, an example is provided to illustrate the proposed method.