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: Tiago Peczenyj
Subject: Re: [shell-script] Checar permissão e dono de arquivo
Date: Tue, 12 Jun 2012 16:48:35 -0300

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]



reply via email to

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