Portanto, devo começar dizendo que fiz isso com sucesso há menos de uma semana e que não tive problemas, mas desde então reformatei e reconfigurei meu servidor e agora estou tendo mais dificuldade em lembrar como o fiz.
Aqui está o que eu tinha antes e o que estou tentando realizar novamente. Eu tinha um compartilhamento público de samba no servidor Ubuntu. Qualquer pessoa na minha rede pode acessar o compartilhamento e seu conteúdo simplesmente digitando \ Hostname. Nenhuma senha necessária. Os usuários que não estavam no grupo de trabalho do compartilhamento tinham acesso de leitura, mas os usuários que estavam no grupo de trabalho tinham acesso de leitura / gravação. (Windows 7)
Agora, se eu tentar me conectar a \ Hostname, será solicitado um nome de usuário e senha. Se eu entrar na un pw, tenho acesso total, mas não preciso; minhas configurações atuais são ...
security = user
map to guest = bad user
[Shares]
path = /home/shares
available = yes
read only = no
browsable = yes
public = yes
writable = yes
guest ok = yes
Estou puxando meu cabelo por cima desse. Alguma sugestão?
EDITAR:
Ugh, isso está me dando um tempo tão difícil. Estou tão perto.
Aqui está o que eu tenho.
Posso acessar o compartilhamento no Windows 7, iniciando e digitando \ Hostname \ Sharename, mas é solicitado um nome de usuário e senha. Não posso deixá-lo em branco porque ele usará meu grupo de trabalho como domínio; então, digite \ para o nome de usuário para limpá-lo e efetue login com um nome de usuário e uma senha em branco. Ótimo agora posso acessar os arquivos no compartilhamento.
Uma vez dentro, a configuração do grupo de trabalho está funcionando corretamente. Se eu estiver em um computador com o GRUPO DE TRABALHO padrão, posso ler e executar; um computador no meu grupo de trabalho em casa pode ler a gravação e a execução. Então está funcionando.
O problema é que ele não deveria estar solicitando uma senha. Deve ser totalmente público para qualquer pessoa na rede. Estou tentando compartilhá-lo com o XBMC e ele nem aparece sob smb no gerenciador de arquivos. Também não consigo acessá-lo manualmente a partir do XBMC. Eu recebo um erro de conexão recusada.
Ainda puxando o cabelo por causa disso. A pior parte é a primeira vez que fiz isso cerca de uma semana atrás, gastei cerca de 30 minutos e funcionou perfeitamente. Agora provavelmente passei pelo menos 4 horas e ainda não está funcionando.
Testparm:
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[printers]"
Processing section "[print$]"
Processing section "[Shares]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
[global]
workgroup = FELLOWSHIP
server string = %h server (Samba, Ubuntu)
map to guest = Bad User
obey pam restrictions = Yes
pam password change = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
unix password sync = Yes
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
dns proxy = No
wins support = Yes
usershare allow guests = Yes
panic action = /usr/share/samba/panic-action %d
idmap config * : backend = tdb
[printers]
comment = All Printers
path = /var/spool/samba
create mask = 0700
printable = Yes
print ok = Yes
browseable = No
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
[Shares]
path = /home/shares
read only = No
guest ok = Yes
ATUALIZAÇÃO: Portanto, o compartilhamento agora está disponível na minha rede, independentemente do grupo de trabalho. Qualquer usuário do Windows que se conectar à minha rede pode ver o NAS no Netowork e acessá-lo. A chave foi definir segurança como security = share. Eu sei, está obsoleto, mas funciona e segurança = usuário e mapa para usuário = usuário ruim não estava funcionando para mim.
De qualquer forma, agora parece que quem se conecta ao compartilhamento obtém permissões globais unix do diretório, o que é gerenciável, mas quero que os usuários que ingressaram no grupo de trabalho especificado no smb.conf obtenham permissões de grupo unix.
Dessa forma, eu posso definir o diretório para 775 e poderei escrever porque ingresso no grupo de trabalho, mas outros usuários podem apenas ler e executar.
Respostas:
Aconteceu de encontrar esta discussão nos fóruns do Ubuntu e achei que poderia ajudar. Explica os passos que acontecem nos bastidores:
Tente adicionar
force user = nobody
à sua definição de compartilhamento e veja se faz isso.Editar 20/02/2013:
O
testparm
retorno de um código de saída é diferente de zero? Mesmo assim, eu daria uma olhada boa e dura nessa área da configuração. Além disso, não tenho certeza de como o smb.conf diferencia maiúsculas de minúsculas, mas todos os exemplos que vejo (por exemplo)map to guest = Bad User
têm B e U em maiúsculas. Confira as páginas de manual do Samba para as opções que você está usando e verifique tudo.fonte
[Shares] path = /home/shares browsable = yes available = yes read only = no public = yes writable = yes guest ok = yes
Se eu adicionar,force user = nobody
ele será interrompido e não consigo acessar o compartilhamento. Aqui é onde fica estranho; Quando executo o testparm, ele despeja.[Shares] path = /home/shares read only = no guest ok = yes
Por algum motivo, é como se não estivesse vendo as definições públicas, graváveis, disponíveis e navegáveis. Este poderia ser um indicador de onde está o problema.4.3.11+dfsg-0ubuntu0.14.04.3
no Ubuntu 14.04 quebrou meu compartilhamento público,force user = nobody
é apenas a correção de que eu precisava para trazer o compartilhamento público de volta.É assim que o OpenElec está configurado. Deve fazer o que você está pedindo. (mesmo que seja um ano depois ... talvez ajude o próximo) Apenas ajuste as configurações de compartilhamento conforme necessário.
fonte
Como a pesquisa do Google nos traz aqui e não há uma resposta clara, eu resumi.
Abaixo estão as condições necessárias para garantir que os clientes SMB não solicitem o nome de usuário e a senha ao acessar o servidor Samba:
Adicione
guest account = <owner-of-your-shares>
em uma[global]
seção. É importante que a conta do proprietário de suas ações tenha acesso a elas. Se você não fizer isso, o Samba assumirá que a conta de convidado é umnobody
usuário que provavelmente não tem acesso aos dados em seu compartilhamento.Como alternativa, você pode especificar
force user = <owner-of-your-share>
em seu[shareXYZ]
bloco.Verifique se o seu
[shareXYZ]
temguest ok = yes
.Definir,
browsable = yes
mas geralmente é herdado de[global]
e é definido comoyes
padrão.Em seguida, provavelmente
security = user
também deve ser definido (isso é o padrão quando você não tem o Active Directory definido no seu ambiente). No entanto, não tenho certeza se esse sinalizador é necessário, pois não tenho AD no meu ambiente.Obviamente, se você quiser que o
nobody
usuário trabalhe, poderá fazê-lochown -Rh 65534:65534 /yourshare
. Depois disso, você ficará bem apenas com a configuração únicaguest ok = yes
sob o seu[shareXYZ]
.Observe que ter definido
rwx
comoothers
(chmod o+rwx /yourshare
) não permitiu que o Samba com seunobody
usuário participasse. Eu verifiquei isso comstrace -f -e chdir,geteuid,getegid -p <pid-of-the-parent-smbd-process>
. Provavelmente o Samba simplesmente ignora as permissões definidas para oothers
? Não tenho certeza.fonte
Funciona para mim em 30 segundos
Fonte: https://wiki.samba.org/index.php/Setting_up_Samba_as_a_Standalone_Server
[global]
[hóspede]
fonte