In this paper, we investigate the resource allocation problem for multi-user full-duplex device-to-device (D2D) underlay communication, considering both perfect channel state information (CSI) and statistical CSI scenarios. In perfect CSI scenario, the weighted sum-rate maximization problem under cellular users’ minimum rate constraints is formulated as a mixed integer programming problem. To solve the challenging problem, we decouple it into two subproblems: power allocation and channel assignment. Then we proposed a power allocation algorithm based on Difference of two Convex functions (DC) programming and a channel assignment algorithm based on Kuhn-Munkres algorithm respectively. In statistical CSI scenario, we formulate the resource allocation problem as an outage probability constrained weighted ergodic sum-rate maximization problem. To solve the problem, the closed-form expressions of outage probability and weighted ergodic sum-rate are derived firstly. Then we decouple resource allocation problem into power allocation and channel assignment. An optimization solution that consists of a 2- dimensional global searching and Kuhn-Munkres algorithm is then developed. Simulation results demonstrate that the proposed algorithms can improve the weighted sum-rate of full-duplex D2D communications significantly both in perfect CSI and statistical CSI scenarios and confirm the accuracy of our derived closed-form expressions.