Como montar o compartilhamento Samba como usuário não root

14

Existe um tutorial passo a passo que ensina em detalhes como desmontar um compartilhamento Samba para ser usado por um usuário não root em um desktop Ubuntu 10.04?

Nota: existem vários tópicos na pesquisa do Google que lidam com esse aparentemente novo problema. As instruções que costumavam funcionar no Ubuntu 8.04 (ou uma versão mais antiga do smbfs) não funcionam mais.

Preciso encontrar algo que seja atualizado e reproduzível.

Android Eve
fonte

Respostas:

13

Uma ferramenta muito boa para montar facilmente seus compartilhamentos de samba na sua pasta pessoal é o SMBNetFS . Com essa ferramenta, você pode acessar seus compartilhamentos de samba em quase todos os aplicativos, simplesmente através de um ponto de montagem em sua casa.

Como usar o SMBnetFS:

  • Instale o pacote através do seu gerenciador de pacotes
  • cp /etc/smbnetfs.conf ~/.smb/smbnetfs.conf copiar configuração padrão
  • cp /etc/samba/smb.conf ~/.smb/smb.conf copiar configuração do samba
  • mkdir ~/sambashare ou qualquer outro nome para o ponto de montagem
  • smbnetfs ~/sambashare montar os compartilhamentos no ponto de montagem

Infelizmente, há apenas pouca documentação disponível. Veja as man smbnetfsopções e acesse o arquivo FAQ em /usr/share/doc/smbnetfs.

Takkat
fonte
+1 para as etapas detalhadas. Espero que isso funcione com o Eclipse, porque com o gvfs o Eclipse definitivamente não funciona. Você sabe como o SMBnetFS é diferente do smbfs?
Android Eve
2
SMBNetFS usa fusível. Verifique se os usuários estão no fusegrupo.
Takkat
+1 de novo! O gfvs não usa o FUSE também? Qual é a diferença do que eu já tenho pré-empacotado (gvfs) com minha área de trabalho GNOME?
Android Eve
8

Ao usar o gnome, você pode simplesmente digitar o smb: // url no Nautilus. Normalmente, o gvfs-fuse e outros pacotes gvfs devem ser instalados, para que você possa montar o samba diretamente com o navegador de arquivos. Além disso, você deve encontrar todas as coisas montadas na sua pasta ~ / .gvfs. Isso ainda funciona com outros protocolos e arquivos compactados, etc.

gvfs-mount smb://user@server/storage

Eu testei com eclipse e outras ferramentas e funciona. O gvfs-fuse deve estar instalado.

matthias.lukaszek
fonte
Obrigado, mas o Eclipse não funcionará com isso. Eu já tentei isso, é por isso que estava perguntando especificamente sobre o smbmount (um link simbólico para mount.cifs, que faz parte do pacote smbfs).
Android Eve
2
Então o eclipse não pode acessar .gvfs no seu diretório doméstico? Tanto quanto eu sei, todo programa deve ser capaz de fazer isso. Corrija-me se eu estiver errado.
Matthias.lukaszek
2

man mountajudará a determinar quais opções você deseja. Se o sistema Windows sempre estiver disponível. Você pode simplesmente adicionar a montagem ao /etc/fstabe ela será montada. Você pode permitir que o usuário monte e desmonte a partição conforme necessário, usando as opções user,noauto. Para permitir que outras pessoas desmontem, mude userparausers .

O Autofs também suporta montagens sob demanda usando samba. O encantamento depende de quais diretórios você deseja montar quando. Eu executei com sucesso em um ambiente de desenvolvimento.

Edição: Se você precisar fazer isso para muitos usuários, sugiro usar autofs para fazer a montagem. Isso não requer alterações no fstab. Obter credenciais para os vários usuários pode ser um problema. Eu uso uma estrutura de diretórios no formulário /net/$HOST/$USERpara minhas montagens. Autofs está configurado para o/net/$HOST parte da montagem e monta automaticamente os diretórios sob ela, conforme necessário.

Abordagens de montagem específicas dependem de suas necessidades. Eu tive casos em que os usuários precisavam do diretório da área de trabalho montado no servidor, embora as montagens típicas sejam baseadas no servidor.

Para grandes organizações com muitos usuários, pode fazer sentido mover os diretórios para um servidor Linux e usar o Samba para compartilhar os arquivos com os usuários do Windows. Eu não tentei o contrário, mas pode ser possível.

BillThor
fonte
Isso funciona, mas você precisa de acesso root para alterar o fstab. Mesmo se for root, observe que é bastante impraticável se você precisar fazer isso para muitos usuários, cada um com um compartilhamento específico para montar (como em uma grande organização em que cada usuário tem um compartilhamento pessoal em um servidor de arquivos centralizado).
0

Encontrei essa pergunta ao pesquisar a mágica que realizei recentemente para fazer exatamente isso para um dos meus usuários. Meu fluxo de trabalho difere notavelmente das outras respostas. Observe, porém, que esse é o caso mais simples possível.

Supondo que seu nome de usuário seja ae e sua casa seja/home/ae

1) Configure smbfs:
mkdir /home/ae/.smb

1a) Se forem necessárias credenciais de login no Windows, crie e edite o arquivo: /home/ae/.smb/smbnetfs.confpara ter conteúdo:

auth winuser "winpassword"

winuseré o usuário criado no computador Windows que você deseja acessar. winpasswordé a senha do usuário para efetuar login no Windows nesse computador.

2) Crie seu ponto de montagem:
mkdir /home/ae/nethood

3) Execute o comando smbnetfs:
smbnetfs /home/ae/nethood


Observe que todo o "bairro da rede" será exibido em /home/ae/nethood com os grupos de trabalho sendo a primeira camada de subdiretórios.

Todas as listagens abaixo foram copiadas da minha navegação pelas pastas como um usuário não privilegiado em um host do ubuntu. Nome de usuário e grupo alterados para ae. sudonunca foi usado. Os computadores Windows estão em rede informal do Windows e as pastas compartilhadas são protegidas por usuário / senha (no computador Windows usando o nome de usuário e a senha do Windows).

$ cd nethood
$ ls -alh
total 12K
drwxrwxrwx 9 ae   ae     0 Dec 31  1969 .
drwxr-xr-x 9 ae   ae    21 Jul 28 11:49 ..
drwxrwxrwx 2 root root   0 Dec 31  1969 WORKGROUP

Navegue pelo grupo de trabalho WORKGROUP:

$ cd WORKGROUP
$ ls -alh
total 0
drwxrwxrwx 2 root root  0 Dec 31  1969 .
drwxrwxrwx 9 root root  0 Dec 31  1969 ..
lrwxrwxrwx 1 root root 11 Dec 31  1969 HTPC -> ../HTPC
lrwxrwxrwx 1 root root 14 Dec 31  1969 NEWPC -> ../NEWPC

Altere o diretório para computadores e todas as pastas compartilhadas serão listadas e acessadas normalmente.

$ cd NEWPC
$ ls -alh
total 0
drwxrwxrwx 2 root root 0 Dec 31  1969 .
drwxrwxrwx 9 root root 0 Dec 31  1969 ..
drwxrwxrwx 2 root root 0 Dec 31  1969 Desktop
drwxrwxrwx 2 root root 0 Dec 31  1969 Users

E os arquivos:

$ cd Desktop/
$ ls -alh
ls: cannot access desktop.ini: No such file or directory
total 30M
drwxrwxrwx 2 root root     0 Dec 31  1969 .
drwxrwxrwx 2 root root     0 Dec 31  1969 ..
-rwxr--r-- 1 ae   ae    1.5K Jan 25  2013 Command Prompt.lnk
-????????? ? ?    ?        ?            ? desktop.ini
-rwxr--r-- 1 ae   ae    156K May 28  2013 Download %25285%2529.iif
-rwxr--r-- 1 ae   ae    2.4K Jul 24 12:28 Google Chrome.lnk
-rwxr--r-- 1 ae   ae     178 Feb  4  2013 import orders.bat
-rwxr--r-- 1 ae   ae    2.3M Mar 30  2012 msvc2008_x86_vcredist_x64.exe
drwxr-xr-x 2 ae   ae       0 May 20  2014 OpenOffice 4.1.0 (en-US) Installation Files
-rwxr--r-- 1 ae   ae    406K Jun  6  2013 Paypal_Jan_1_2012_to_Dec_31_2012.iif
-rwxr--r-- 1 ae   ae     15M May  8  2012 php-5.4.3-Win32-VC9-x86.zip
-rwxr--r-- 1 ae   ae    1.9K Jul 24 13:03 PSPad.lnk
-rwxr--r-- 1 ae   ae    1.1K Jul 24 12:31 VB Demo.lnk

Observe que os diretórios acima têm propriedade root root. A propriedade do arquivo será a mesma do seu usuário.

Nenhum outro usuário poderá acessar as pastas, independentemente do ponto de montagem ou da propriedade ou permissão da pasta. Se seu usuário puder "gravar" nessa pasta (e ela estiver vazia), o smbnetfs montará a vizinhança da rede lá e não permitirá o acesso de mais ninguém root. Para rootter acesso, você deve su ae.


Se não houver pastas compartilhadas, o diretório do computador estará vazio.

Se você não tiver credenciais para o computador com Windows, poderá receber o erro:
ls: cannot open directory .: Input/output error

Chris K
fonte