4. $a, b, c$ are not all 0, satisfying $a+b+c=0$, $a^{3}+b^{3}+c^{3}=0$, the positive integer $n$ that makes $a^{n}+b^{n}+c^{n}=0$ always true is called a "good number". Then the number of good numbers among the positive integers not exceeding 2007 is ( ).
(A) 2
(B) 1004
(C) 2006
(D) 2007
4.B.
$$
\begin{array}{l}
\text { Given } a^{3}+b^{3}+c^{3}-3 a b c \\
=(a+b+c)\left(a^{2}+b^{2}+c^{2}-a b-b c-c a\right) \\
=0,
\end{array}
$$

we know that $0=a^{3}+b^{3}+c^{3}=3 a b c$.
Thus, at least one of $a b c$ is 0.
From the condition, we know that only one of $a b c$ is 0, and the other two are opposite numbers.

Assume $a=0, b=-c$. Therefore, when $n$ is a positive odd number, $a^{n}+b^{n}+c^{n}=0$, and vice versa. Hence, among the positive integers not exceeding 2007, there are 1004 good numbers.