Alterando a propriedade não permitida

0

Provavelmente respondeu muitas vezes, mas conto encontrar a solução do meu caso.

Estou compilando um projeto Yocto com bitbake.

Uma receita do bitbake tenta alterar a permissão de alguns dir e arquivos usando o comando chown. O problema é que o comando falha devido a alteração da operação de propriedade não peermitted .

O comando Bitbake é iniciado pelo usuário luca, que também é um sudoers. Se eu digitar ls -l, o que eu vejo na pasta problemática é:

-rw-r--r--  1 luca luca 1875 May 13 17:10 arm-thumb-mutex_db5.patch
-rw-r--r--  1 luca luca   33 May 13 17:10 configure.sstate
drwxr-xr-x 16 luca luca 4096 May 13 17:10 db-6.0.30
-rw-r--r--  1 luca luca  665 May 13 17:10 fix-parallel-build.patch
drwxr-xr-x  3 luca luca 4096 May 13 19:11 image
drwxr-xr-x  2 luca luca 4096 May 13 19:11 temp

Obviamente, se eu escrever manualmente, por exemplo, sudo chowwn 777 image funciona, mas não consigo alterar o script bitbake que causa o erro.

O que há de errado com minha permissão e usuário?

    
por LPs 13.05.2015 / 19:20

2 respostas

0

No final, fiz o chmod 777 de toda a pasta de fontes e comecei a trabalhar. Provavelmente permissões em scripts ou arquivos exec. Obrigado a todos pelo apoio.

    
por 16.05.2015 / 18:12
0

Eu estava recebendo erros semelhantes em bitbake. No meu caso, isso foi devido ao pseudo utilitário falhando, mas Yocto não mostra claramente os erros e parar. Em vez disso, continuou até que não conseguiu fazer chmod -R dir como usuário normal. O utilitário 'Pseudo' é usado para interceptar chown , chmod chamadas, rastreá-las em um banco de dados sqlite. Eles agem como se estivessem alterando suas permissões de arquivo RFS, mas na verdade não requerem raiz. No meu caso, se você procurou o erro no pacote que falhou:

build/tmp/work/aarch64-fsl-linux/gcc-runtime/linaro-4.9-r2015.03/temp> grep pseudo *
log.do_install:ERROR: ld.so: object 'libpseudo.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.

log.do_install.17098:ERROR: ld.so: object 'libpseudo.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.

Isso ocorreu porque alguém já havia definido recursos de segurança para atividades de desenvolvimento anteriores com: setcap cap_net_admin, cap_net_raw + eip / bin / bash ou / usr / bin / python. Para corrigir: setcap -r / bin / bash

Este post difícil de encontrar me disse: link

    
por 04.05.2018 / 03:06