패키지 관리자 패키지 목록을 업데이트하려면 루트 액세스 권한이 필요한 이유는 무엇입니까?
안녕하세요,
패키지 관리자 패키지 목록을 업데이트하려면 왜 루트 액세스가 필요한지 항상 궁금했습니다.
지정된 디렉터리에 있는 데이터베이스에 액세스하려면 권한이 필요하다는 것을 이해합니다.
그런데 왜 루트가 없으면 업데이트도 확인할 수 없나요?
다른 사용자에게는 영향을 미치지 않습니다. 보류 중인 업데이트에 대해 아는 것은 보안 결함일 수 있지만 설치된 버전과 최신 버전은 다른 방법으로 쉽게 감지할 수 있습니다.
그 이유는 무엇입니까?
내가 아는 한 이러한 행동은 흔한 일이다. Fedora, Ubuntu, Debian 및 Arch는 모두 이 동작을 가지며 아마도 다른 많은 배포판도 마찬가지일 것입니다.
답변1
일반 사용자가 패키지 목록을 수정할 수 있는 경우 슈퍼유저가 설치하기 전에 다시 업데이트하지 않으면 패키지 시스템이 추가 패키지를 설치하도록 속이기 쉽습니다.
답변2
동기화/업데이트 단계에 권한이 부여되는 이유는 업데이트를 수행하는 프로세스의 UID/GID가 패키지 디렉터리 트리를 변경할 수 있어야 하기 때문입니다. 예, 서비스나 set[gu]id 실행 파일을 사용하여 수행할 수 있지만 시스템 관리가 허용된 기능으로 기능을 제한하는 것도 쉽고 관리하기 쉽습니다. 다른 사람이 관리 작업을 방해해서는 안 됩니다. 우선 비트!
어떤 패키지가 업그레이드되는지 확인하려는 경우에는 별도의 질문입니다. 대부분의 배포판에서는 일반적으로 권한이 필요하지 않은 업그레이드를 가장/시뮬레이트할 수 있습니다. (제가 사용하는) Gentoo의 경우, emerge -up @world
배포판의 패키지 관리자에서 동등한 옵션을 확인하세요.