Permiso denegado al ejecutar un script de Python desde el recurso compartido de samba

Permiso denegado al ejecutar un script de Python desde el recurso compartido de samba

Estoy intentando montar un recurso compartido de samba en un escritorio Ubuntu 12.04 desde un escritorio Fedora 17.

Puedo crear, editar y eliminar archivos sin problemas, pero cuando intento ejecutar scripts de Python en el recurso compartido aparece un error de permiso denegado.

Intenté montar como root y usar sudo con los siguientes comandos:

mount -t cifs //192.168.0.3/homeshare netbook -o user=james

mount -t cifs -o exec //192.168.0.3/homeshare netbook -o user=james

los permisos de archivos tienen un . Después de ellos pero no puedo entender lo que eso significa.

-rw-rw-r--. 1 james james 31804 Aug 14 18:20 cronlog.txt

-rwxrwxr-x. 1 james james   666 Aug 16 17:49 current.py

¿Cómo puedo montar este recurso compartido en Fedora 17 y ejecutar scripts?

Respuesta1

No usaría samba para conectar dos máquinas Linux. Samba está diseñado para permitir que las máquinas Linux/Unix se comuniquen con Windows yviceversa.NFSEs mucho mejor para dos máquinas Linux. Probablemente puedas modificar la configuración de samba para permitirte ejecutar scripts, pero realmente será mejor que utilices un método nativo de Linux. En mi sistema, tengo el mismo directorio exportado usando samba (para Windows en mi red doméstica) y nfs para Linux y OSX.

Para exportar un directorio usando nfs, primero, tanto en el servidor como en el cliente, instale autofs5y nfs-common(autofs se usa para montar/desmontar automáticamente el recurso compartido como se explica a continuación). En el servidor, instale nfs-kernel-server.

Luego (todos estos comandos deben ejecutarse como root):

  1. Cree el directorio que exportará, por ejemplo, /nfs_shares:

    sudo mkdir /nfs_shares
    
  2. Configure las reglas de exportación. En el servidor, edite /etc/exportsy agregue estas líneas:

    /nfs_shares       192.168.0.XX(rw,sync,no_subtree_check)
    

    Donde 192.168.0.XX es la IP del cliente (su escritorio Ubuntu).

  3. Monte (vincule) el directorio que exportará a esta nueva ubicación. Primero agregue esta línea a /etc/fstab:

    /path/to/exported/homeshare /nfs_shares bind bind 0
    

    Luego, móntalo:

    mount /nfs_shares
    
  4. En el cliente, cree el directorio donde montará el recurso compartido (por ejemplo, /mnt/homeshare):

    mkdir /mnt/homeshare
    

    En este punto deberías poder montar manualmente el recurso compartido. Sobre el cliente:

    mount -t nfs 192.168.0.XX:/nfs_shares/ /mnt/homeshare
    
  5. Ahora, automaticemos. En el cliente, cree un archivo llamado /etc/auto.master con estas líneas (cambie SERVERNAME por el nombre que desee):

    +auto.master
    /mnt/homeshare  /etc/auto.SERVERNAME   --timeout 60 --ghost
    
  6. En el cliente, cree un archivo llamado /etc/auto.SERVERNAME (cambie SERVERNAME por el que usó en el paso 4) con estas líneas (puede usar el nombre de la red del servidor o la IP si es estática, cambie las XX por la IP de su servidor). ):

    homeshare  -rw,soft,intr,bg,rsize=8192,wsize=8192 192.168.XX.XX:/nfs_shares/homeshare
    
  7. ¡Ejecutarlo! En el servidor ejecutar service nfs-kernel-server restarty en el cliente ejecutar.service nfs-common restart; service autofs restart

Entonces, esto hace que el recurso compartido se monte automáticamente. Si está inactivo durante un minuto, se desmontará y se volverá a montar tan pronto como intente acceder a él (p. ej ls /mnt/homeshare.). Asegúrese de configurar los permisos de la manera que los necesita (chmod) para los directorios que utiliza.

Respuesta2

Si no te importa demasiado el rendimiento y algunas peculiaridades, también existe la opción de usar SSHFS.

Con Nautilus es muy fácil. Vaya a File, Connect to Server...seleccione SSHcomo tipo, complete los detalles y listo. La acción se montará bajo /run/user/james/gvfs/. Para desmontarlo, vaya Computera Nautilus, haga clic derecho en compartir y seleccione Unmount.

información relacionada