There is no general law or requirement whatsoever that a company post positions before hiring, promoting, etc. or otherwise filling them. So whether it is "right" in a moral sense, it would appear to be legal UNLESS there is some contract (such as a union contract) or set of rules which this organization has or is subjected to (something similar to the civil service rules that apply to many state positions) which require that openings by posted. If there is a contractual obligation to post, or rules which are binding on this organization, then what you describe may be improper; however, in the absence of such, an employer is under no obligation to post jobs or promotions before filling them.