chmod, suid e dispositivos removíveis

0

Eu tenho um instalador (um extrator de tarja glorificado) que extrai um monte de pacotes personalizados para um cartão SD (para um dispositivo incorporado). O instalador chama chmod para definir 4755 em alguns arquivos; a função returns 0 (sucesso), mas o arquivo não obtém o conjunto de bits suid. Então lembrei que existe algo como nosuid . Eu remontado ( mount -o remount,... ) o dispositivo sem nosuid e reran o instalador, mas ele ainda retornou 0 (sucesso) sem configurar o bit de permissão suid. (O instalador é executado através de sudo ).

Estou pensando:

  1. O nosuid significa simplesmente filtrar silenciosamente o bit suid em vez de realmente negar a operação (ou seja, retornar um erro)?
  2. Como se faz para permitir o suid em dispositivos removíveis? (De preferência temporariamente, mas se houver apenas uma solução permanente, isso também acontecerá).
  3. Eu manualmente chmod 4755:ed um arquivo [de um shell de root] no cartão SD e funcionou. Existe algo acontecendo porque estou executando o instalador através de sudo , o que faz com que a configuração suid não tenha nenhum efeito?

Especificamente em relação a essa última pergunta; Eu tenho que admitir que eu nunca entendi completamente a semântica do id do usuário eficaz vs real . Isso poderia estar relacionado ao que estou vendo?

(Eu sei sobre as questões de segurança relacionadas à permissão de suid em dispositivos removíveis; este é um sistema de desenvolvimento literalmente [*] armazenado em um cofre para permitir o acesso a apenas algumas pessoas autorizadas; é por isso que eu posso viver com permanentemente desabilitar nosuid montagens para dispositivos removíveis).

[*] Sim, no sentido correto da palavra. :)

    
por cypheratheist 16.09.2017 / 05:26

0 respostas