루트에서 VLC 플레이어를 실행하는 방법

루트에서 VLC 플레이어를 실행하는 방법

Centos 6.5에 vlc를 설치했습니다. 루트로 실행하고 싶습니다. 하지만 다음과 같은 오류가 발생합니다.

"VLC는 루트로 실행되어서는 안 됩니다. 죄송합니다. 실시간 우선 순위 및/또는 권한 있는 TCP 포트를 사용해야 하는 경우 vlc-wrapper를 사용할 수 있습니다. 사용자) 그럴 가치가 있습니다. 신뢰할 수 있는 사용자가 먼저입니다).

답변1

이것은 나에게 효과적입니다. 컴파일할 필요가 없습니다.

sed -i 's/geteuid/getppid/' /usr/bin/vlc

VLC 미디어 플레이어 사용2.0.3라즈베리파이의 투플라워.

설명하다: 초기화 스크립트는 UID가 0인지 확인합니다. 0은 루트 사용자용으로 예약되어 있습니다. sed대체를 사용하면 항상 그렇듯이 초기화 스크립트를 속이게 geteuid됩니다 .getppid> 0

VLC를 루트로 실행하는 것은 권장되지 않지만 작동합니다. 위험을 인지하고 프로덕션 환경에서는 이 작업을 수행하지 마십시오.

Freebsd 및 기타 까다로운 unices 및 macos의 경우 올바른 전체 구문을 사용하십시오.

sed -i '' 's/geteuid/getppid/' /usr/local/bin/vlc

답변2

이 문제를 해결하는 한 가지 방법은 다시 컴파일하는 것입니다. 플래그를 vlc --enable-run-as-root에 전달하면 ./configure루트로 실행될 수 있습니다. 위의 답변은 다음에서 나왔습니다.여기.

답변3

바라보다vlc를 루트로 실행 - LinuxIntro:

  • VLC 바이너리 백업:

     # cp /usr/bin/vlc /usr/bin/vlc-backup
    
  • geteuidVLC 바이너리 내부에 대한 호출을 찾습니다.

     # needle=$(objdump -d /usr/bin/vlc | grep euid | tail -1 | awk '{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6;}')
    
  • 전화를 배달로만 대체 01:

     # sed -ir "s/$needle/\xb8\x01\x00\x00\x00/" /usr/bin/vlc
    
  • 시험을 받다

이제 VLC가 루트 사용자로 실행되어야 합니다!

답변4

다음 위치에 있는 VLC 바이너리를 수정하여 루트로 VLC를 실행할 수 있습니다./usr/bin

먼저 Bless와 같은 16진수 편집기가 필요합니다.

sudo apt-get install bless

그런 다음 16진수 편집기를 사용하여 VLC 바이너리를 엽니다.

sudo bless /usr/bin/vlc

geteuid검색을 누르고 문자열을 변경한 후 getppid저장하고 종료합니다.

이제 루트로 VLC를 시작할 수 있습니다.

관련 정보