su의 데비안 오류 메시지에 대해 혼란스러워함

su의 데비안 오류 메시지에 대해 혼란스러워함

RPi용 Debian 배포 Raspbian에서 다음 오류가 발생합니다.

$ 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

...하지만 로 변경하면 sudo su -모든 것이 잘 작동합니다. 위의 명령줄에 어떤 문제가 있는지 아시나요? 여기서 가장 큰 문제는 이 명령을 실행한 후 터미널이 중단된다는 것입니다...

내가 찾은이 버그 보고서하지만 결론은 없는 것 같습니다.


시스템 메시지

$ 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

노트

내가 그것을 사용하는 이유 -c /bin/bash는 실제로 그것이 -c /bin/bash --rcfile /path/to/rcfile평범 sudo -i하거나 sudo su -어쩌고 저쩌고 하는 것과는 ... 너무 다르기 때문입니다...

질문에 위와 같은 명령줄을 준 이유는 문제를 재현하기 위한 최소한의 예시이기 때문입니다.

답변1

좀 파고보니 그런 것 같다.이는 현재 예상되는 동작입니다., 이는 보안 수정 사항이기 때문입니다. 반면에 나는 이것이 약간의 보안 위험을 추가한다는 것을 알았지만 데비안 사람들에게 보고하기 전에 내가 실수하지 않았는지 확인하기 위해 더 많은 조사를 해야 할 것입니다.

그들이 수정한 버그는 다음과 같습니다.로그인: TIOCSTI ioctl을 통해 "su"에서 tty 하이재킹 가능성

내가 이해하는 바는 su명령이 호출된 프로세스에 대해 열린 상태를 유지하는 데 사용되므로 /dev/tty해당 프로세스는 권한이 낮더라도 su명령이 끝난 후에 실행될 터미널에 코드를 삽입할 수 있다는 것입니다. 그들은 tty를 닫음으로써 그것을 패치했고 (나는 원숭이가 패치했다고 말하고 싶습니다) 새로 시작된 bash가 불평하는 이유입니다.

관련 정보