esse dias me deparei com um problema pois tenho um compartilhamento do samba e precisaria criar um outro de um diretório dentro desse compartilhamento e com outras permissões:
EX:
/home/teste -> Compartilhado
/home/teste/outro -> A ser compartilhado
Legal até ai tudo bem fiz o seguinte no meu smb.conf
[teste]
path = /home/teste
write list = +area_tecnica
read only = no
create mode = 0775
force create mode = 0775
create mask = 0775
directory mode = 2775
force directory mode = 2775
[outro]
path = /home/teste/outro
write list = +area_tecnica, +financeiro
read only = No
create mode = 0777
force create mode = 0777
create mask = 0777
directory mode = 2777
force directory mode = 2777
Percebam o meu problema o primeiro diretório as permissões são 2775 e 0775 respectivamente e só a área técnica pode acessar
Já o outro diretório além da area_tecnica o financeiro também vai usar e as permissões são 0777 e 2777.
Ai começou o problema pois quando alguém criava um arquivo ele sempre setava as permissões para 775 fazendo com o pessoal do financeiro só tivesse o poder de ler e não de escrever e lá ia eu alterar manualmente com o comando chmod.
A solução:
A solução encontrada foi usar "acls". Bom primeiro instale o pacote:
aptitude install acl
Depois remonte a partição ativando o suporte ao acl (lembre de especificar seu ponto de montagem caso seja diferente)
mount -o remount,acl /
Após isso é só definir o que quer no diretório com o comando setfacl, por exemplo
setfacl -d -R -m g:financeiro:rwx /home/teste/outro
Neste caso eu defini como padrão (-d) que o grupo financeiro tem permissão de leitura, escrita e execução (-m g:financeiro:rwx) no diretório /home/teste/outro e caso ele tenha arquivos ou diretórios eu defini o modo recursivo (-R) ativando assim em tudo dentro dele
A opção -m é de "modify" (modificar)
Legal vamos ver outro exemplo:
setfacl -d -R -m o::r-x /home/teste/outro (Aqui os "outros" terão permissão de leitura e execução
Caso não especifique a opção "-d" tudo que for criado dentro do diretório não seguirá a acl.
E como faça para ver estes permissões? Simples:
getfacl /home/teste/outro
# file: /home/teste/outro/
# owner: root
# group: area_tecnica
# flags: -s-
user::rwx
group::rwx
other::r-x
default:user::rwx
default:group::rwx
default:group:financeiro:rwx
default:mask::rwx
default:other::rwx
É isso aí, mas ficou faltando como remover a acl e inserir no boot, então, lá vai:
Remover a acl:
setfacl -R -b /home/teste/outro
Inserir no boot:
/dev/sda1 / ext3 errors=remount-ro,acl 0 1
/dev/sda2 /home ext3 defaults,acl 0 2
Pronto basta testar.
Fuiiiiiiiii
Nenhum comentário:
Postar um comentário