pacman 및 apt와 같은 패키지 관리자에서 루트 검사는 소스 코드에 하드 코딩된 guid 검사를 사용합니다. 왜 이런거야?
권한이 없는 사용자는 소스에서 의사 루트 디렉터리(사용자 디렉터리 내)로 프로그램(예: 크롬 브라우저)을 컴파일하고 실행할 수 있습니다. 사용자는 미리 컴파일된 바이너리를 다운로드하여 실행할 수도 있습니다. 사용자가 권한 상승 없이 패키지 관리자를 사용하여 의사 루트 디렉터리(사용자 홈 디렉터리 내)에 직접 소프트웨어를 설치하도록 허용하면 안 될까요?
IMO 패키지 관리자는 루트 소유 디렉터리에 파일을 쓸 때 sudo만 필요합니다. 예를 들어 /bin 또는 /etc입니다.
일부 보안 문제를 간과한 경우 알려 주시기 바랍니다.
참고: 일부 연구에 따르면 사용자 공간을 위한 대체 패키지 관리자가 존재하는 것으로 나타났습니다. 루트 권한 없이 패키지 관리 https://askubuntu.com/questions/339 루트가 아닌 패키지 관리자
내 질문은 여전히 남아 있습니다. 왜 기본 패키지 관리자가 이러한 사용 사례를 지원하지 않는가? 더 우아한 구현이 있었을 수도 있습니다.
답변1
패키지 관리자는 모든 사용자에게 영향을 미치기 때문에 루트로 실행해야 합니다.
IMO 패키지 관리자는 루트 소유 디렉터리에 파일을 쓸 때 sudo만 필요합니다. 예를 들어 /bin 또는 /etc입니다.
또한 설치된 패키지의 데이터베이스를 관리하려면 루트 액세스가 필요합니다.
사용자의 홈 디렉터리에 소프트웨어를 설치하는 패키지 관리자는 루트로 실행할 필요가 없습니다.
왜 대부분의 패키지 관리자는 홈 디렉터리에 프로그램을 설치하는 것을 허용하지 않습니까? 종속성 관리가 어렵기 때문입니다. 내 경험상 대부분의 사람들은 이것을 과소평가한다. 소프트웨어가 시스템 전체에 설치되는 경우 고려해야 할 종속성 세트는 하나만 있습니다. 시스템 전체 소프트웨어(적어도 패키지 관리자를 실행하는 데 필요한 라이브러리!)와 사용자 전용 소프트웨어를 혼합하면 종속성을 관리하기가 더 어려워집니다.
답변2
패키지 관리자는 시스템을 수리하고 중단시키는 강력한 도구입니다.
모든 작업에 대한 권한을 확인할 때 루트 권한을 요청하는 것이 더 쉽습니다.