Use root para criar shell root para outro usuário

2

Eu estou trabalhando com um sistema Linux embutido que tem dois usuários notáveis: root e admin. Eu consigo logar via ssh como admin, mas não como root (senha desconhecida). O fabricante do sistema abriu temporariamente uma falha de segurança que me permite usar o usuário admin para criar um script de inicialização que é executado como root. Eu quero usar este script de boot para gerar um shell de root que eu possa conectar mais tarde usando o administrador do usuário. Não tenho certeza da terminologia, mas acho que quero criar um virtual tty conectado a um shell interativo com permissões definidas para que o administrador possa abri-lo. Não sei o que os comandos devem executar para que isso aconteça.

    
por Isaac Sutherland 12.08.2016 / 22:37

1 resposta

0

I think I want to create a virtual tty connected to an interactive shell

Bem, claro, você pode fazer isso - mas como você vai se conectar a este tty? Se você tiver uma conexão serial no dispositivo, poderá executar um shell interativo:

sh </dev/ttyS0 >/dev/ttyS0 2>/dev/ttyS0

Não há login envolvido, você conecta um cabo serial e obtém um shell de root. Se você está se conectando através do SSH, isso é menos fácil, porque o SSH não foi projetado para ignorar o log in. É claro que você pode definir uma senha em branco para a conta root e configurar o SSH para autorizar logins root.

Mas isso é o que você deseja é permitir que qualquer pessoa que possa se conectar ao dispositivo execute comandos como root. Se você quiser permitir que o usuário administrador eleve os privilégios ao root, então, envolver um terminal não faz sentido.

A maneira mais direta seria definir uma senha para a conta raiz que você conhece. Como alternativa, instale o sudo no dispositivo e adicione a seguinte linha ao arquivo /etc/sudoers :

admin ALL=(ALL:ALL) ALL

Em seguida, você pode executar comandos como root na conta admin executando sudo mycommand ( sudo -s para obter um shell). Se você não quiser digitar a senha da conta admin quando executar sudo , adicione NOPASSWD: após o parêntese de fechamento.

Se o sistema de arquivos raiz for somente leitura, você poderá instalar sudo em outro lugar. O binário deve estar em um sistema de arquivos que é montado sem as opções noexec ou nosuid .

    
por 14.08.2016 / 00:54

Tags