autentica em compartilhamento de rede (samba) sem ter que montar explicitamente

1

Eu tenho este código no qual tenho que acessar um grande número de diretórios, alguns deles são compartilhamentos de rede, procurando por arquivos específicos.

No windows, eu apenas faço "net use // server / share / usuário: username password" e voilá! Eu posso ir para o diretório como se estivesse na minha máquina local.

Como posso fazer o mesmo no linux? Eu sei que posso montar o compartilhamento em uma pasta específica na minha máquina, mas isso implicaria em gerenciar muitos diretórios e eu realmente gostaria de evitar isso. Assim como quando faço no windows.

Obrigado antecipadamente!

    
por dev.pt 23.01.2014 / 01:15

1 resposta

1

Instalar o smbfs:

sudo apt-get install smbfs

OU, alternativamente, você pode usar o cifs-utils:

sudo apt-get install cifs-utils

Ambos funcionarão, são dois programas diferentes que implementam compartilhamentos do Windows. Eu usei smbfs com sucesso com os seguintes passos, não testei em cifs.

Se você quer apenas uma montagem temporária, para smbfs o comando seria (toda a linha):

mount -t smbfs //server/share /mountdirectory -o username=share_user_name,password=share_password

Substitua smbfs por cifs neste comando se você tiver optado por usar o cifs-utils.

Se você quiser que esses compartilhamentos sejam montados automaticamente na inicialização:

Crie um arquivo de credenciais em algum lugar seguro, nomeie-o como .smbcredentials e forneça o seguinte conteúdo:

username=share_username
password=share_password

Para proteger este arquivo:

sudo chown root .smbcredentials
sudo chmod 600 .smbcredentials

Adicione esta linha a /etc/fstab (todos em uma linha):

//server/share /mountdirectory smbfs credentials=/path/to/.smbcredentials,uid=USERSID,gid=USERSGROUPID 0 0

OU se estiver usando o CIFS (novamente, tudo em uma linha):

//server/share /mnt/mountdirectory cifs iocharset=utf8,credentials=/home/whoever/.smbcredentials,dir_mode=0775,uid=USERID,gid=USERGROUPID 0 0

Aqui USERID é o ID do usuário que você deseja ter propriedade da pasta montada e USERGROUPID é esse id de grupo de usuários. Aqueles podem ser encontrados em / etc / passwd e / etc / group.

Se você adicionou uma dessas linhas ao seu arquivo / etc / fstab, agora pode montar o compartilhamento:

sudo mount -a

Agora você deve ver esses compartilhamentos montados sob a propriedade do usuário e do grupo local que você indicou em USERID e USERGROUP.

    
por Dojo 23.01.2014 / 02:09