패키지 관리자의 패키지 목록을 업데이트하려면 루트 액세스 권한이 필요한 이유는 무엇입니까?

패키지 관리자의 패키지 목록을 업데이트하려면 루트 액세스 권한이 필요한 이유는 무엇입니까?

패키지 관리자 패키지 목록을 업데이트하려면 루트 액세스 권한이 필요한 이유는 무엇입니까?

안녕하세요,

패키지 관리자 패키지 목록을 업데이트하려면 왜 루트 액세스가 필요한지 항상 궁금했습니다.

지정된 디렉터리에 있는 데이터베이스에 액세스하려면 권한이 필요하다는 것을 이해합니다.

그런데 왜 루트가 없으면 업데이트도 확인할 수 없나요?

다른 사용자에게는 영향을 미치지 않습니다. 보류 중인 업데이트에 대해 아는 것은 보안 결함일 수 있지만 설치된 버전과 최신 버전은 다른 방법으로 쉽게 감지할 수 있습니다.

그 이유는 무엇입니까?

내가 아는 한 이러한 행동은 흔한 일이다. Fedora, Ubuntu, Debian 및 Arch는 모두 이 동작을 가지며 아마도 다른 많은 배포판도 마찬가지일 것입니다.

답변1

일반 사용자가 패키지 목록을 수정할 수 있는 경우 슈퍼유저가 설치하기 전에 다시 업데이트하지 않으면 패키지 시스템이 추가 패키지를 설치하도록 속이기 쉽습니다.

답변2

동기화/업데이트 단계에 권한이 부여되는 이유는 업데이트를 수행하는 프로세스의 UID/GID가 패키지 디렉터리 트리를 변경할 수 있어야 하기 때문입니다. 예, 서비스나 set[gu]id 실행 파일을 사용하여 수행할 수 있지만 시스템 관리가 허용된 기능으로 기능을 제한하는 것도 쉽고 관리하기 쉽습니다. 다른 사람이 관리 작업을 방해해서는 안 됩니다. 우선 비트!

어떤 패키지가 업그레이드되는지 확인하려는 경우에는 별도의 질문입니다. 대부분의 배포판에서는 일반적으로 권한이 필요하지 않은 업그레이드를 가장/시뮬레이트할 수 있습니다. (제가 사용하는) Gentoo의 경우, emerge -up @world배포판의 패키지 관리자에서 동등한 옵션을 확인하세요.

관련 정보