
Estoy intentando que mi máquina Linux utilice la autenticación de directorio activo. Creo que tengo casi todo configurado correctamente. Puedo emitir wbinfo -g
y wbinfo -u
ver todos los grupos y usuarios respectivamente.
Breve introducción a mi configuración:
El nombre de usuario que uso en mi equipo Linux para hacer tareas administrativas es nick
. Mi nombre de usuario del directorio activo es nwalke
. Tienen dos contraseñas diferentes. Puedo iniciar sesión en el cuadro con nick
la contraseña de ese usuario y también puedo iniciar sesión nwalke
con nwalke
la contraseña de.
Lo curioso:
Al crear el directorio de inicio del usuario del directorio activo, ejecuto un script que requiere acceso raíz. Esto es para configurar algunas cosas en todo el sistema, como un recurso compartido de samba para ellos. Cuando inicio sesión como nwalke
, ingreso mi nwalke
contraseña y se realiza correctamente. Luego me saludan con [sudo] password for nick:
. Si ingreso mi nwalke
contraseña aquí, dice Sorry, try again.
. Si ingreso nick
la contraseña, dice Sorry, user nick is not allowed to execute scriptname as root
.
Si hago groups
esto nwalke
, veo que mágicamente a mi usuario se le ha asignado el grupo nick
.
Ahora, accidentalmente pensé que nick
tenía un UID de 100, no 1000. Así que originalmente en mi smb.conf
tenía idmap uid 1000-10000
. Lo único que se me ocurre es que inicié sesión nwalke
mientras aún estaba configurado y ahora se me presenta un UID de 1000, lo que obliga a Linux a pensar que soy nick
.
No estoy muy seguro de hacia dónde ir desde aquí. Como dije, estoy bastante seguro de que el directorio activo se está comunicando correctamente con mi servidor, pero algo no debe estar asignado directamente en el lado de Linux.
¿Alguna idea?
Aquí está mi smb.conf
:
[global]
security = ads
netbios name = hostname
realm = COMPANY.COM
password server = adshost.company.com
workgroup = COMPANY
idmap uid = 10000-90000
idmap gid = 10000-90000
winbind separator = +
winbind enum users = no
winbind enum groups = no
winbind use default domain = yes
template homedir = /home/%D/%U
template shell = /bin/bash
client use spnego = yes
domain master = no
load printers = no
printing = bsd
printcap name = /dev/null
disable spoolss = yes
¿Necesito vincularme de alguna manera a un usuario en Linux?
Respuesta1
Parece que tienes una superposición de UID.
Si nwalke
y comparten el mismo UID numérico , nick
la primera coincidencia de nsswitch ganará para cosas como id
,,, etc. (y la primera coincidencia generalmente está fuera del archivo passwd a menos que haya cambiado el orden en o equivalente).sudo
ls
/etc/nsswitch.conf
(Los inicios de sesión funcionarán con cualquier nombre, porque el inicio de sesión busca al usuario por nombre. Sin embargo, tener dos usuarios con el mismo nombre causará un caos interesante...)
Sus UID/GID locales ( /etc/passwd
, /etc/group
) y remotos (NIS, Samba, LDAP, lo que sea) no deben superponerse. Solucione ese problema central y el resto se resolverá solo.
Respuesta2
Cambié el valor en mi smb.conf a 10,000 y todavía siento que nwalke se está emparejando con 1000. ¿Cómo resuelvo eso?
No recuerdo qué archivo es y actualmente no tengo un sistema para verificarlo.
Cuando un usuario se conecta por primera vez, se le asignará una identificación y luego se almacenará en una de las bases de datos de Samba en /var/lib/samba/
Eche un vistazo a esa carpeta, puede ser obvio qué archivo es. Posiblemente podría intentar detener Samba y simplemente mover/eliminar todos los archivos allí, aunque necesitaría volver a unirse al dominio ya que las credenciales de la cuenta de la máquina también se almacenan en una de esas bases de datos.