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.conf
para 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
. sudo
nunca 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 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 com Windows, poderá receber o erro:
ls: cannot open directory .: Input/output error