나는 그것을 사용하기 시작했고 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
urxvt
setuid/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 문서에서는 포크를 다르게 설명합니다.
이는 버전 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