Hola! ¿Cómo podemos hacer para crearnos un usuario en XenServer que nos sirva para conectarnos a la XAPI por HTTP/RPC?
Pues esto es lo que veremos paso a paso en este Post gracias a mi colega OPP.
Nos conectamos al Host Master y ejecutamos:
#Añadimos PAM como external Auth
xe pool-enable-external-auth auth-type=PAM service-name=pam
#Creamos un usuario, por ejemplo xenapiuser
useradd -s /sbin/nologin xenapiuser
#Le ponemos un password
echo "xenapiuser:xpassword" | chpasswd
#Añade un "sujeto" (mola llamarle sujeto...)
xe subject-add subject-name=xenapiuser
#Este comando nos devolvera un uuid, por ejemplo 9fec6479-5114-d69e-c384-e2d00f4c638d
#Le asignamos el rol que queramos, por ejemplo read-only
xe subject-role-add role-name=read-only uuid=9fec6479-5114-d69e-c384-e2d00f4c638d
#Vemos que está OK
xe subject-list
uuid ( RO) : 9fec6479-5114-d69e-c384-e2d00f4c638d
subject-identifier ( RO): u501
other-config (MRO): subject-name: xenapiuser; subject-uid: u501; subject-gid: g501; subject-gecos: ; subject-displayname: xenapiuser; subject-is-group: false; subject-account-disabled: false; subject-account-expired: false; subject-account-locked: false; subject-password-expired: false
roles (SRO): read-only
En el resto de "Slaves" solo hemos de ejecutar:
useradd -s /sbin/nologin xenapiuser
echo "xenapiuser:xpassword" | chpasswd
Y con esto ya tendríamos un usuario con que poder atacar la XAPI, sin permisos para hacerle nada ;)
Saludos