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
[1] Comentário enviado por
firekill 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