Permissões do Samba usando chmod

Durante a migração do meu servidor para Linux (Ubuntu) tive problemas no compartilhamento Samba, pois aqui na empresa eu só posso ter uma pasta compartilhada e as permissões dos usuários são feitas nas subpastas. Tentei encontrar alguma coisa parecida para me ajudar. Depois de um tempinho (por ser iniciante) consegui. Segue abaixo uma ajudazinha aos iniciantes.

[ Hits: 157.243 ]

Por: Roberto Serrano Camacho em 11/01/2008


Introdução



Bom, trabalho em uma empresa e estávamos migrando o nosso Windows server para Linux (Viva o Linux). O problema que eu encontrei foi o seguinte:

Uso um programinha em Clipper que utiliza uma letra mapeada "G:" e trabalha com as suas subpastas.

Cada usuário da empresa tem que acessar as subpastas do diretório G:, com certas permissões, mas eu não posso usar vários compartilhamentos do Samba.

Segue abaixo a minha solução.

Preparando o sistema

Entre como super usuário:

$ sudo passwd root (cria o password do user root)
$ su (muda para usuário root)

Eu não vou mostrar o smb.conf inteiro, isso você pode pegar em qualquer um dos artigos anteriores.

Lembre-se de criar um compartilhamento do samba para a pasta desejada, no meu caso, todas as subpastas estão dentro da pasta /dados.

Meu smb.conf ficou assim:

...
[Dados]
path = /dados
admin users = Administrador
valid users = %U
read only = no
guest ok = no
browseable = yes
writable = yes
public = yes
...

Lembre-se de dar todos os privilégios de escrita pelo Samba.

writable = yes
public = yes

Depois crie todos grupos:

# groupadd [seu grupo]

Por exemplo:

# groupadd escritorio
# groupadd fabrica


Crie também todos os usuários que terão acesso e já coloque em qual grupo ele pertence:

# useradd [usuário] -G [grupo]

Por exemplo:

# useradd diretor -G escritorio
# useradd fulano -G fabrica


Lembre-se também de criar os usuários no samba:

# smbpasswd -a [usuario]

Por exemplo:

# smbpasswd -a diretor
# smbpasswd -a fulano


Bom, agora crie as subpastas:

# mkdir /[seu diretório]/[ sua pasta]

No meu caso:

# mkdir /dados/escritorio
# mkdir /dados/fabrica


    Próxima página

Páginas do artigo
   1. Introdução
   2. Inserindo permissões
   3. Grupo como dono
   4. Permissões chmod
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Samba: Servidor de impressão e introdução a PDC (Primary Domain Controller)

Samba + Windows XP (perfil móvel)

Ambientes mistos e agora?

Samba + clamav - compartilhamento livre de vírus

Configurando Java e Mozilla no Debian Sarge

  
Comentários
[1] Comentário enviado por removido em 11/01/2008 - 16:30h

Bom Artigo... mas lembrando que não é presiso "enganar" o Linux.. vc pode fazer o seguinte:

Crie um usuário Admin para fazer a administração das pastas, mas tirando algumas coisas dele como login pasta home, pois ele vai servir apenas para o samba, assim como os demais usuários. para isso use:

adduser --no-create-home --disabled-login admin
adduser admin funcionarios

Agora deixe ele como dono da pasta:
chown admin.funcionarios

Mas não se esqueça tbm de por o admin no samba:
smbpasswd -a admin

Setando permissões:
chmod 760 pasta (permissão full para dono da pasta, grupo apenas ler e escrever, outros usuários não podem fazer nada ^^)

Isso resolve grades problemas como setores diferente acessarem apenas as suas pastas correspondentes!!!

Espero ter ajudado

[2] Comentário enviado por rskmacho em 07/02/2008 - 10:08h

Ajudou sim, mas eu acho que nao daria certo pra mim.

eu precisava de dois grupos de usuarios, um grupo como own e outro grupo como group para que varias pessoas pudessem ser donos da mesma pasta entende? por isso "Enganamos" o Linux, fazendo ele colocar um usuario como dono, mas dando acesso a um grupo de pessoas.

[3] Comentário enviado por klebersr em 09/09/2008 - 16:05h

Ola rskmacho, parabéns pelo artigo.

Estou com um problema, eu setei todas as permissões nos diretório, tudo separado, usei os chmod e o chown, para dar as permissões, porém, os usuários que não deveriam ter acesso a algumas pastas, teimam em entrar nelas .. via prompt o usuário não tem permissão, via samba, tem.

Vou exemplificar:

Usuário: usuario1
Grupo: vendas

Diretorio e permissões:

drwx------ 5 usuario2 admin 4096 Jan 12 2008 RFED2005

O usuário1 continua entrando nesta pasta normalmente.

no smb.conf está assim:

[dados]
path = /dados
valid users = usuario1 usuario2
admin users = usuario1
public = no
writable = yes
printable = no
create mask = 777
force create mode = 777
force directory mode = 777

Tem alguma ideia?

Kleber Rodrigues

[4] Comentário enviado por rskmacho em 09/09/2008 - 21:28h

kleber, estou de férias, assim que eu voltar eu analiso melhor. mas nao coloca CREATE MASK 777 coloca 770
nunca coloque nada 777.... melhor ainda de 2770

se num der me avisa.

abs

[5] Comentário enviado por klebersr em 17/09/2008 - 14:13h

Coloquei 2770, mas não resolveu não, usuários sem acesso a determinada pasta continua tendo acesso .. não sei como resolver isso.

[6] Comentário enviado por rskmacho em 17/09/2008 - 14:22h

eu reparei tambem que você colocou o usuario1 como USER ADMIN = usuario1


ele vai acessar tudo mesmo...

verifica isso

[7] Comentário enviado por klebersr em 18/09/2008 - 13:35h

Opz, realmente errei no meu exemplo, o usuário não está como user admin, apenas no valid user.

[8] Comentário enviado por rskmacho em 18/09/2008 - 13:58h

verifica duas coisas..

a primeira, vai em /etc/group e ve se o usuario1 nao esta no grupo do usuario2

da o comando: "ls -l" na pasta dados e posta o resultado.


[9] Comentário enviado por rskmacho em 23/09/2008 - 13:26h

se o usuario usuario1 acessa tudo, é provavelmente um erro no smb.conf

[10] Comentário enviado por rickchbz em 14/05/2012 - 14:30h

salve vol !!!!
gostaria de uma opinião/sugestão

quero fazer basicamente isso, compartilhamento da pasta dados com subdiretório de autenticar.

a questão é a seguinte, estou com os arquivos de compartilhamento em um computador windows com permissões de usuário de acordo com o setor, as duvidas são:

*deixo liberado diretorio "dados" copio todos os subdiretórios para depois fazer as permissões

*ou faço as permissões, crio os subdiretórios para depois fazer o bkp

grato pela colaboração!!!

[11] Comentário enviado por rskmacho em 14/05/2012 - 14:40h

Minha sugestão, é que você faça um script bem simples, com todos os chmod necessarios...

ai você faz oq quiser, na ordem que quiser, apenas rodando seu script em todas as alterações...

se eu entendi direito a pergunta.......

[12] Comentário enviado por LucasRodrigues em 25/07/2012 - 00:06h

Olá @rskmacho, parabéns pelo artigo realmente muito bom, sou iniciante em Linux e tenho uma dúvida:

Criei uma pasta raiz afim de testar com maquina virtual o acesso as pastas baseado em permissoes de grupo, assim como vc citou no tópico.
No sistemas Windows eu sei fazer normalmente mas estou com problemas ao criar o usuario no Linux.

no comando para criar um usuario do Samba, o shell me retorna um erro:
#smbpasswd -a Maria
Failed to add entry for user Maria

Alguem do fórum poderia me ajudar?

[13] Comentário enviado por rskmacho em 25/07/2012 - 08:13h

Experimenta criar primeiro o usuario no linux antes de criar o usuário do SMB

No meu caso, eu sempre crio os usuarios com o comando abaixo:

# adduser USUARIO --ingroup GRUPO --no-create-home --disabled-password
# smbpasswd -a USUARIO



Com isso você cria um usuario de acesso via Samba, que não tem login na maquina, nem pasta home...

experimenta assim


[14] Comentário enviado por LucasRodrigues em 25/07/2012 - 22:26h

Rapaz, sem duvida alguma vc sabe mesmo o que fala, rs, fiz do jeito que vc citou e deu certo... Para nao bagunçar meu kubuntu, eu criei uma maquina virtual com o ubuntu server 12.04 LTS, estou gostando bastante, até pq ele é todo em modo texto.

Vou treinar bastante, até para fixar na na memória sobre samba e posteriormente quero aprender a configurar Active Directory no samba4.

Muito obrigado por responder minha duvida!

Voce nem imagina o quanto me ajudou em meu aprendizado.

[15] Comentário enviado por alinem em 23/10/2012 - 14:08h

parabens pelo artigo !!

[16] Comentário enviado por rskmacho em 23/10/2012 - 15:30h

Obrigado


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts