shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Checar permissão e dono de arquivo


From: Fernando Mercês
Subject: Re: [shell-script] Checar permissão e dono de arquivo
Date: Wed, 13 Jun 2012 05:05:24 -0300

Sem dúvida o chown -R é mais rápido. Se te atender, manda bala!

Abraço.
Em 12/06/2012 18:10, "Raphael R. O." <address@hidden> escreveu:

> Cara eu tinha feito algo parecido:
>
> #!/bin/bash
>
> for i in `find /var/www/ -type d -path '/var/www/files' -prune -o -type f
> -exec ls '{}' \+`
> do
>        owner=`stat -c %U $i`
>        group=`stat -c %G $i`
>
>        if [ $owner != "apache" ] & [ $group != "www-data" ]
>        then
>                echo "DIFF: $i"
>                echo "DIFF: `ls -ahl $i`" >> wrong.txt
>
>        else
>                echo "OK $i"
>        fi
>
> done
>
> Mais ainda não sei se é a melhor solução, estou pensando na possibilidade
> aplicar mesmo um chown recursivo, pois preciso da solução mais rápida...
> vou medir os tempos e depois posto aqui!
>
> Valeu pela ajuda galera! =)
> *Raphael Rabelo*
> *Fone:* (11) 6105-8257
> *MSN:* address@hidden
> *Site:* www.raphaelr.com.br
> *LinkedIn*:  <http://www.linkedin.com/profile/view?id=79847968>
>
>  Pense antes de imprimir este e-mail.
>
>
>
> 2012/6/12 Juranir Santos <address@hidden>
>
> > **
> >
> >
> > Boa tarde,
> >
> > Cara, veja se isso te ajuda:
> >
> > for arq in $(find /var/www/)
> > do
> > dono=$(stat -c %U $arq)
> > grupo=$(stat -c %G $arq)
> > if [ "$dono" != "apache" ] & [ "$grupo" != "www-data" ]
> > then
> > echo "$arq - $dono / $grupo" >> arqteste
> > fi
> > done
> >
> > Em 12 de junho de 2012 16:48, Tiago Peczenyj <address@hidden
> > >escreveu:
> >
> >
> > > 2012/6/12 Raphael R. O. <address@hidden>
> > >
> > > > **
> > > >
> > > >
> > > > Exato, o que me interessa é que todos os arquivos esteja com um
> > > determinado
> > > > owner e group, porém, como isso só mudaria quando fosse aplicado
> > arquivos
> > > > novos, acho que um chown -R toda meia noite não seria o ideal...
> > > >
> > >
> > > Então de uma olhada em puppet, chef ou rexify.
> > >
> > > Estamos usando puppet na globo.com, eu crio um "projeto" que descreve
> > como
> > > o meu servidor vai funcionar, ou seja eu crio diretorios, instalo rpms,
> > > crio arquivos de configuração e, o mais importante, basta alterar esse
> > > projeto e mandar o puppet rodar na maquina de destino que ela aplica o
> > que
> > > for necessario. Pode ser interessante se o seu projeto for mais
> complexo
> > do
> > > que um ou mais diretorios, se for menor que isso use shell script
> mesmo,
> > > com as dicas do julião.
> > >
> > > Julio, um chown resolveria meu problema sim, mas o tempo que ele leva
> pra
> > > > executar o chown eu acho um pouco alto, devido a quantidade de
> > arquivo...
> > > > então o que pensei seria analisar os arquivos com permissão
> diferente e
> > > > depois aplicar o chown...
> > > >
> > > > Não se essa solução seria a melhor, pois fatalmente o find levaria a
> um
> > > > chown ...
> > > >
> > > >
> > > > *Raphael Rabelo*
> > > > *Fone:* (11) 6105-8257
> > > > *MSN:* address@hidden
> > > > *Site:* www.raphaelr.com.br
> > > > *LinkedIn*: <http://www.linkedin.com/profile/view?id=79847968>
> > > >
> > > > Pense antes de imprimir este e-mail.
> > > >
> > > > 2012/6/12 Julio C. Neves <address@hidden>
> > > >
> > > >
> > > > > Fala Raphael,
> > > > > se vc quiser ver os arquivos diferentes, será que um simples:
> > > > >
> > > > > $ ls -l /diretorio/desejado | grep -v 'apache *www-data'
> > > > >
> > > > > Não resolveria?
> > > > >
> > > > > Por outro lado, se não interessar quem está diferente acho que
> > bastaria
> > > > um
> > > > > chown ... * e um chgrp ... *
> > > > >
> > > > > Abcs,
> > > > > Julio
> > > > >
> > > > > *
> > > > > *
> > > > >
> > > > >
> > > > >
> > > > > Em 12 de junho de 2012 15:46, Raphael R. O. <address@hidden>
> > > > escreveu:
> > > > >
> > > > > > **
> > > > > >
> > > > > >
> > > > > > Thiago tudo certo ?
> > > > > >
> > > > > > Eu preciso ver quer tem permissões diferentes, para poder
> aplicar a
> > > > > > permissão correta. Exemplo:
> > > > > >
> > > > > > Diretório principal é o /var/www
> > > > > > Dentro desse diretório eu preciso que TODOS os arquivos E pastas
> > > > tenham o
> > > > > > seguinte owner e group: apache:www-data
> > > > > >
> > > > > > O que consegui fazer até agora foi o seguinte:
> > > > > >
> > > > > > #!/bin/bash
> > > > > >
> > > > > > for i in `find /var/www/ -type d -path ' /var/www/files' -prune
> -o
> > > > -type
> > > > > f
> > > > > > -exec ls -ahl '{}' \; | awk -F " " '{print $3"."$4}'`
> > > > > > do
> > > > > > if [ $i != "apache.www-data" ]
> > > > > > then
> > > > > > echo "Arquivo ok! $i"
> > > > > > else
> > > > > > echo "DIFF: $i"
> > > > > > fi
> > > > > > done
> > > > > >
> > > > > > Mas ainda nao sei se é a melhor solução... achei meio cabrito
> > hehehe
> > > > > >
> > > > > >
> > > > > > *Raphael Rabelo*
> > > > > > *Fone:* (11) 6105-8257
> > > > > > *MSN:* address@hidden
> > > > > > *Site:* www.raphaelr.com.br
> > > > > > *LinkedIn*: <http://www.linkedin.com/profile/view?id=79847968>
> > > > > >
> > > > > > Pense antes de imprimir este e-mail.
> > > > > >
> > > > > > 2012/6/12 Tiago Peczenyj <address@hidden>
> > > > > >
> > > > > > > Ola
> > > > > > >
> > > > > > > vc precisa verificar quem tem permissões diferentes ou se o
> > > arquivo x
> > > > > > > precisa ter permissão tal e grupo tal e não tem (e por acaso vc
> > tem
> > > > uma
> > > > > > > base de dados com estas informações)?
> > > > > > >
> > > > > > > se for a segunda acho que vc pode utilizar uma ferramenta como
> > chef
> > > > ou
> > > > > > > puppet (talvez rexify) para garantir esse tipo de coisa entre
> > > > > servidores.
> > > > > > > para a primeira vc poderia gerar um arquivo com o conteudo de
> um
> > ls
> > > > > -la e
> > > > > > > filtrar as colunas que vc quer com awk, fazendo um diff depois.
> > > > > > >
> > > > > > > 2012/6/12 Raphael R. O. <address@hidden>
> > > > > > >
> > > > > > > > **
> > > > > > > >
> > > > > > > >
> > > > > > > > Olá pessoal, boa tarde!
> > > > > > > >
> > > > > > > > Tenho um script que checa em vários servidores, a
> consistência
> > > dos
> > > > > > > arquivos
> > > > > > > > de uma uma pasta, gerando um arquivo txt com o md5 de cada
> > > arquivo
> > > > e
> > > > > > > depois
> > > > > > > > comparando os 2 arquivos afim de checar se existe algum
> arquivo
> > > > > > diferente
> > > > > > > > dentro dessas pastas.
> > > > > > > > Ok, isso resolve meu problema quanto a modificação de
> arquivos,
> > > > porém
> > > > > > se
> > > > > > > as
> > > > > > > > permissões dos arquivos, owner e group do arquivo estiverem
> > > > > diferente,
> > > > > > o
> > > > > > > > md5 não consegue checar.
> > > > > > > >
> > > > > > > > Bom, preciso de algum script que procure dentro dessa pasta,
> > > > > arquivos e
> > > > > > > > pastas que estejam com permissões diferentes das que eu
> > > determinei,
> > > > > por
> > > > > > > > exemplo:
> > > > > > > > Dentro da pasta /var/www eu quero saber quais os arquivos e
> > > pastas
> > > > > > estão
> > > > > > > > com owner e group diferente de apache.www-data
> > > > > > > > Eu consegui até agora localizar os arquivos, porém
> > determinando o
> > > > > group
> > > > > > > que
> > > > > > > > desejo procurar:
> > > > > > > >
> > > > > > > > find /var/www/ -type d -path ' /var/www/files' -prune -o
> -group
> > > > root
> > > > > > > -type
> > > > > > > > f -exec ls -ahl '{}' \+
> > > > > > > >
> > > > > > > > Porém ainda não funciona, pois as vezes o group pode ser
> > > diferente
> > > > de
> > > > > > > root.
> > > > > > > > Alguem consegue me dar essa luz ?
> > > > > > > >
> > > > > > > > Abs!
> > > > > > > > *Raphael Rabelo*
> > > > > > > > *Fone:* (11) 6105-8257
> > > > > > > > *MSN:* address@hidden
> > > > > > > > *Site:* www.raphaelr.com.br
> > > > > > > > *LinkedIn*: <
> http://www.linkedin.com/profile/view?id=79847968>
> > > > > > > >
> > > > > > > > Pense antes de imprimir este e-mail.
> > > > > > > >
> > > > > > > > [As partes desta mensagem que não continham texto foram
> > > removidas]
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > --
> > > > > > > Tiago B. Peczenyj
> > > > > > > Linux User #405772
> > > > > > >
> > > > > > > http://pacman.blog.br
> > > > > > >
> > > > > > >
> > > > > > > [As partes desta mensagem que não continham texto foram
> > removidas]
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > ------------------------------------
> > > > > > >
> > > > > > > ----------------------------------------------------------
> > > > > > > Esta lista não admite a abordagem de outras liguagens de
> > > programação,
> > > > > > como
> > > > > > > perl, C etc. Quem insistir em não seguir esta regra será
> moderado
> > > sem
> > > > > > > prévio aviso.
> > > > > > > ----------------------------------------------------------
> > > > > > > Sair da lista: address@hidden
> > > > > >
> > > > > > > ----------------------------------------------------------
> > > > > > > Esta lista é moderada de acordo com o previsto em
> > > > > > > http://www.listas-discussao.cjb.net
> > > > > > > ----------------------------------------------------------
> > > > > > > Servidor Newsgroup da lista: news.gmane.org
> > > > > > > Grupo: gmane.org.user-groups.programming.shell.brazil
> > > > > > >
> > > > > > > Links do Yahoo! Grupos
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > > [As partes desta mensagem que não continham texto foram
> removidas]
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > > [As partes desta mensagem que não continham texto foram removidas]
> > > > >
> > > > >
> > > > >
> > > > > ------------------------------------
> > > > >
> > > > > ----------------------------------------------------------
> > > > > Esta lista não admite a abordagem de outras liguagens de
> programação,
> > > > como
> > > > > perl, C etc. Quem insistir em não seguir esta regra será moderado
> sem
> > > > > prévio aviso.
> > > > > ----------------------------------------------------------
> > > > > Sair da lista: address@hidden
> > > > > ----------------------------------------------------------
> > > > > Esta lista é moderada de acordo com o previsto em
> > > > > http://www.listas-discussao.cjb.net
> > > > > ----------------------------------------------------------
> > > > > Servidor Newsgroup da lista: news.gmane.org
> > > > > Grupo: gmane.org.user-groups.programming.shell.brazil
> > > > >
> > > > > Links do Yahoo! Grupos
> > > > >
> > > > >
> > > > >
> > > >
> > > > [As partes desta mensagem que não continham texto foram removidas]
> > > >
> > > >
> > > >
> > >
> > >
> > >
> > > --
> > > Tiago B. Peczenyj
> > > Linux User #405772
> > >
> > > http://pacman.blog.br
> > >
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> > > ------------------------------------
> > >
> > > ----------------------------------------------------------
> > > Esta lista não admite a abordagem de outras liguagens de programação,
> > como
> > > perl, C etc. Quem insistir em não seguir esta regra será moderado sem
> > > prévio aviso.
> > > ----------------------------------------------------------
> > > Sair da lista: address@hidden
> > > ----------------------------------------------------------
> > > Esta lista é moderada de acordo com o previsto em
> > > http://www.listas-discussao.cjb.net
> > > ----------------------------------------------------------
> > > Servidor Newsgroup da lista: news.gmane.org
> > > Grupo: gmane.org.user-groups.programming.shell.brazil
> > >
> > > Links do Yahoo! Grupos
> > >
> > >
> > >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> ------------------------------------
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem
> prévio aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
> Servidor Newsgroup da lista: news.gmane.org
> Grupo: gmane.org.user-groups.programming.shell.brazil
>
> Links do Yahoo! Grupos
>
>
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]