Crear parte de Samba temporal


9

¿Existe la posibilidad de compartir temporalmente un directorio por Samba ?

Con Python 3 puedo servir el directorio actual por HTTP usando:

python -m http.server.

Me gustaría hacer lo mismo con Samba .


¿Es el net share addcomando lo que estás buscando?
derobert

O posiblemente net usershare...
derobert

Respuestas:


1

No parece haber una manera de crear un exportfsrecurso compartido ad-hoc similar a como lo hace para NFS en Linux y lo sharehace en Solaris. Las razones pueden variar, pero técnicamente podría hacer algo como se describe en la página para Ejecutar múltiples servidores en la misma máquina y con la costumbre de smb.conflograr lo que necesita hacer.

También hay una opción para crear y eliminar recursos compartidos dinámicamente usando SWAT , lo que requerirá cambios en smb.conf para permitir que esto suceda, vea las secciones add share commandydelete share command

Personalmente, si desea tener un recurso compartido dinámico, es posible que desee compartir su directorio de inicio y usar recursos compartidos de inicio dinámicos a través de samba, discutido en muchos lugares, incluidos los foros de Ubuntu y la lista de correo de Samba .


1

Dependiendo de la antigüedad de su samba daemon y de las opciones de configuración utilizadas cuando se creó, aún puede tener la opción de definir un recurso compartido "dinámico" en su smb.conf, señalando say / var / dynamic /, ver más abajo, y luego simplemente agregando un enlace simbólico a los directorios que desea compartir temporalmente en el directorio.

Este truco requiere que la opción de enlaces anchos se establezca en , para permitir que samba siga los enlaces fuera de la raíz del recurso compartido. Lamentablemente, hace un par de años, la tripulación de Samba modificó su configuración predeterminada para evitar que se compartan grandes cantidades, ya que podría explotarse. Google para: Samba y "enlaces anchos" para la historia y soluciones.

[dynamic]
    comment = Somewhere to park dynamic shares 
    path = /var/dynamic
    read only = Yes
    inherit acls = Yes
    follow symlinks = yes
    wide links = yes

Una prueba rápida debería ver si eres bueno, por ejemplo

mkdir -p /var/dynamic/test
cd /var/dynamic
ln -s test a_link
ln -s /tmp/  tmp_test

0

Digamos que desea compartir rápidamente / somefolder a someuser temporalmente solo lectura.

Agregar un usuario del sistema:

useradd -r someuser

A menudo, de manera predeterminada, la carpeta es legible (consulte con ls -ld / somefolder), si necesita forzarla:

chmod -R o+r /somefolder

Agregue el usuario a samba con alguna contraseña como:

smbpasswd -a someuser

Edite rápidamente smb.conf y agregue en la parte inferior

[someshare]
path = /somefolder
read list = someuser

salir, guardar y finalmente correr

smbcontrol smbd reload-config

et voila.

Obviamente, es posible que desee eliminar la sección "someshare" una vez hecho y volver a ejecutar el comando reload-config.

Descargo de responsabilidad: no probé completamente esto, pero me sorprendió lo simple que podría ser la respuesta a la pregunta. Posiblemente puede omitir algunos pasos y sumergirse directamente en la edición de smb.conf si ya tiene algún usuario con acceso a samba existente, exactamente lo que acabo de encontrar.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.