Partilha de ficheiro em samba

Iniciado por ervilhaman, 30 de Janeiro de 2013, 11:55

tópico anterior - próximo tópico

zekkerj

Execute o comando "testparm" e cole o resultado aqui.
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

ervilhaman

com as configurações que eu descrevi o resultado com testparm é:

[Pasta1]
        path = /home2/_shares/pasta1

[Subpasta1]
        path = /home2/_shares/pasta1/subpasta1
        valid users = +grupo1
        read only = No

[Subpasta2]
        path = /home2/_shares/pasta1/subpasta2
        valid users = +grupo2
        read only = No

zekkerj

Por favor, preciso da saída toda do comando. Ou essa é a saída toda do comando, e seu "smb.conf" só tem isso?
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

Arthur Bernardes

Eu já citei para colocar writable = no no 1º compartilhamento, e writable = yes nos outros.! Estou certo.?

ervilhaman


# testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: rlimit_max (1024) below minimum Windows limit (16384)
Global parameter guest account found in service section!
Processing section "[homes]"
Processing section "[teste_SS]"
Loaded services file OK.
WARNING: You have some share names that are longer than 12 characters.
These may not be accessible to some older clients.
(Eg. Windows9x, WindowsMe, and smbclient prior to Samba 3.0.)
Server role: ROLE_DOMAIN_PDC
Press enter to see a dump of your service definitions


depois do enter


.....
[Pasta1]
        path = /home2/_shares/pasta1

[Subpasta1]
        path = /home2/_shares/pasta1/subpasta1
        valid users = +grupo1
        read only = No

[Subpasta2]
        path = /home2/_shares/pasta1/subpasta2
        valid users = +grupo2
        read only = No

ervilhaman

esqueci-me de copiar
Processing section "[Pasta1]"
Processing section "[SubPasta1]"
Processing section "[SubPasta2]"

zekkerj

Você não definiu nada na sessão "[global]"???
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

ervilhaman


[global]
  workgroup = PCONSEIL
  netbios name = Pavarotti
  server string = %h-PDC

  interfaces = lo, eth0
  bind interfaces only = yes

  passdb backend = ldapsam:ldap://127.0.0.1/

  encrypt passwords = yes
  passwd program = /opt/ipbox/scripts/samba/passwd.php %u
  check password script = /opt/ipbox/scripts/samba/checkpasswd.php %U
  passwd chat = *Password* %n\n *Password* %n\n *ok*
  unix password sync = yes

;;  log file = /var/log/samba/%m.log
  log level = 0
  max log size = 10
  syslog = 4
  syslog only = yes

  enable privileges = yes

;;  socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

  domain logons = yes
  os level = 80
  preferred master = yes
  domain master = yes
  local master = yes
  dns proxy = no

  wins support = yes
  ; SAMBA ACL & EXTENDED ATTRIBUTES
  nt acl support = yes
  profile acls = yes
  map acl inherit = no
  inherit acls = no
  inherit permissions = no
  ea support = yes
  map archive = no
  map hidden = no
  map system = no
  store dos attributes = yes
  dos filemode = no

  ; SAMBA-LDAP declarations
  ldap suffix = dc=peoplesconseil,dc=com
  ldap admin dn = "cn=SMBManager,dc=peoplesconseil,dc=com"
  ldap user suffix = ou=Users
  ldap machine suffix = ou=Computers
  ldap group suffix = ou=Groups
  ldap ssl = no
  ldap passwd sync = yes

  ldapsam:trusted = yes

  load printers = yes
  printing = bsd

  dos charset = 850
  unix charset = iso8859-15

  logon path =
  logon home =
  logon drive =
  include = /etc/samba/smb-print.conf

zekkerj

Suponho que toda a parte de configuração do LDAP já foi verificada... correto?
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

ervilhaman


zekkerj

Execute os comandos abaixo numa janela de comandos e cole o resultado aqui.

sudo service smbd restart
sudo service nmbd restart

smbclient -L PCONSEIL -I 127.0.0.1 -U user1

smbclient -L PCONSEIL -I 127.0.0.1 -U user2
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

ervilhaman

Citação de: zekkerj online 31 de Janeiro de 2013, 11:55
Olá ervilhaman,

Talvez seu problema esteja no Linux, e não no Samba. Nas permissões clássicas do Linux, um arquivo ou diretório só tem três grupos de permissões: as do usuário proprietário, as do grupo proprietário, e as do resto do mundo. Então você tem uma situação onde vc tem um diretório onde dois grupos precisam ter direitos de acesso, e o Linux, no modo clássico, só te permite que um grupo tenha esses direitos.

Então vc tem duas alternativas pra resolver seu problema: uma é ligar o f...-se e dar permissão total ao diretório ("chmod 777 pasta1"), e deixar que o Samba controle quem pode ou não gravar ali. Nesse caso, certifique-se também de ativar o Sticky Bit ("chmod +t pasta1"), pois senão um usuário de um grupo pode apagar arquivos de outros usuários e grupos.

A outra alternativa é mais limpa, mas mais complicada --- usar permissões avançadas Posix para seu diretório. Com as permissões avançadas, você pode dar permissões a mais de um grupo, para um arquivo ou diretório. Algo como "chattr u::rwx,g::rwx,g:grupo1:rwx,g:grupo2:rwx,o::r-x,m:r-x pasta1".
O comando "chacl" é pouco usado, por isso poucas pessoas o dominam; você provavelmente vai encontrar pouca documentação sobre ele, também.

é possivel usar esse comando para fazer o que eu quero? Se sim, como? copiei o comando chattr.... mas dá erro

zekkerj

Vamos focar no ponto da discussão onde estamos, ervilhaman. A saída dos comandos que pedi?...
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

ervilhaman

pavarotti:/home2/_shares# smbclient -L PCONSEIL -I 127.0.0.1 -U jteixeira
Enter jteixeira's password:
Connection to PCONSEIL failed (Error NT_STATUS_BAD_NETWORK_NAME)

o outro user eu nao sei a pass, mas para o caso nao interessa.
Pelo modo grafico no windows consigo aceder à pasta

zekkerj

A qual pasta você tem acesso? O que aparece no ambiente de rede, para esse 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