On CDC console, changes like user profile override done at the machine level do not take effect on the Centrify unix server even after running the /usr/sbin/adflush command.
The following steps can explain this issue better.
1) A user was added to the parent zone called "Global" and it was allowed to trickle to child zone called "support"
2) A unix machine called raylinux was joined to the child zone.
3) A user was manually added at the "raylinux machine level" and the shell was changed from /bin/bash to say /bin/ksh.
4) At the child zone for the unix machine raylinux, verified from "Show Effective Users", the user showed up in the list with the updated shell.
5) On raylinux, the command /usr/sbin/adreload, /usr/sbin/adflush was run
6) adquery user -A "username" still showed the old /bin/bash shell prior to step 3 and not /bin/ksh
7) Restarting Centrify fixes the issue.
The reason is that when “adclient” starts, it loads the zone hierarchy. So if the machine zone is not there then it is not loaded and therefore adclient NEVER looks for any machine level changes.
It is too expensive to reload the stack everytime - and it also means all the cache has to be discarded.