Servidor Samba - Mapeamento no cliente nao funciona (Solucionado)

Iniciado por HDD_Man, 07 de Julho de 2012, 12:26

tópico anterior - próximo tópico

HDD_Man

Ola mais uma vez pessoal!
Usamos na empresa um grupo de rede simples com xp, onde todo mundo tem acesso.
Portanto, venho estudando a alguns dias como fazer funcionar o samba, pra criar um controlador de dominio
Acredito que obtive um sucesso razoavel, pois o controlador de dominio funcionou. Mas tive um pequeno erro, ao montar o mapeamento do dominio no cliente.

Criei manualmente (loguei no terminal e abri o nautilus com o sudo) e criei a pasta adminsitracao
ficou assim:
/home/administracao

obs: nao mexi nas permissoes da pasta por nao saber que permissao deixar, com o chmod.

fiz o arquivo netlogon.bat no xp e joguei manualmente no linux, na pasta: home/samba/netlogon/

dai loguei o cliente xp. ele ate executa o arquivo .bat, mas nao mapeia. umas vezes que eu andei alterando o arquivo .bat, ele ate mapeou mas dava unidade desconectada.

obs: fui pelo cliente, navegando em "meus locais de rede" manualmente no caminho /home/administracao e ele entra na pasta, mas nao deixa criar arquivos, nem excluir, mas deixa ler arquivos que ja estao la.

Portanto, tenho essas duvidas:
Mapeamento:
Como resolver o problema do mapeamento?
Pastas:
se nao mexo nas permissoes, a pasta fica so pra leitura por padrao, certo?
como mudo pra leitura e escrita, mas sem poder exlcuir o arquivo?
e como mudo pra tudo permitido (incluir, alterar e excluir)?

Abaixo seguem os arquivos smb.conf e o netlogon.bat, que acredito que possam ser onde estao os possiveis problemas.
GRato!

:)

Anexos:
1.Arquivo smb.conf:

[global]
# Nome do DOMINIO
workgroup = HOME
# Nome da sua maquina
netbios name = MS-7680
# Descricao da maquina
server string = %h PDC
# Usuario que tera permissao para ingressar ou retirar a maquina do dominio
admin users = usuario
# Opcoes principais que tornara seu servidor um controlador de dominio
domain master = yes
domain logons = yes
logon script = netlogon.bat
logon home = \\%L\%U\.profiles
logon path = \\%L\profiles\%U
security = user
encrypt passwords = yes
enable privileges = yes
passdb backend = tdbsam
preferred master = yes
local master = yes
os level = 100
wins support = yes
# Compartilhamento que torna possivel a utilizacao de scripts de logon
[netlogon]
comment = Servico de Logon
path = /home/samba/netlogon
read only = yes
browseable = no
# Compartilhamento automatico dos diretorios dos Usuarios
[homes]
comment = Diretorio dos Usuarios
browseable = no
read only = no
writeable = yes
create mask = 0700
directory mask = 0700
valid users = %S
# Compartilhamento onde sera salvo as pastas dos usuarios, o que torna possivel a utilizacao do perfil movel
[profiles]
path = /home/samba/profiles
writeable = yes
browseable = no
create mask = 0600
directory mask = 0700
# Compartilhamento simples, onde todos os usuarios tem acesso, porem, com restricao a alguns tipos de extensoes, utilizando a opcao veto files
[publico]
path = /home/samba/publico
comment = Diretorio publico
writeable = yes
read only = no
create mask = 0777
directory mask = 0777
veto files = /*.mp3/*.mpeg/*.avi/*.exe/*.mpg
# Compartilhamento dado a um grupo especifico de usuarios, @administracao
[administracao]
path = /home/administracao
available = yes
browseable = yes
writeable = yes

2. netlogon.bat (feito no windows e transplantado no linux pra nao ter problema)

net use K: \\MS-7680\home\administracao /yes

zekkerj

CitarComo resolver o problema do mapeamento?
O mapeamento vai depender do usuário conseguir enxergar o compartilhamento, o que por sua vez vai depender das permissões dele no servidor.

Só observe que se você cria o compartilhamento como "administracao", você vai vê-lo no windows como "\\SERVIDOR\administracao", não como "\\SERVIDOR\home\administracao".

Citarse nao mexo nas permissoes, a pasta fica so pra leitura por padrao, certo?
como mudo pra leitura e escrita, mas sem poder exlcuir o arquivo?
Depende de qual seja a permissão da pasta no Linux, qual seja o usuário dono da pasta, e quem esteja acessando.

Eu recomendo que se você vai permitir que vários usuários escrevam nessa pasta, defina grupos. Assim você pode separar um grupo que pode escrever na pasta (dos outros que não podem). Se alguém precisa escrever na pasta, é só fazê-lo membro desse grupo.

Digamos então que o grupo escolhido pra escrever na pasta foi o grupo "administracao". Vamos criá-lo.

sudo addgroup administracao

Sendo um PDC, vc deve configurar seu PDC pra mapear esse grupo "administracao" do Linux num grupo do windows, também. Infelizmente esse comando eu vou ficar te devendo agora, só lembro que é um comando "net".

Depois é só fazer os usuários que vão acessar a tal pasta fazerem parte do grupo:

sudo adduser fulano administracao
sudo adduser beltrano administracao
sudo adduser sicrano administracao


Por fim, a pasta deve ser ajustada, pra permitir que o grupo "administracao" possa escrever nela.

sudo chgrp administracao /home/administracao
sudo chmod 0775 /home/administracao


Quanto ao apagamento, é mais complicado. Pra criar arquivos numa pasta, você precisa ter permissão de escrita nela. Só que a permissão de escrita também te permite renomear e apagar arquivos.

Pra minimizar o problema, há uma permissão especial que pode ser dada às pastas, que é o "sticky bit". Quando o sticky bit está ativo numa pasta, o usuário só pode apagar os arquivos que ele mesmo criou. Pra ativá-lo:

sudo chmod +t /home/administracao

Por fim, se você quer que as pastas e arquivos criados continuem acessíveis pelo grupo, deve ativar o bit de "set group id" na pasta:

sudo chmod g+s /home/administracao

Pastas e arquivos criados nessa pasta após esse comando vão pertencer ao mesmo grupo que a pasta, preservando o acesso de leitura (e possivelmente o de escrita, se você configurar corretamente o "create mask".
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

HDD_Man

Ola zekkerj!!

obrigado pela resposta!
Vou tentar fazer esses procedimentos e logo posto o resultado. realmente acho que o problema do mapeamento esta em como o cliente enxerga o servidor. nao tinha notado isso!

quanto a excluir a pasta, acho que o sticky bit pode resolver. é só eu criar os arquivos pelo administrador que ninguem poderia excluir e dai ja fica ideal.

esse lance de nao poder excluir é apenas uma segurança caso a pessoa dê um delete por acidente. arquivos dela nao teria problema nenhum ela poder excluir. entao, acho que vai rolar :)

obrigado!

zekkerj

Citaresse lance de nao poder excluir é apenas uma segurança caso a pessoa dê um delete por acidente
Cara, contra isso só Backup e oração pra São Megabaite.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

HDD_Man

hehe

fmz, acho que assim vai rolar


falando em backup, na rede windows aqui uso cobian pra backup.
pensei em colocar um micro backupeando o servidor.

que programa (ou script) usaria pra linux?
nesse esquema que eu pensei é adequado?

tem alguma sugestao?


obrigado!

zekkerj

Informe-se sobre o Amanda (www.amanda.org) e o Bacula (www.bacula.org).
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

HDD_Man

Bom dia zekkerj!

resolvi o problema do mapeamento. Realmente, era o jeito que eu tinha escrito o caminho, ja que windows enxerga sem o /home

o arquivo netlogon.bat ficou assim:

net use K: \\MS-7680\administracao /yes

vou postando por partes os progressos

abraco!

HDD_Man

zekkerj, andei pensando, nao sao tantos usuarios...

e se eu setar a pasta assim:
sudo chmod 0775 /home/administracao

e depois ir definindo o que cada usuario pode ou nao fazer atraves do arquivo smb.conf?

sera que daria certo?

visto que nao sao nem 10 usuarios
ficaria ate mais facil para eu poder acompanhar em um local so o que cada um pode ou nao acessar.

dai seria so criar as outras pastas e ir configurando tambem

o que acha?

zekkerj

Bem, eu prefiro controlar pelo grupo, pq mexendo no smb.conf seria preciso reiniciar o serviço. Mas vc tem a palavra final no seu servidor.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

HDD_Man

vou tentar assim por enquanto. quando for ficando mais habituado posso mexer nessas configuracoes novamente.

a permissao da pasta devo dar esta:

sudo chmod 0775 /home/administracao

?

obrigado!

HDD_Man

Permissões de pastas e arquivos (para novatos como eu. Fiquem à vontade até para me corrigir caso eu tenha escrito baboseira):

Andei pesquisando sobre esse monte de numero pra configurar as pastas.
ex: no terminal: chmod 0775 pasta

bom, andei tentando entender o que é isso. até entendi um pouco.

mas achei um jeito mais facil de configurar as permissões

entre no terminal e digite
sudo nautilus
entre com sua senha e navegue até a pasta que deseja e clique com o botao direito na pasta e vá em permissoes. Lá poderá configurá-las de um jeito um pouco mais simples.

HDD_Man

Vou encerrar o tópico pois minha duvida principal ja foi resolvida


obrigado zekkerj pela disposição em ajudar neste e em outro posts meus!

:)