Confuso sobre a mensagem de erro do Debian do su

4

Em Raspbian, a distro Debian destinada a RPi, acabei recebendo o seguinte erro:

$ sudo su -l root -c /bin/bash
bash: cannot set terminal process group (-1): Inappropriate ioctl for device
bash: no job control in this shell

... no entanto, se eu alterar isso para sudo su - , tudo funciona bem. Alguma idéia do que está errado na linha de comando acima? A questão principal aqui é que o terminal é borked após este comando ...

Eu encontrei este relatório de bug , mas parece que não há clonagem.

Informações do sistema

$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 7.0 (wheezy)
Release:        7.0
Codename:       wheezy
$ dpkg -l |grep sudo
ii  libgksu2-0                            2.0.13~pre1-6                        armhf        library providing su and sudo functionality
ii  sudo                                  1.8.5p2-1                            armhf        Provide limited super user privileges to specific users

NOTA

O motivo pelo qual estou usando -c /bin/bash é que realmente parece mais com -c /bin/bash --rcfile /path/to/rcfile ... e, portanto, é diferente de um mero sudo -i ou sudo su - e assim por diante ...

A razão pela qual eu dei a linha de comando, como fiz acima na minha pergunta, foi que é o exemplo mínimo que reproduz o problema.

    
por 0xC0000022L 23.02.2013 / 06:43

1 resposta

3

Após um pouco de pesquisa, parece que esse é o comportamento esperado por enquanto , porque é uma correção de segurança. Por outro lado, descobri que isso também acrescenta um pequeno risco de segurança, mas vou ter que fazer mais algumas pesquisas para ter certeza de que não estou confundindo antes de reportá-lo aos caras do Debian.

Aqui está o bug que eles corrigiram: login: tty o seqüestro possível em "su" via TIOCSTI ioctl

Meu entendimento é que o comando su costumava deixar /dev/tty aberto para o processo chamado e assim o processo, mesmo com privilégios reduzidos, poderia injetar código no terminal que seria executado após o comando su terminar. Eles corrigiram o problema (eu diria que ele remendou o macaco) fechando o tty, e é por isso que o recém-iniciado bash está reclamando.

    
por 13.05.2013 / 00:44