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 autofs5
e 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):
Crie o diretório que você exportará, por exemplo, /nfs_shares:
sudo mkdir /nfs_shares
Configure as regras de exportação. No servidor, edite
/etc/exports
e 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).
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
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
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
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
Executá-lo! No servidor, execute
service nfs-kernel-server restart
e 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 SSH
o tipo, preencha os dados e pronto. O compartilhamento será montado em /run/user/james/gvfs/
. Para desmontá-lo, acesse Computer
o Nautilus, clique com o botão direito no compartilhamento e selecione Unmount
.