sudo 없이 명령/바이너리를 실행하는 방법은 무엇입니까? (데비안/리눅스)

sudo 없이 명령/바이너리를 실행하는 방법은 무엇입니까? (데비안/리눅스)

psensorRDP를 통해 액세스되는 서버에 설치했습니다 .

문제는 psensor하드 드라이브의 SMART 상태를 읽으려면 권한이 필요하다는 것입니다. 하드 드라이브가 10개 정도 설치되어 있습니다.

루트 비밀번호를 10번 입력하는 것을 피하기 위해 이것을 실행했는데 sudo, Xlib가 디스플레이를 켜지 못해서 작동하지 않았습니다.

sudo가 아닌 사용자로서 더 높은 수준의 권한으로 psensor를 실행하도록 허용하려면 어떻게 해야 합니까?

#고쳐 쓰다:

이는 예를 들어

/dev/sda: brw-rw---- 1 root disk 8, 0 Sep 28 20:35 /dev/sda

(댓글 참조)

답변1

적절한 인증을 완료하기만 하면 됩니다. 기본적으로 sudo필수적이지 않은 모든 변수는 환경에서 제거되어 HOME대상 사용자로 설정되지만 이 경우에는 그 중 하나 또는 두 개를 복원해야 합니다.

sudo HOME="$HOME" psensor …

충분하지 않다면 이것을 시도해보세요

sudo HOME="$HOME" DISPLAY="$DISPLAY" psensor …

이렇게 하면 마치 root홈 디렉토리가 자체 디렉토리인 것처럼 해당 홈 디렉토리에 쓸 수 있습니다. 때로는 이로 인해 직접 액세스하거나 삭제할 수 없는 자신의 디렉터리(또는 더 나쁜 경우 디렉터리)에 루트 소유 파일이 생성되는 경우가 있습니다. 이것이 허용되지 않는 경우 다음의 보다 자세한 대안 중 하나를 시도해 보십시오.

sudo bash -c "cp -p $HOME/.Xauthority ~ && psensor …"
sudo DISPLAY="$DISPLAY" bash -c "cp -p $HOME/.Xauthority ~ && psensor …"

관련 정보