¿Cómo configurar permanentemente /proc/fs/cifs/SecurityFlags?

¿Cómo configurar permanentemente /proc/fs/cifs/SecurityFlags?

He editado /proc/fs/cifs/SecurityFlagspara permitir que mis montajes cifs se monten correctamente. (Tuve que usar el valor 0x81).

Para editar SecurityFlagsescribo modprobe cifslo que luego me permite ver el /proc/fs/cifsdirectorio (no puedo verlo antes de escribir este comando).

Después de reiniciar, el valor SecurityFlagsse restableció al valor predeterminado, que es 0x7.

¿Cómo se puede configurar esto de forma permanente para que mantenga el valor 0x81 después del reinicio?

Respuesta1

Se establece como una opción cuando se compila el kernel.

/proc es un sistema de archivos virtual, consultehttp://www.tldp.org/LDP/Linux-Filesystem-Hierarchy/html/proc.html

/proc es muy especial porque también es un sistema de archivos virtual. A veces se lo denomina sistema de pseudoarchivos de información de procesos. No contiene archivos "reales", sino información del sistema en tiempo de ejecución (por ejemplo, memoria del sistema, dispositivos montados, configuración del hardware, etc.). Por este motivo puede considerarse como un centro de control e información del núcleo. De hecho, muchas utilidades del sistema son simplemente llamadas a archivos en este directorio. Por ejemplo, 'lsmod' es lo mismo que 'cat /proc/modules' mientras que 'lspci' es sinónimo de 'cat /proc/pci'. Al alterar los archivos ubicados en este directorio, puede incluso leer/cambiar los parámetros del kernel (sysctl) mientras el sistema se está ejecutando.

Verhttps://www.kernel.org/doc/readme/Documentation-filesystems-cifs-README

SecurityFlags Banderas que controlan la negociación de seguridad y también la firma de paquetes. Los indicadores de autenticación (pueden/deben) (por ejemplo, para NTLM y/o NTLMv2) pueden combinarse con los indicadores de firma. Por otro lado, especificar dos mecanismos de hash de contraseñas diferentes (como "uso obligatorio") no tiene mucho sentido. Los indicadores predeterminados son 0x07007 (se permiten NTLM, NTLMv2 y firma de paquetes). Los indicadores máximos permitidos si desea permitir montajes en servidores que utilizan hashes de contraseña más débiles son 0x37037 (lanman, texto sin formato, ntlm, ntlmv2, firma permitida). Algunos SecurityFlags requieren que se habiliten las opciones de configuración de menú correspondientes (lanman y texto sin formato requieren CONFIG_CIFS_WEAK_PW_HASH, por ejemplo). Actualmente, habilitar la autenticación de texto sin formato también requiere habilitar la autenticación Lanman en los indicadores de seguridad porque el módulo cifs solo admite el envío de contraseñas de texto sin formato utilizando la forma antigua del dialecto Lanman de la configuración de sesión SMB. (por ejemplo, para la autenticación utilizando contraseñas de texto sin formato, configure SecurityFlags en 0x30030):

        may use packet signing              0x00001
        must use packet signing             0x01001
        may use NTLM (most common password hash)    0x00002
        must use NTLM                   0x02002
        may use NTLMv2                  0x00004
        must use NTLMv2                 0x04004
        may use Kerberos security           0x00008
        must use Kerberos               0x08008
        may use lanman (weak) password hash         0x00010
        must use lanman password hash           0x10010
        may use plaintext passwords             0x00020
        must use plaintext passwords            0x20020
        (reserved for future packet encryption)     0x00040

Puedes anular esto con opciones de montaje.

Verhttps://www.samba.org/samba/docs/man/manpages-3/mount.cifs.8.html

seg= Modo de seguridad. Los valores permitidos son:

ninguno intenta conectarse como usuario nulo (sin nombre)

krb5 Utilice la autenticación Kerberos versión 5

krb5i Utilice autenticación Kerberos y firma de paquetes

ntlm Usar hash de contraseña NTLM (predeterminado)

ntlmi Utilice el hash de contraseña NTLM con la firma (si /proc/fs/cifs/PacketSigningEnabled está activado o si el servidor requiere la firma también puede ser el valor predeterminado)

ntlmv2 Utilice hash de contraseña NTLMv2

ntlmv2i Utilice el hash de contraseña NTLMv2 con la firma de paquetes

[NB: este [parámetro segundo] está en desarrollo y se espera que esté disponible en el módulo del kernel cifs 1.40 y posteriores]

Si necesita ayuda, publique sus opciones de montaje o la entrada en fstab y el mensaje de error que recibe cuando intenta montar.

Respuesta2

El cartel original,Pablo Rosas, pudo resolver el problema agregando un comando a rc.locale informó la solución eneste comentarioyese comentario posterior.

La soluciónaparecehaber sido el siguiente:

  1. Abrir /etc/rc.d/rc.localen un editor de texto.

    [Tenga en cuenta que este archivo no siempre espresente o utilizado por defectoen versiones más nuevas de Ubuntu.]

  2. Agregue estas dos líneas al archivo, de modo que cada vez que se inicie Ubuntu, cifsse cargue el módulo (si aún no lo estaba) y el texto 0x81se escriba en `SecurityFlags:

    modprobe cifs
    echo 0x81 > /proc/fs/cifs/SecurityFlags
    
  3. Guarde el archivo y salga del editor de texto.

Digo que "aparece" de esta manera porque la información sobre los espacios en blanco, incluida la nueva línea entre lo que creo que fueron dos comandos separados, no es visible.en el comentario, y porque creo que se usó la ruta completa /proc/fs/cifs/SecurityFlagsen lugar de solo (o que se agregó un comando antes), ya que de lo contrario la solución no habría funcionado.SecurityFlagscd

Respuesta3

Para una solución más permanente, sugerimos crear unudevregla para establecer el valor de SecurityFlags. Esto establecerá el valor cada vez que se cargue el módulo cifs. Usted define sus reglas en /etc/udev/rules.d.

50-cifs-securityflags.reglas:

# Set SecurityFlags to 0x81.
ACTION=="add", SUBSYSTEM=="module", KERNEL=="cifs", RUN+="/bin/sh -c 'echo 0x81 > /proc/fs/cifs/SecurityFlags'"

y luego recargar udev conudevadm control --reload-rules && udevadm trigger

información relacionada