Partilha de ficheiro em samba

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

tópico anterior - próximo tópico

Arthur Bernardes

Deixe o smb.conf conforme aqui

[Pasta1]
        path = /home2/_shares/pasta1
        writable = no


[Subpasta1]
        path = /home2/_shares/pasta1/subpasta1
        writable = yes
        valid users = +grupoa
     

[Subpasta2]
        path = /lhome2/_shares/pasta1/subpasta2
        writable = yes
        valid users = +grupob
       


ervilhaman

coloquei tal e qual e continua igual

Arthur Bernardes

Não..! Não é o que parece..! O seu testparm reportou..!

[Pasta1]
        path = /home2/_shares/pasta1
        read only = No

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

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

ervilhaman

realmente é verdade mas abri o ficheiro e copiei e colei aqui

Arthur Bernardes

Coloque as diretivas como eu coloquei aqui, e teste..!

Ioca100

Movido para internet, redes e segurança.
Usuário Linux- 449417

zekkerj

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.
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

Eis os passos que fiz:

Apaguei tudo e vou fazer de novo:

1) Criei as pastas pasta1 e a subpasta1 e subpasta2 dentro da pasta1:
#mkdir pasta1
#cd pasta1
#mkdir subpasta1
#mkdir subpasta2


no directorio /home2/_shares:
drwxr-xr-x  4 root   root    1024 2013-01-31 13:07 pasta1
no directorio /home2/_shares/pasta1:
drwxr-xr-x 4 root root 1024 2013-01-31 13:07 .
drwxr-xr-x 7 root root 1024 2013-01-31 13:06 ..
drwxr-xr-x 2 root root 1024 2013-01-31 13:07 subpasta1
drwxr-xr-x 2 root root 1024 2013-01-31 13:07 subpasta2

2)Criei os grupos e atribui utilizadores:

#groupadd grupo1
#groupadd grupo2
#adduser user1 grupo1
#adduser user2 grupo1
#adduser user2 grupo2


3)Dei permissão à pasta1:

#chgrp grupo1 pasta1/
#chmod 775 pasta1/


4)no sbm.con

[Pasta1]
  path = /home2/_shares/pasta1
  writable = no


[Subpasta1]
  path = /home2/_shares/pasta1/subpasta1
  writable = yes
  valid users = +grupo1


[Subpasta2]
  path = /home2/_shares/pasta1/subpasta2
  writable = yes
  valid users = +grupo2


5)restart ao samba
/etc/init.d/samba restart

zekkerj

Faltou:

chgrp grupo2 subpasta2
chmod 775 subpasta2


Mas observe que você não precisa criar os dois últimos compartilhamentos, pois os usuários podem acessar as sub-pastas pelo compartilhamento principal (ou seja, como //servidor/pasta1/subpasta1 ou //servidor/pasta2/subpasta2) [em modo R/O, já que vc disse que //servidor/pasta1 é "writable = no"].

Já que criou os dois compartilhamentos de baixo, dê preferência a conectar por eles, pq eles vão te dar acesso completo.
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

os ficheiros subpasta1 e 2 com as permissoes definidas estao na mesma raiz da pasta1 e dentro da pasta1 consigo aceder as pasta subpasta1 e subpasta2

ervilhaman

Alguem me pode explicar passo a passo (com os comandos) como faço para criar o que pretendo?
O que pretendo é ter uma pasta com acesso a 2 grupos e dentro dela ter 2 subpastas um com acesso a um grupo e outra a outro grupo
Quero permissoes de escrita e leitura para quem acede respectivamente às pastas

Obrigado

zekkerj

Os comandos você já fez, basta acertar as permissões de cada pasta.

O que está faltando funcionar, neste momento?
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

colocar as subpastas 1 e 2 dentro da pasta1 com as permissoes com base nos grupos.
Eles estão ao mesmo nivel da pasta1 e nao dentro dela

zekkerj

Então vc quer poder acessar como "//servidor/pasta1/subpasta1" e "//servidor/pasta1/subpasta2", correto?

Pq nesse caso, o compartilhamento tem que aparecer como "//servidor/pasta1", no Ambiente de Rede.
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

É exactamente isso que quero e ate ao momento nada