인간은 왜 자신의 사용자를 가지고 있습니까?

인간은 왜 자신의 사용자를 가지고 있습니까?

man왜 자체 사용자가 있는지 궁금합니다 .

$ grep man /etc/passwd
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin

저는 데비안 버스터를 사용하고 있습니다.

답변1

man(적어도,구현 버전man-db)는 "캐시"(인덱싱 포함)가 사용되도록 자체 사용자로 설정할 수 있습니다.예를 들어) 가 whatis아닌 이 사용자가 소유하고 업데이트할 수 있습니다 root.

또한 man이 사용자에 대해 uid를 설정하여 사용자에게 특정 권한을 요구하지 않고도 캐시 디렉터리에 쓸 수 있도록 할 수 있습니다.

$ ls -ld /var/cache/man /usr/bin/man
-rwsr-sr-x  1 man man 115600 Feb 19  2021 /usr/bin/man
drwxr-xr-x 31 man man   4096 Nov 23 00:00 /var/cache/man

위에 표시된 man바이너리 는 setuid 및 setgid man뿐만 아니라 manowns 입니다 /var/cache/man.

sudo dpkg-reconfigure man-db데비안 파생물에서는 다음과 같은 설명을 사용할 수 있습니다 .

man 및 mandb 프로그램은 "man" 사용자의 권한으로 실행되도록 set-user-id 비트를 설정하여 설치할 수 있습니다. 이를 통해 일반 사용자는 미리 형식화된 매뉴얼 페이지("cat 페이지")를 캐싱하여 느린 시스템의 성능을 향상시키는 데 도움이 될 수 있습니다.

맨페이지 캐싱은 80열 터미널을 사용하는 경우에만 작동합니다. 이는 한 사용자가 다른 사용자에게 불편한 너비로 Cat 페이지를 저장하는 것을 방지하기 위한 것입니다. 와이드 터미널을 사용하는 경우 MANWIDTH=80을 설정하여 매뉴얼 페이지의 형식을 80열로 강제 설정할 수 있습니다.

이 기능을 활성화하면 보안상 위험할 수 있으므로 기본적으로 비활성화되어 있습니다. 의심스러운 경우 비활성화해야 합니다.

"Cat 페이지"는 이제 쓸모가 없으므로 이를 지원하지 않는 시스템을 구성해도 문제가 발생하지 않습니다. Cat 페이지도 지원되지만 임의의 사용자는 이를 생성할 수 없으므로 man정기적으로 생성하려면 사용자 및 setuid 바이너리가 필요합니다.모두고양이 페이지가 누락되었습니다( 참조 catman).

setuid 없이도 사용자 man는 관련 크론 작업( 인덱싱 등) man에 사용될 수 있습니다 .manwhatis

관련 정보