루트가 아닌 사용자가 apt 또는 rpm을 사용하여 시스템 전체에 패키지를 설치할 수 있습니까?
내가 일하는 곳은 현재 Linux 상자에 오래된 설정이 있으며 관리자는 요청에 따라 사용자를 위해 모든 설치를 수행해야하므로 모든 사용자에게 완전한 sudo 권한을 부여하려고합니다. 이것은 명백한 보안상의 단점이 있습니다. 일반 사용자가 소프트웨어를 설치하고 업그레이드하고 제거 할 수있는 방법이 있는지 궁금합니다.
답변
sudo로 허용 된 명령을 지정할 수 있습니다. 예를 들어 무제한 액세스를 허용 할 필요는 없습니다.
username ALL = NOPASSWD : /usr/bin/apt-get , /usr/bin/aptitude
이 이름의 실행을 허용 할 sudo apt-get
및 sudo aptitude
모든 암호 않고 있지만 다른 명령을 허용하지 않을 것입니다.
당신은 또한 사용할 수있는 패키지 키트 (PackageKit) 과 결합 PolicyKit을 sudo를보다 제어 좀 더 미세한 수준.
사용자가 패키지를 설치 / 제거하도록 허용하면 위험 할 수 있습니다. libc6, dpkg, rpm 등과 같은 필요한 소프트웨어를 제거하는 것만으로 시스템을 쉽게 작동하지 않을 수 있습니다. 정의 된 아카이브에서 임의의 소프트웨어를 설치하면 공격자가 오래되거나 악용 가능한 소프트웨어를 설치하고 루트 액세스 권한을 얻을 수 있습니다. 내 의견으로는 주된 질문은 직원들을 얼마나 신뢰 하는가?
물론 관리자 팀은 꼭두각시, 요리사와 같은 구성 관리 시스템을 사용하거나 시스템을 관리하기 위해 우주 유영을 살펴볼 수도 있습니다. 이를 통해 중앙 시스템에서 시스템을 구성하고 관리 할 수 있습니다.
답변
매뉴얼 페이지에서 :
aptdcon
: aptdaemon을 사용하여 소프트웨어 설치 또는 제거와 같은 패키지 관리 작업을 수행 할 수 있습니다. 이 프로그램을 실행하기 위해 루트 일 필요는 없습니다.
답변
username ALL = NOPASSWD : /usr/bin/yum, /bin/rpm
답변
나는 또한 그런 것을 찾았지만 아무것도 나타나지 않았 으므로이 쉬운 솔루션을 “softwarechannels”로 코딩했습니다.
https://github.com/alfem/softwarechannels
일반 (관리자 아님) 사용자가 제한된 카탈로그에서 패키지를 설치할 수 있도록하는 매우 간단한 시스템입니다.
간단한 텍스트 파일로 ‘채널'(패키지 그룹)을 정의하고 사용자에게 소프트웨어 채널을 시작할 수있는 권한을 부여하십시오.
유닉스 그룹과 일치하는 채널의 패키지 만 볼 수 있습니다.