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

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

Re: [shell-script] Verificar permissões de um arquivo


From: Flavio Junior
Subject: Re: [shell-script] Verificar permissões de um arquivo
Date: Fri, 14 Jul 2006 15:50:48 -0300

Se eu entendi sua duvida, tai uma das formas de fazer:

root@bishamonten:/tmp# pwd
/tmp
root@bishamonten:/tmp# : > testeperm # criando um arquivo vazio pra demonstrar
root@bishamonten:/tmp# chmod 0751 testeperm # setando as permissoes
rwxr-x--x no arquivo
root@bishamonten:/tmp# ls -l testeperm
-rwxr-x--x  1 root root 0 2006-07-14 15:48 testeperm*
root@bishamonten:/tmp# su nwadmin -c "[ -r testeperm ] && echo OK ||
echo NOK" # executando o teste como o usuario nwadmin
NOK
root@bishamonten:/tmp# su nwadmin -c "[ -x testeperm ] && echo OK ||
echo NOK" # executando o teste como o usuario nwadmin
OK
root@bishamonten:/tmp#


Boa sorte ;)

On 7/14/06, Herbert Alexander Faleiros <address@hidden> wrote:
On Friday 14 July 2006 13:23, Victor Leonardo wrote:
[cut]
> Teria como eu verificar se um arquivo possui determinada permissão para
> um usuário que não seja o atual, por exemplo, rodando a shell como root,
> verificar se um usuário comum possui permissão de escrita e leitura em
> um arquivo?

Procura em /tmp por aquivos cujo owner é "herbert" e permissão 0644, ou seja,
owner pode ler/escrever e demais apenas ler; redireciona a saída (formatada
como perm/owner/arquivo) p/ teste.txt:

$ find /tmp -user herbert -perm 644 -fprintf teste.txt '%#m %u %p\n'

$ cat teste.txt
0644 herbert /tmp/kde-herbert/konquerorfz1Khb.tmp
0644 herbert /tmp/kde-herbert/konquerorDkGkQb.tmp
0644 herbert /tmp/kde-herbert/konquerorrx92Za.tmp


Outro exemplo:

$ find /tmp -user herbert -perm u+rw -fprintf teste.txt '%#m %u %p\n'

0600 herbert /tmp/kde-herbert/gradient_header3FU9Kb.png
0600 herbert /tmp/kde-herbert/gradient_shadownhR8yb.png
0600 herbert /tmp/kde-herbert/gradient_shadowhLEEYb.png


A diferença agora é que a procura é "pelo menos" a permissão especificada:

$ find /tmp -user herbert -perm -644 -fprintf teste.txt '%#m %u %p\n'

0755 herbert /tmp/ksocket-herbert/faleiros-17b5-44a7371c
0755 herbert /tmp/ksocket-herbert/faleiros-1370-44a72ccf
0755 herbert /tmp/ksocket-herbert/faleiros-135f-44a72cb6


---------------------------------------------------------------------
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










reply via email to

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