Como monte o compartilhamento do Samba como usuário não raiz?

14

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

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

Eu preciso encontrar algo atualizado e reproduzível.

    
por Android Eve 01.02.2011 / 19:33

4 respostas

13

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

Como usar o SMBnetFS:

  • Instale o pacote por meio do 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 monta os compartilhamentos no ponto de montagem

Infelizmente, há pouca documentação disponível. Veja man smbnetfs para opções e vá até o arquivo FAQ em /usr/share/doc/smbnetfs .

    
por Takkat 01.02.2011 / 23:39
6

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 funciona mesmo com outros protocolos e arquivos compactados, etc.

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

Eu testei com eclipse e outras ferramentas e funciona. O gvfs-fusível deve ser instalado.

    
por matthias.lukaszek 01.02.2011 / 23:27
2

man mount ajudará você a determinar as opções desejadas. Se o sistema do Windows estiver sempre disponível. Você pode simplesmente adicionar a montagem ao /etc/fstab e 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 o desmontem, altere user para users .

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

EDIT: Se você precisar fazer isso para muitos usuários, sugiro usar o 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/$USER para minhas montagens. O Autofs é configurado para a parte /net/$HOST da montagem e monta automaticamente os diretórios sob ele, conforme necessário.

As abordagens de montagem específicas dependem das suas necessidades. Eu tive casos em que os usuários precisavam de seu diretório Desktop montado no servidor, embora montagens típicas sejam baseadas em servidor.

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

    
por BillThor 02.02.2011 / 04:23
0

Eu encontrei essa pergunta enquanto pesquisava a mágica que fiz recentemente para fazer exatamente isso para um dos meus usuários. Meu fluxo de trabalho difere notavelmente para as outras respostas. Note, no entanto, que este é o caso mais simples possível.

Assumindo que seu nome de usuário é ae e sua casa é /home/ae

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

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

auth winuser "winpassword"

winuser é o usuário criado no computador Windows que você deseja acessar. winpassword é a senha desse usuário para fazer 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 toda a "vizinhança de rede" será exibida 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 de pastas como um usuário não privilegiado em um host ubuntu. Nome de usuário e grupo alterados para ae . sudo nunca foi usado. Os computadores Windows estão na 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

Procure o 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 os 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 das permissões dessa pasta. Se o usuário puder "gravar" nessa pasta (e ela estiver vazia), o smbnetfs montará a vizinhança da rede lá e não permitirá que mais ninguém tenha acesso, mesmo root . Para root ter 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 Windows, poderá receber o erro:% ls: cannot open directory .: Input/output error

    
por Chris K 29.07.2015 / 00:16