Nombres de usuario no válidos al crear una count LDAP

Estoy tratando de configurar un sistema donde un visitante puede introducir cualquier nombre de usuario en un formulario para crear un nuevo usuario y al final se construye en el directory LDAP y estoy planeando que para ser asignado como una count de UNIX, así (en Ubuntu Linux) haciendo que el sistema busque las counts del sistema en el LDAP. Hacerlo está bien, pero siento que hay que evitar muchos nombres de usuario, uno de los obvios "root" y todos los demás nombres de usuario tomados para daemons, etc.

¿Cómo abordar este problema? ¿Inventa una list de nombres de usuario no permitidos al marcar / etc / passwd? Yo estaba pensando que si, internamente, los nombres de usuario podría ser prependido como 'ldap_' o algo así, evitará cualquier conflicto de nombres, pero eso parece difícil cuando el nombre de input de LDAP es 'joe', pero la count del sistema parecerá 'ldap_joe' . Ni siquiera estoy seguro de cómo se puede lograr.

3 Solutions collect form web for “Nombres de usuario no válidos al crear una count LDAP”

La validation de formulario bien es realmente su defensa de primera línea y no debe pasarse por alto.

Además de eso, probablemente también importaría todos los uids actuales en ldap .. por lo tanto, cualquier persona que intente volver a crearlos generará conflictos de nombres.

Dicho esto, si estuviera en sus zapatos, iría adelante y asignaría un prefijo o generaría los nombres de counts de usuario automáticamente (firstname.lastname, lastname $ i, etc …). No me gusta la idea de que alguien cree cualquier nombre de usuario que quieran .. es sólo una receta para un dolor de cabeza posterior.

Por ejemplo, si alguien crea un usuario "www" que mi gestor de packages (o yo) decidirá posteriormente aplicar a una count de service, vamos a tener un conflicto y potencialmente una implicación de security. ¿Por qué arriesgarlo?

Prefiero ser cauteloso y planificar lo que no he pensado todavía, pero luego ser mordido en el culo en una date posterior.

Dicho esto, realmente todo depende de su situación y requisitos.

La forma más sencilla de hacer la validation de formularios, en otras palabras, tiene que comprobar si alguno de estos nombres de usuario del sistema se ingresa en el formulario. Si el nombre de usuario ingresado está en su "list" de nombres no permitidos (probablemente usando las counts en / etc / passwd como una plantilla), rellene un post de error indicando que la count no se puede crear por razón de foo.

Segundo en la validation del formulario (frontend). Más fácil.

Otras opciones divididas por niveles:

  1. Nivel medio (deployment su propio): cree una list de selección como una matriz y busque nombres erróneos como validation antes de escribir en LDAP. También puede tener una list de selección en un DB si lo desea. Tenerlo en un DB o en un file externaliza la list de selección de código que hace que sea más fácil de cambiar durante la ejecución.
  2. Middle Ruby – No sé qué idioma está utilizando, pero podría crear una validation sin ActiveRecord para validar la cadena antes de escribir en LDAP. Hay otras maneras de hacer esto también. Basta con crear una class de validation que aumente una puntuación cuando una cadena no cumpla con las reglas de validation y compruebe si la puntuación no es cero.
  3. Backend – Pre-crear los usuarios en LDAP y lanzar una exception cuando los nombres de conflicto. Bloquee las counts LDAP con una contraseña caducada. Asegúrese de que la raíz LDAP no se utilice antes de / etc / passwd root (por ejemplo, en PAM se orderaría primero passwd, iirc pnetworkingeterminado).
  • Consejos para proteger un servidor LAMP
  • Postfix deja de recoger correos por la noche
  • montar un disco de raíz en mnt
  • Falta la input de DN en el file de almacenamiento - al inicializar la database para el dominio
  • ¿Cómo comprobar si un server Linux está limpio de rootkits / backdoors / botnets etc?
  • syslog-ng: Cambiar loggings bajo demanda
  • Restringir usuarios a dominios específicos en Postfix
  • ¿Cómo puedo convertir fácilmente entidades HTML especiales de un flujo de input estándar en Linux?
  • Registro de información de authentication en sendmail - Seguimiento
  • Implementación de configuration en sistemas Linux
  • El cliente sólo puede acceder al server que aloja OpenVPN, no a la subnetworking de serveres
  • El linux y los temas del servidor de Windows, como ubuntu, centos, apache, nginx, debian y consejos de red.