Não é possível montar o Windows 7 Share do Linux usando o CIFS: Erro de montagem (13): Permissão negada

4

Temos uma entrada de compartilhamento do Windows XP em nosso FSTAB que funciona da seguinte maneira:

//MAIN/StorageD /mnt/storaged cifs username=admin,password='',uid=1001,gid=1000,iocharset=utf8,file_mode=0777,dir_mode=0777,noperm 0    0

Mas a entrada para uma caixa do Windows 7 não:

//MAIN-WIN7/Win7VM /mnt/Win7VM cifs username=main,password='',uid=1001,gid=1000,iocharset=utf8,file_mode=0777,dir_mode=0777,noperm 0    0

O diretório / mnt / Win7VM é definido como 777 permissões e de propriedade do usuário 1001

Então, tentamos depurar um pouco e montá-lo manualmente ...

Assim como um cheque, o seguinte funciona:

mount -t cifs '//MAIN/backupx' /mnt/backupx -o username=Admin,password=''

Mas para a máquina windows 7, isso não funciona.

mount -t cifs '//MAIN-WIN7/Win7VM' /mnt/Win7VM -o username=Main,password=''

Quando recebo o erro (que é famoso, eu acho):

root@debian:/home/user# mount -t cifs //MAIN-WIN7/Win7VM /mnt/Win7VM -o     username=Main,password='',sec=ntlm
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

Então, passo horas pesquisando, verificando e tentando fazer o seguinte:

Configurações verificadas:

  • O grupo de trabalho é "GRUPO DE TRABALHO"
  • O domínio é "MAIN-WIN7"
  • O usuário é "Principal"
  • A senha não está definida
  • Compartilhar é o Win7VM
  • O compartilhamento está disponível por meio de compartilhamentos de rede nas janelas

Lista de SMBTREE:

root@debian:/home/user# smbtree
Enter root's password: 
WORKGROUP
\MAIN-WIN7             
    \MAIN-WIN7\Win7VM    
  • Alterou as configurações da política de segurança do Windows de "Microsoft Network Client: Enviar senhas não criptografadas para terceiros" para "Ativadas"
  • Política de segurança alterada do Windows de "Segurança de rede: nível de autenticação do gerenciador de LAN para enviar LM e NTLM - use segurança da sessão NTLMv2 se negociado"
  • Desativou todos os antivírus e firewalls
  • Adicionando a opção "sec = ntlm" como em "/ mnt / Win7VM -o nome_do_usuário = Principal, senha = '', sec = ntlm"
  • Adicionando domínio ao usuário como em "MAIN-WIN7 / Main"
  • Usando "mount.cifs" em vez de "mount -t cifs"
  • CHMOD mount directory para o diretório 777 CHOWN mount para o usuário "1001" e Group para "user" (precisará disso para a entrada fstab se eu conseguir montá-lo manualmente)

A partilha está no Windows 7 Ultimate e o cliente com erros de permissão é o Debian Wheezy.

Agora estou sem termos e ideias de pesquisa. Eu pensei que isso seria simples; agora eu perdi horas. Alguém tem alguma ideia? É provavelmente algo simples, certo?

Editar:

Esqueceu a verificação falsa de tentar acessar o compartilhamento de um computador com Windows. Não funcionou, o que me levou a investigar mais configurações do Windows, o que me levou à solução postada abaixo.

    
por Damon 13.11.2013 / 01:30

2 respostas

2

Isso pode ser estranho, mas como eu usei a resposta anterior, parecia que não resolveu todos os problemas. Mas eu encontrei uma combinação de soluções que pareciam realmente resolver o problema e como esse problema parece tão prevalente, pareceu prudente postar minha correção.

Primeiro, anote alguns itens no Windows e altere algumas configurações. Anote o nome de usuário, a senha e o grupo de trabalho (domínio). Eu deixei meu "grupo doméstico" também.

Altere também uma entrada de registro para evitar erros de alocação de memória com compartilhamentos e transferências maiores (< 1GB causaram problemas para mim). Alterar HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\Size para "3"

Um link para informações adicionais sobre essa configuração de registro é aqui .

Agora reinicie o LanmanServer para aplicar as configurações do registro. Abra o prompt do CMD com direitos de administrador e digite:

sc stop LanmanServer
sc start LanmanServer

Essa solução veio de aqui

Agora esperamos que o Windows esteja pronto.

Próximo ao lado do linux. A grande mudança que funcionou foi colocar as informações do usuário e do servidor do compartilhamento em um arquivo de credenciais em vez do comando de montagem. Esta foi a última peça mágica que eu pensei que não faria nada e começou a funcionar imediatamente após a mudança (embora com problemas de memória que resolvemos acima). Faça isso criando um arquivo com:

user="UserName"
password="Password"
domain="WindowsWorkgroup"

Em seguida, adicione um parâmetro "cred" à entrada fstab. Eu também adicionei um parâmetro rw. E apenas no caso, eu mudei o uid e gid para o meu usuário logado na caixa linux. 1001 pode funcionar, eu simplesmente não tentei.

Então, minha entrada final no fstab ficou assim.

//DESIGNPC/BackupX /mnt/backupx cifs rw,uid=user,gid=user,file_mode=0777,dir_mode=0777,cred=/home/user/.cred,sec=ntlm 0 0

Detalhes de algumas dessas informações vieram de aqui

A transferência de arquivos em ambas as direções funcionou perfeitamente, além de ler e excluir onde minha resposta ainda tinha alguns problemas de permissão para escrever e excluir que eu estava trabalhando e não havia retornado a essa pergunta. Isso também soluciona os problemas de alocação de memória que parecem estar do lado do Linux, mas exigiu que a alteração no registro do Windows seja corrigida.

    
por 15.01.2015 / 08:20
3

Deixe que o Windows seja o problema, NÃO o Linux.

A solução era alterar o compartilhamento E as configurações de segurança do compartilhamento para incluir as permissões necessárias.

Encontrou um vídeo aqui no you tube que era a peça final do quebra-cabeça.

Essencialmente, você concede permissões de compartilhamento e segurança para "TODOS" na unidade que deseja compartilhar (isso provavelmente vale para uma pasta também, mas não é isso que eu estava tentando compartilhar).

Para o primeiro, vá para a unidade e acesse Propriedades > Compartilhamento > Compartilhamento avançado > Permissão e, no grupo "TODOS" / usuário, atribua todas as permissões. Se todos não estiverem listados, adicione-os à lista.

Na segunda, vá para Propriedades > Segurança > Editar > Adicione e adicione "TODOS". Em seguida, atribua toda a permissão que você deseja "TODOS".

Como nota, também identifiquei a rede como "privada" por meio do Painel de controle > Ferramentas administrativas > Política de segurança local > Políticas da lista de administradores de rede > em seguida, selecionou a rede aplicável e alterou o local para "Particular". Não tenho certeza se isso afetou alguma coisa no final.

Tenho certeza que as configurações padrão são todas por uma boa causa e dando permissões de controle total a "todos" abriu algum buraco que fará com que meu computador e rede explodam pela interpretação de algumas pessoas do evento futuro, mas ei o problema.

    
por 13.11.2013 / 01:50