veto files

1. veto files

Tarso de Castro
tarsodecastro

(usa CentOS)

Enviado em 04/10/2010 - 14:58h

Adicionei o parâmetro veto files da seguinte forma:
veto files = /*.mp3/

Ok, bloqueia que é uma beleza se a extensão for .mp3

Mas o que fazer se o bendito usuário mudar a extensão do arquivo?

Na tentativa de solucionar verifiquei que:

1 - o comando abaixo remove todos os arquivos sem extensões da pasta Public:
find /home/serverarq/Public/ -type f ! -name "*.*" -exec mv -vf {} /tmp/ ';'

2 - o comando file -s EhUmaMusica.doc retorna:
EhUmaMusicas.doc: Audio file with ID3 version 2.3.0...

Alguém sabe como juntar os dois comandos? Tipo | grep agluma coisa...

Creio que resolveria o problema de muita gente.



  


2. Perl

Enzo de Brito Ferber
EnzoFerber

(usa FreeBSD)

Enviado em 04/10/2010 - 17:47h

#!/usr/bin/perl
#
# MP3 File Detector:

$_ = `ls`;
@lsout = split(/\n/);

foreach $tmp (@lsout)
{
$_ = `file -s $tmp`;

print "$_\n";

if ( /MP3/i or /audio/i )
{
push ( @list, $tmp );
}
}

foreach $_ ( @list )
{
print "Audio File: $_\n";

#Aqui você coloca as ações que você quer.... tipo
#
# $del = `rm -f $_`
#
# para remover o arquivo

}


Cara, esse codigo ai mostra os arquivos MP3 e de audio, e todos ficam armazenados na variavel @list.
Se no nome do arquivo tiver a palavra mp3 ele tambem inclui o arquivo na lista.

O que rola é o seguinte, você pode colocar o codigo que você quer na parte que eu comentei ali. Caso você não saiba mexer com perl, posta direitinho o que você quer que o programa faça que altero pra você. E se não tiver bom suficiente o programa, fala o que precisa alterar que agente dá um jeito. Tranquilo?

Espero ter ajudado,
Enzo Ferber
[]'s


3. Re: veto files

Enzo de Brito Ferber
EnzoFerber

(usa FreeBSD)

Enviado em 04/10/2010 - 17:49h

Ah, mais uma coisa, para executar esse programa ali pra testar, faça o seguinte:

Copia tudo, (desdo #!/usr/bin/perl) até a ultima chave, e salva em um arquivo (detector.pl).

Ai você faz o seguinte:

$ chmod +x detector.pl
$ ./detector

Ele só scaneia o diretório que ele está sendo executado, amanha vou fazer com calma um codigo melhor pra você, com linha de argumento e tudo mais....

[]'s
Enzo Ferber


4. Re: veto files

Tarso de Castro
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.




5. parâmetro do samba pra barrar por tipo de arquivo

magno silva
ongamss

(usa Debian)

Enviado em 22/03/2011 - 01:50h

veto files = /*.mp3/

# barra por conteudo
veto oplock files = /*.mp3/

comigo funcionou como uma uva.







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts