BOMBOLOM.COM

(samba) Instalação e Configuração de um servidor Samba (4/6)

[ Introdução| Instalação| Configuração| Shares| Utilizadores| Windows]

Neste artigo vão-se criar as directorias que alojam as shares partilhadas.

Criar a árvore de directorias

# mkdir -p /arquivo/shares
# cd /arquivo/shares
# mkdir drivers netlogon administracao secretariado tmp

Criar os grupos de utilizadores:

# groupadd admin
# groupadd ntadmin
# groupadd secretariado
# groupadd tmp

Modificar a ownership das directorias:

# chgrp admin administracao
# chgrp ntadmin drivers netlogon
# chgrp secretariado secretariado
# chgrp tmp tmp

Modificar as permissões das directorias:

# chmod u+rwx,g+rws,o-rwx *

A share [netlogon] deve poder ser acedida por todos os utilizadores:

# chmod o+rx netlogon

Deveremos ter a seguinte árvore de directorias:

drwxrws---  2 root admin        4096 Oct  6 08:22 administracao
drwxrws---  2 root ntadmin      4096 Oct  6 08:22 drivers
drwxrwsr-x  2 root ntadmin      4096 Oct  6 08:22 netlogon
drwxrws---  2 root secretariado 4096 Oct  6 08:22 secretariado
drwxrws---  2 root tmp          4096 Oct  6 08:22 tmp

Notar que ao usarmos "g+rws" estamos a accionar o "group id". Um utilizador num sistema unix tem sempre um grupo primário e pode depois pertencer a vários grupos distintos:

$ id
uid=1000(helder) gid=1000(helder)
groups=1000(helder),20(dialout),24(cdrom),25(floppy),29(audio),44(video),46(plugdev)

Neste caso o grupo primário do utilizador "helder" é o grupo "helder" e pertence, além deste, a uma série de grupos. Sempre que o utilizador criar um ficheiro ou directoria estes vão pertencer ao grupo "helder". No entanto se numa directoria accionarmos o bit "group id", então os ficheiros ou directorias criados pelo utilizador, dentro dessa directoria, vão pertencer ao grupo desta directoria. Por exemplo:

Vamos criar um grupo chamado "teste" e adicionar o utilizador helder a esse grupo:

# groupadd teste
# usermod -G helder,dialout,cdrom,floppy,audio,video,plugdev,teste helder

Agora, para o utilizador "helder" temos:

$ id
uid=1000(helder) gid=1000(helder)
groups=1000(helder),20(dialout),24(cdrom),25(floppy),29(audio),44(video),46(plugdev),1006(teste)

Com o utilizador "helder" vamos criar a directoria "TESTE" na sua home directory:

$ mkdir TESTE
$ ls -l
drwxr-xr-x  2 helder helder 4096 2006-10-06 12:57 TESTE

Se mudarmos para a directoria teste e criarmos uma sub directoria e um ficheiro temos:

$ cd TESTE
$ mkdir DIRECTORIA
$ touch FICHEIRO
$ ls -l
drwxr-xr-x  2 helder helder 4096 2006-10-06 12:59 DIRECTORIA
-rw-r--r--  1 helder helder    0 2006-10-06 12:59 FICHEIRO

Como podemos ver ficheiro foi criado com o grupo "helder". Vamos agora mudar o grupo da directoria TESTE para "teste" e accionar o "group id":

$ cd ..
$ chown helder:teste TESTE 
$ chmod g+s TESTE
$ ls -l
drwxr-sr-x  3 helder teste 4096 2006-10-06 12:59 TESTE

Se mudarmos para a directoria TESTE e criarmos um ficheiro ou directoria temos:

$ cd TESTE
$ mkdir DIRECTORIA2
$ touch FICHEIRO2
$ ls -l
drwxr-xr-x  2 helder helder 4096 2006-10-06 12:59 DIRECTORIA
drwxr-sr-x  2 helder teste  4096 2006-10-06 13:06 DIRECTORIA2
-rw-r--r--  1 helder helder    0 2006-10-06 12:59 FICHEIRO
-rw-r--r--  1 helder teste     0 2006-10-06 13:06 FICHEIRO2

Como se pode ver tanto a DIRECTORIA2 como o FICHEIRO2 agora pertencem ao grupo "teste". Se, para além disto, retirarmos as permissões de leitura e escrita à directoria teste para os "outros" isto é para todos os utilizadores que não pertencem ao grupo "teste" e que não são o utilizador "helder", vamos proteger a directoria ao mesmo tempo que damos acesso aos membros do grupo "teste":

$ cd .. $ chmod o-rwx TESTE $ ls -l $ drwxr-s--- 4 helder teste 4096 2006-10-06 13:06 TESTE

Foi isto, exactamente, que fizemos em relação aos grupos das shares que o samba vai partilhar. Como definimos as mascaras de criação de ficheiros e directorias asseguramos a compartimentação da informação contida nas várias shares a nível do próprio sistema. Só os utilizadores que pertençam aos grupos das shares lhes vão puder aceder.

Iniciar o serviço:

/etc/init.d/samba start

Testar a ligação:

# smbclient -L localhost -U%
Can't find include file /etc/samba/dhcp.conf
added interface ip=192.168.10.126 bcast=192.168.10.255 nmask=255.255.255.0
Got a positive name query response from 127.0.0.1 ( 127.0.0.1 )
error connecting to 127.0.0.1:445 (Connection refused)
Domain=[GATOPARDO] OS=[Unix] Server=[Samba 3.0.14a-Debian]

        Sharename       Type      Comment
        ---------       ----      -------
        print$          Disk      Printer Drivers
        tmp             Disk      Arquivos temporarios
        IPC$            IPC       IPC Service (GATOPARDO SERVER Samba 3)
        ADMIN$          IPC       IPC Service (GATOPARDO SERVER Samba 3)
Domain=[GATOPARDO] OS=[Unix] Server=[Samba 3.0.14a-Debian]

        Server               Comment
        ---------            -------
        DEBIANSRV            GATOPARDO SERVER Samba 3

        Workgroup            Master
        ---------            -------
        GATOPARDO            DEBIANSRV

Configurar os grupos por default do windows:

# net groupmap modify ntgroup="Domain Admins" unixgroup=ntadmin
# net groupmap modify ntgroup="Domain Users" unixgroup=staff
# net groupmap modify ntgroup="Domain Guests" unixgroup=nogroup

<<< Anterior

>>> Seguinte

08.03.2007 | Ler mais | Comentários | Tags ,

Voltar à Página principal | Made with PyBlosxom