Me gustaría montar un sistema de archivos de red CIFS con samba en mi sistema Arch Linux. Me gustaría montar este sistema de archivos cada vez que inicie sesión (ya sea a través de ssh, un TTY o mediante KDM).
Puedo acercarme bastante a lo que quiero al agregar el recurso compartido de red /etc/fstab
. El mayor "problema" es que esto requiere codificar mi contraseña /etc/fstab
o crear un archivo de credenciales con mi nombre de usuario y contraseña. Me parece inseguro mantener mi nombre de usuario y contraseña en un archivo de texto sin formato, incluso si configuro los permisos en 600.
¿Existe una forma "adecuada" de montar de forma segura un recurso compartido de red? ¿Puedo hacer esto con PAM (mi nombre de usuario y contraseña son los mismos en ambas máquinas) y si es así, ¿cómo?
Respuestas:
Método 1 -
/etc/fstab
Me doy cuenta de que está buscando alternativas a esto, pero aquí le mostramos específicamente cómo sacar sus credenciales del
/etc/fstab
archivo:Luego en el archivo
/etc/cifsauth
:Haga los permisos de este archivo
600
, es decirchmod 600 /etc/cifsauth
.Método # 2 - pam_mount
Puede instalar pam_mount y luego configurar un montaje genérico para todos los usuarios que inician sesión como este:
Este método todavía tiene el mismo problema que el método # 1, donde se almacenan las credenciales en un archivo,
/home/%(USER)/.Music.cred
. Este es el mismo tipo de archivo de credenciales que en el primer método, así que asegúrese de que los permisos también sean 600.Método # 3 - use gvfs-mount
Este U&L Q&A titulado: ¿Puedo automatizar el montaje de un recurso compartido cifs sin almacenar mi contraseña en texto sin formato? contiene una respuesta de @Gilles que describe el uso del llavero GNOME para retener sus credenciales CIFS.
Luego puede acceder a los recursos compartidos CIFS utilizando GVFS - Sistema de archivos virtuales de GNOME - de esta manera:
Esto asignará el recurso compartido del nombre de host llamado nombre de recurso compartido y lo montará debajo
$HOME/.vfs/sharename on hostname
. No puedes controlar esto de ninguna manera. Está codificado para estar siempre montado aquí, ¡he mirado!Sin embargo, puede crear enlaces a estos montajes, que es lo que hago para poder acceder a los recursos compartidos que he montado. El uso de
.gvfs
fue desafortunado porque algunas herramientas no enumeran los directorios de puntos en la exploración de archivos, por lo que a menudo el enlace que he creado es la única forma de acceder a estos recursos compartidos.fuente
.cifsauth
para eliminar elusername=
, o queusername=
simplemente no es necesario todo junto?Resulta que ese
pam_mount
es el camino a seguir. Agrega el recurso compartido de red a/etc/security/pam_mount.conf.xml
Debe ser teóricamente posible utilizar los
%(USER)
,%(USERUID)
y%(USERGID)
las variables para que sea un montaje en general, pero no pude conseguir que la parte de trabajo en Arch Linux. También necesita configurar su sistema para usarpam_mount
. Debe modificar ambos/etc/pam.d/system-auth
y su administrador de inicio de sesión correspondiente. Para KDM lo es/etc/pam.d/kde
. Básicamente, las modificaciones implican agregaroptional pam_mount.so
a cada sección de ambos archivos, pero los detalles exactos son complicados ya que el orden es importante. Seguí el Arch Wiki .Con esta configuración y el mismo nombre de usuario / contraseña en el servidor y en mi máquina, puedo montar automáticamente sin guardar un archivo de credenciales en ninguna parte.
fuente
pam
y el resto, personalmente, y he notado que tienden a introducirse aún más en la configuración del sistema, pero esto definitivamente responde a la pregunta. ¿Puedo preguntar por qué te opones tanto al almacenamiento de credenciales? Los permisos de usuario y / o la propiedad / cifrado de archivos deberían ser más que suficientes allí. En algunos sistemas, incluso puede almacenar dicha información en vars de firmware que solo son accesibles después de la autenticación.ssh
almacena credenciales basadas en permisos fs, por ejemplo, ¿no?