tarsodecastro
(usa CentOS)
Enviado em 05/10/2010 - 10:16h
Oi Ferber,
Antes de mais nada, obrigado pela resposta rápida.
Vou explicar melhor.
Problema:
1- Criei uma pasta no servidor chamada “pasta”;
2- Compartilhei essa pasta e no smb.conf e adicionei o parâmetro:
veto files = /*.mp3/*.avi
3- O usuário Mané tentou incluir na pasta os seguintes arquivos:
a- "eh Música.mp3"
b- "eh Filmes.avi"
c- "eh Texto.txt"
4- O samba bloqueou perfeitamente os dois primeiros arquivos
5- O usuário Ninja mudou as extensões dos dois primeiros arquivos e ficou assim:
a- "eh Música.doc"
b- "eh Filmes.xls"
c- "eh Texto.txt"
6- E o usuário ninja conseguiu compartilhar pra todo mundo na rede os arquivos que ele queria, só renomeando as extensões.
Possível solução:
1- Testei o seu script, ele funciona quando não tem espaço no nome do arquivo, mas quando eles têm o script retorna o seguinte:
--------------------------------------------------------
eh: ERROR: cannot open `eh' (No such file or directory)
Filme.avi: ERROR: cannot open `Filme.avi' (No such file or directory)
eh: ERROR: cannot open `eh' (No such file or directory)
Música.doc: ERROR: cannot open `Música.doc' (No such file or directory)
eh: ERROR: cannot open `eh' (No such file or directory)
Texto.txt: ERROR: cannot open `Texto.txt' (No such file or directory)
--------------------------------------------------------
2- Garimpando na internet até o sol nascer encontrei a seguinte peróla:
# find -type f -print0 | xargs -0 file -s | egrep -i '(audio file|video)'
Que retorna:
-------------------------------------------------------
./eh Filme.avi: RIFF (little-endian) data, AVI, 624 x 352, 23.98 fps, video: XviD, audio: MPEG-1 Layer 3 (stereo, 48000 Hz)
./eh Música.doc: Audio file with ID3 version 2.3.0, contains:
------------------------------------------------------
Simplesmente SHOW! Mas...
2.1- Outro problema:
Não consigo mover os arquivos com o comando:
# find /home/tarso/teste -type f -print0 | xargs -0 file -s | egrep -i '(audio file|video)' | grep -exec mv -vf {} /tmp/ ';'
Que retorna:
------------------------------------------------------
grep: {}: Arquivo ou diretório não encontrado
------------------------------------------------------
Valeu.