Debian`dpkg-divert`와 동등한 기능

Debian`dpkg-divert`와 동등한 기능

Arch Linux에서 Skype를 사용하도록 구성하려고 합니다.샌드박스 사용자어떤 사용자가 전화하든 관계없이 사용자가 BASH를 사용하지 않거나 샌드박스 사용자인 skype에서 Skype를 호출하는지 알 수 있는 한 Wiki에서 제안한 대로 BASH 별칭을 사용하여 Skype를 시작하는 것을 특히 좋아하지 않습니다. skype.desktop사용되지 않습니다. /usr/bin/skype전화를 돌리는 게 더 나을 것 같다고 생각했어요

sudo -u skype /usr/bin/skype.real

skype.real실제 Skype 바이너리는 어디에 있습니까? 나는 데비안에서 이것을 할 수 있다고 확신합니다.

dpkg-divert --package skype --add --rename --divert /usr/sbin/skype.real /usr/sbin/skype

그런 다음 내 파일을 /usr/sbin/skype. 아치로 이 작업을 어떻게 수행하나요?

답변1

의견에서 제안한 대로 skype-restrictedAUR 패키지가 귀하에게 적합하지 않은 경우(그리고 그들이 사용하는 접근 방식을 모른다는 점에 유의하십시오) 두 가지 접근 방식을 생각해 볼 수 있습니다.

(아치에 적용하는 올바른 방법은 끝까지 읽어주세요)

skype실제 Skype를 실행하는 스크립트로 변경

실제 Skype를 호출하는 bash 스크립트를 만듭니다.

#!/bin/sh
sudo -u skype /usr/bin/skype.real

실행 권한을 부여하고 로 저장하여 /usr/bin/skype이전 Skype 바이너리의 이름을 /usr/bin/skype.real.

이 접근 방식을 사용하면 고려해야 할 몇 가지 사항이 있습니다.

  • 사용자 외에 누구도 Skype(실제 사용자)에게 전화를 걸지 않으려면 skype파일에 적절한 권한을 부여해야 합니다.

    chown skype /usr/bin/skype.real
    chmod 0100 /usr/bin/skype.real
    

    이렇게 하면 소유자 외에는 누구도 실행하지 못하게 됩니다.

  • 누구나 실행할 수 있도록 하려면 skype(새 스크립트 파일) sudoers 파일을 편집하여( 사용하여 visudo) 누구나(가급적 그룹 내, 가능하면 group skype) 이를 user 로 호출할 수 있도록 해야 합니다 skype. 자세한 내용은 모르지만 할 수 있다는 것만 알고 있습니다.

소유자 변경 skypesetuid비트 설정

참고: setuid 실행 파일을 최소로 설정해야 하므로 이는 권장되는 방법이 아닙니다.

setuid호출하는 사람이 누구나 skype이를 사용자로 부르 도록 비트를 설정하는 것이 더 깔끔한 가능성일 수 있습니다 skype.

chown skype /usr/bin/skype
chmod u+s /usr/bin/skype

이렇게 하면 명령을 항상 사용할 수 있게 되지만 skype항상 사용자로 실행됩니다 skype.


위의 경우 중 하나라도pacman, Skype를 최신 버전으로 업데이트할 때마다 바이너리를 교체하므로 프로세스를 반복해야 합니다 .

해결책은 PKGBUILD공식 패키지를 다운로드하고 추출한 후 원하는 변경을 수행하는 를 만드는 것입니다. 그런 다음 AUR 패키지를 설치할 때와 마찬가지로 수동으로 설치합니다. 업데이트해야 할 때마다 수동으로 다시 빌드해야 합니다. Skype는 자주 업데이트되지 않습니다.

이 마지막 작업을 위해PKGBUILD의 공식 위키훌륭한 자원입니다.

관련 정보