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.
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.
$ 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:
Lembre-se de dar todos os privilégios de escrita pelo Samba.
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
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
...
[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
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
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