title: Chef-(server): What is the difference between client and user
body: <p>I have installed open-source chef-server (11.x). I am a newbie with chef. I can see that there are <code>user</code>s with passwords and pub/priv keys (usually the knife users (@workstations)). There are also <code>client</code>s (chef-validator, nodes...) with pub/priv keys.</p>
  
  <p>When I do <code>knife configuration --initial</code> it uses <code>admin</code> username and priv key to crate new workstation user for example <code>johnnym</code>. So admin user with key is powerful enough to create user,node,client,...etc.</p>
  
  <p>But when I <code>knife bootstrap ${FQDN}</code> it requires a <code>client</code> with admin privileges (chef-validator) to be able to authn/authz to the chef-server and register new node/client.</p>
  
  <p><strong>My question is: Why do we separate client and user if they can accomplish the same tasks?</strong></p>