it-swarm-ko.tech

루트가 아닌 사용자를위한 소프트웨어를 설치하도록 Software Center를 설정하려면 어떻게해야합니까?

루트가 아닌 사용자가 비밀번호를 입력하지 않고 Ubuntu 저장소에서 항목을 설치할 수 있도록 Software Center를 설정하려면 어떻게해야합니까?

보안 관련 사항을 완전히 알고 있으며 위험을 감수 할 의향이 있습니다. Fedora 12는 다음과 같이 제공됩니다. (PolicyKit 구성을 수정함으로써, 나는 믿는다)

47
snostorm

SoftwareKit 권한을 수정하여 사용자가 Software Center에서 사용하는 aptdaemon 백엔드에 액세스 할 수 있습니다.

dpkg --listfiles aptdaemon/usr/share/polkit-1/actions/org.debian.apt.policy이 aptdaemon 백엔드에서 가능한 조치를 지정하는 파일임을 보여줍니다.

해당 파일을 보면 < action id=""> 태그가 가능한 조치를 지정합니다. org.debian.apt.install-packages가 사용자가 아카이브에서 새 패키지를 설치할 수있게하고 org.debian.apt.update-cache가 사용자가 패키지 목록을 업데이트 할 수 있도록하려고합니다.

PolicyKit 작업에 대한 로컬 권한을 설정하는 방법은 man pklocalauthority를 참조하십시오. 다음을 /etc/polkit-1/localauthority/50-local.d/10-allow-users-to-install.pkla에 넣으면 로컬 컴퓨터에 로그인 한 모든 사용자가 자신의 암호를 입력 한 후 (관리 그룹에없는 경우에도) 패키지를 설치하고 암호를 입력하지 않고 패키지 캐시를 업데이트 할 수 있습니다.

[Untrusted Install]
Action=org.debian.apt.install-or-remove-packages
ResultyAny=no
ResultInactive=no
ResultActive=auth_self

[Untrusted Update]
Action=org.debian.apt.update-cache
ResultAny=no
ResultInactive=no
ResultActive=yes
36
RAOF

나는 현재 GUI를 통해 그렇게 할 수 있다고 생각하지 않지만 약간 어색하지만 다음과 같이 작동해야합니다. YMMV.

/ etc/sudoers에 다음 행을 추가하십시오 (파일을 편집하려면 Sudo visudo 사용).

%packageinstallers ALL = NOPASSWD: /usr/bin/software-center /usr/bin/apt-get

그런 다음 특정 사용자를 만들어 packageinstallers 그룹에 추가하면됩니다.

$ Sudo addgroup packageinstallers
$ Sudo adduser jdoe packageinstallers

이제 jdoe은 (는) 다음을 수행 할 수 있습니다.

$ Sudo apt-get install <some-package>

gksudo로 명령 앞에 software-center를 호출하도록 Software Center의 데스크탑 메뉴 항목을 편집 할 수 있습니다.

PolicyKit Sudo 없이는 그렇게 할 수 있지만, 지금은 이해할 수 없습니다.

10
lfaraone

패키지 설치를 허용/금지 할 수있는 일반 권한 만 필요한 경우 PolicyKit으로 이동하십시오.

불행히도 PolicyKit은 설치할 패키지를 세밀하게 제어 할 수 없습니다. 사용자에게 제한된 응용 프로그램 집합 만 설치할 수있는 권한을 부여하려면 Sudo을 사용하고 소프트웨어 채널과 같은 것을 설치해야합니다.

나는 또한 그런 것을 찾았지만 아무것도 찾지 못했기 때문에이 쉬운 솔루션 "softwarechannels"를 코딩했습니다. 여기 GitHub에서 사용할 수 있습니다

관리자가 아닌 일반 사용자가 제한된 카탈로그에서 패키지를 설치할 수 있도록하는 매우 간단한 시스템입니다.

간단한 텍스트 파일로 '채널'(패키지 그룹)을 정의하고 사용자에게 소프트웨어 채널을 시작할 수있는 권한을 부여하십시오.

유닉스 그룹과 일치하는 채널의 패키지 만 볼 수 있습니다.

5
Alfonso E.M.

RAOF의 답변 우분투에만 적용됩니다. 쿠분투는 QAptWorker를 백엔드로 사용합니다 (Natty 및 Oneiric에서 관찰 됨). 비 루트 설치를 허용하려면 다음을 포함하는 /etc/polkit-1/localauthority/50-local.d/10-allow-non-root-install-packages.pkla를 작성하십시오.

[Update Software Sources]
Action=org.kubuntu.qaptworker.updateCache
ResultAny=no
ResultInactive=no
ResultActive=yes

[Install Software]
Action=org.kubuntu.qaptworker.commitChanges
ResultAny=no
ResultInactive=no
ResultActive=auth_self

관리자가 아닌 일부 사용자가 Sudo 액세스 권한을 직접 부여하지 않으면 서 소프트웨어를 설치하고 싶었습니다. 두 구성 그룹 모두에 다음 줄을 삽입하면됩니다.

Identity=unix-user:some-non-admin-user

권한을 부여 받아야하는 그룹이 있으면 unix-group 대신 unix-user를 사용하십시오.

5
Lekensteyn