urxvt는 두 개의 프로세스를 시작합니다

urxvt는 두 개의 프로세스를 시작합니다

나는 그것을 사용하기 시작했고 urxvt그것이 켜질 때마다 2개의 PID를 시작한다는 것을 알았습니다. 그것들은 연속적입니다. 나는 그것을 포함하지 않습니다 bash.

ps

PID    %CPU %MEM   VSZ   RSS TTY      STAT START   TIME COMMAND
21193  0.1  0.3 113368 29340 ?        Ss   12:13   0:00 rxvt
21194  0.0  0.0  31932  3716 ?        S    12:13   0:00 rxvt

pstree

├─rxvt─┬─bash
       └─rxvt

나는 urxvtd(rxvt 데몬)을 시도했고 2개의 PID도 시작했습니다. st또는 에서 이 동작을 본 적이 없습니다 xterm. 그들은 스스로 프로세스를 열고 bash.. 정상입니까?

데비안 10, rxvt-unicode 패키지.

답변1

urxvtsetuid/setgid를 실행하여 사용utmp/wtmp(이 기능을 사용하면who그리고last주문하다). 직접적으로 그렇게 하는 것은 잠재적인 취약점으로 간주됩니다. xterm일반적인 사용우텐푸트, 이러한 상황을 방지하기 위해. st직접적인 지원은 없다utmp/wtmp. FAQ에 따르면 다른 프로그램을 사용하여 작업을 수행할 수 있습니다.

## Why does st not handle utmp entries?

Use the excellent tool of [utmp](https://git.suckless.org/utmp/) for this task

urxvt 문서에서는 포크를 다르게 설명합니다.

내 OS에서 utmp/ptys를 지원하려면 setuid/setgid를 만들어야 합니다. 이것이 안전한가요?

이는 버전 7.1부터 적용됩니다. 이제 운영 체제에 필요한 권한을 사용하여 urxvt를 올바르게 설치하는 것이 좋습니다.

rxvt-unicode가 setuid 또는 setgid를 실행 중임을 감지하면 도우미 프로세스로 분기하여 권한 있는 작업(일부 시스템에서는 pty 처리, 다른 시스템에서는 utmp/wtmp/lastlog 처리)을 수행하고 즉시 권한을 제거합니다. 이는 런타임 시 권한을 유지하는 대부분의 다른 터미널보다 훨씬 안전합니다(그러나 공격자에게 "도움이 될" 수 있는 Perl 해석기와 같은 기능이 포함되어 있으므로 urxvt와 더 관련이 있습니다).

이 포크는 매우 초기 단계인 main()에서 먼저 수행되며, main() 이전에 실행되는 초기화 코드 또는 시스템의 동적 로더와 같은 것에서 발생할 수 있는 오류를 줄입니다. 이로 인해 위험이 거의 발생하지 않습니다.

터미널이 utmp/wtmp를 지원하는지 확인하는 쉬운 방법은 다음을 실행하는 것입니다.w주문하다. 결과 출력은 다음을 나타냅니다.w명령(터미널이 이 기능을 지원하는 경우) 나는 이것을 본다xterm:

09:57:14 업데이트됨 2:34, 사용자 5명, 로드 평균: 0.05, 0.01, 0.00
로그인한 사용자 TTY@ IDLE JCPU PCPU에서 무엇
Tompts/1 192.168.1.8:S.0 07:24 5:45 7.49s 7.46s 악
톰 pts/2 192.168.1.8:S.1 07:25 42:02 0.13s 0.10s ded /usr/build/
톰 pts/3 192.168.1.8:S.2 09:15 7:45 0.41s 0.38s ded rpmbuild//S
톰 pts/4 192.168.1.8:S.3 09:51 12.00s 0.16s 0.00s sh -c uxterm-de
톰 pts/5 localhost:10.0 09:57 0.00초 0.04초 0.00sw

이것은st:

09:59:07 업데이트됨 2:36, 사용자 4명, 로드 평균: 0.00, 0.00, 0.00
로그인한 사용자 TTY@ IDLE JCPU PCPU에서 무엇
Tompts/1 192.168.1.8:S.0 07:24 7:38 7.58s 7.55s 악
톰 pts/2 192.168.1.8:S.1 07:25 43:55 0.13s 0.10s ded /usr/build/
Tom pts/3 192.168.1.8:S.2 09:15 9:38 0.41s 0.38s ded rpmbuild //source/
톰 pts/4 192.168.1.8:S.3 09:51 27.00s 0.39s 0.00s sh -c stterm

관련 정보