Inicializei o Linux NFS
com o sistema Android. E agora tenho que executar o comando como super uso no minicom
. Mas o sistema não me permite mudar para o modo superusuário. Toda vez que digito:
shell@blaze_tablet:/ $ su
Eu vejo:
su: permission denied
Há um parâmetro que bootargs
adicionei no u-boot androidboot.selinux=disabled
que achei que ajudaria. Mas isso não acontece. O problema pode estar na permissão para alguns arquivos NFS
? Ou perdi algum parâmetro em bootargs
?
Atualizar
O conteúdo do meu /etc/exports
arquivo
# /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)
Responder1
Você escreveu:
resultado da execução de
ls -l $(type -p su)
-rwxr-xr-x root root 157400 2016-04-21 19:11 su
Aí está o seu problema. su
está faltando o bit raiz setuid. As permissões devem ficar assim:
-rwsr-xr-x 1 root root 40040 Nov 12 2015 /bin/su
Existem três possibilidades para esta situação.
- O
su
executável no servidor não é setuid (verifique nols -l $(type -p su)
servidor) - A montagem NFS no cliente não inclui - ou exclui explicitamente - o bit setuid. Certifique-se de não ter
nosuid
seumount
comando e, em caso de dúvida, adicionesuid
como uma opção explícita - A segurança do Android é implementada de forma completamente diferente da segurança do Unix/Linux. Se for esse o caso, não posso ajudá-lo mais
Responder2
Normalmente isso acontece se o compartilhamento NFS não for exportado corretamente.
Por padrão, o root
usuário é mapeado para nobody
. Isso significa que quando você tentar executar su
(que é suid root), 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 for o Linux normal, você precisará adicionar no_root_squash
à exportação.
por exemplo
/directory client(rw,no_root_squash,async,insecure)
Agora o root
usuário acessará os arquivos como se fosse uid 0, podendo assim ler os arquivos protegidos.