[ Introdução| Instalação| Configuração| Shares| Utilizadores| Windows]
Neste artigo vão-se criar as directorias que alojam as shares partilhadas.
# 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.
/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