Inicializado pelo NFS Linux não tem permissão para o comando su

0

Eu iniciei o Linux em NFS com o sistema Android. E agora eu tenho que executar o comando como super use em minicom . Mas o sistema não me permite mudar para o modo de super usuário. Toda vez que digito:

shell@blaze_tablet:/ $ su   

Eu vejo:

su: permission denied

Existe um parâmetro em bootargs que adicionei em u-boot androidboot.selinux=disabled , o que achei que ajudaria. Mas isso não acontece. Pode ser problema com permissão para alguns arquivos em NFS ? Ou perdi algum parâmetro em bootargs ?

Atualizar

O conteúdo do meu arquivo /etc/exports

# /etc/exports: the access control list for filesystems which may be exported
#       to NFS clients.  See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes       hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes  gss/krb5i(rw,sync,no_subtree_check)
/export/rfs    *(rw,nohide,insecure,no_subtree_check,async,no_root_squash)
    
por Dropper 27.06.2016 / 09:39

2 respostas

1

Você escreveu:

result of execution of ls -l $(type -p su)

-rwxr-xr-x root root 157400 2016-04-21 19:11 su

Existe o seu problema. su está faltando o bit raiz do setuid. As permissões devem ser assim:

-rwsr-xr-x 1 root root 40040 Nov 12  2015 /bin/su

Existem três possibilidades para esta situação.

  1. O executável su no servidor não está setuid (verifique com ls -l $(type -p su) no servidor)
  2. A montagem do NFS no cliente não inclui - ou exclui explicitamente - o bit setuid. Verifique se você não tem nosuid no seu comando mount e, se tiver dúvidas, adicione suid como uma opção explícita
  3. A segurança do Android é implementada de forma completamente diferente da segurança do Unix / Linux. Se este for o caso, não posso ajudá-lo
por 29.06.2016 / 10:35
1

Normalmente, isso acontece se o compartilhamento NFS não for exportado corretamente.

Por padrão, o usuário root é mapeado para nobody . Isso significa que quando você tenta executar su (que é suid root), então você tentará acessar os arquivos no servidor NFS como usuário nobody ... e isso não permitirá que você leia /etc/shadow e similares.

Você não disse qual é o seu servidor NFS, mas se é o Linux normal, você precisa adicionar no_root_squash à exportação.

por exemplo,

/directory client(rw,no_root_squash,async,insecure)

Agora, o usuário root acessará os arquivos como se fossem 0, e assim poderão ler os arquivos protegidos.

    
por 27.06.2016 / 13:27