Permissão negada ao executar script python do compartilhamento do samba

Permissão negada ao executar script python do compartilhamento do samba

Estou tentando montar um compartilhamento de samba em um desktop Ubuntu 12.04 a partir de um desktop Fedora 17.

Posso criar, editar e excluir arquivos sem problemas, mas quando tento executar scripts python no compartilhamento, recebo um erro de permissão negada.

Tentei montar como root e usar o sudo com os seguintes 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

as permissões do arquivo têm uma extensão . atrás deles, mas não consigo descobrir o que isso 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

Como posso montar este compartilhamento no Fedora 17 e executar scripts?

Responder1

Eu não usaria o samba para conectar duas máquinas Linux. O Samba foi projetado para permitir que máquinas Linux/Unix se comuniquem com Windows evice-versa.NFSé muito melhor para duas máquinas Linux. Você provavelmente pode ajustar as configurações do samba para permitir a execução de scripts, mas será melhor usar um método nativo do Linux. No meu sistema, tenho o mesmo diretório exportado usando samba (para windows da minha rede doméstica) e nfs para linux e OSXes.

Para exportar um diretório usando nfs, primeiro, no servidor e no cliente, instale autofs5e nfs-common(o autofs é usado para montar/desmontar automaticamente o compartilhamento conforme explicado abaixo). No servidor, instale o nfs-kernel-server.

Então (todos esses comandos devem ser executados como root):

  1. Crie o diretório que você exportará, por exemplo, /nfs_shares:

    sudo mkdir /nfs_shares
    
  2. Configure as regras de exportação. No servidor, edite /etc/exportse adicione estas linhas:

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

    Onde 192.168.0.XX é o IP do cliente (seu Ubuntu Desktop).

  3. Monte (vincule) o diretório que você exportará para este novo local. Primeiro adicione esta linha ao /etc/fstab:

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

    Então monte-o:

    mount /nfs_shares
    
  4. No cliente, crie o diretório onde você irá montar o compartilhamento (ex: /mnt/homeshare):

    mkdir /mnt/homeshare
    

    Neste ponto, você poderá montar manualmente o compartilhamento. No cliente:

    mount -t nfs 192.168.0.XX:/nfs_shares/ /mnt/homeshare
    
  5. Agora, vamos automatizar. No cliente, crie um arquivo chamado /etc/auto.master com estas linhas (altere SERVERNAME para o nome que você deseja chamá-lo):

    +auto.master
    /mnt/homeshare  /etc/auto.SERVERNAME   --timeout 60 --ghost
    
  6. No cliente, crie um arquivo chamado /etc/auto.SERVERNAME (altere SERVERNAME para o que você usou na etapa 4) com estas linhas (você pode usar o nome da rede do servidor ou IP se for estático, altere os XXs para qualquer que seja o IP do seu servidor ):

    homeshare  -rw,soft,intr,bg,rsize=8192,wsize=8192 192.168.XX.XX:/nfs_shares/homeshare
    
  7. Executá-lo! No servidor, execute service nfs-kernel-server restarte no cliente, executeservice nfs-common restart; service autofs restart

Então, isso faz com que o compartilhamento seja montado automaticamente. Se ficar inativo por um minuto, será desmontado e remontado assim que você tentar acessá-lo (por exemplo, ls /mnt/homeshare). Certifique-se de definir as permissões da maneira que você precisa (chmod) para os diretórios que você usa.

Responder2

Se você não se importa muito com desempenho e algumas peculiaridades, também existe a opção de usar o SSHFS.

Com o Nautilus é muito fácil. Vá em File, Connect to Server..., selecione SSHo tipo, preencha os dados e pronto. O compartilhamento será montado em /run/user/james/gvfs/. Para desmontá-lo, acesse Computero Nautilus, clique com o botão direito no compartilhamento e selecione Unmount.

informação relacionada