이 이상한 보안 동작의 이유는 무엇입니까?

이 이상한 보안 동작의 이유는 무엇입니까?

다음 명령(난독화된 서버 이름)은 순서대로 잘 작동합니다.

ssh xxx.sjc
sudo -u appName id

그러나 이들을 연결하려고 하면 문제가 발생합니다.

ssh xxx.sjc 'sudo -u appName id'
Sorry, user merlin2011 is not allowed to execute '/bin/id' as appName on xxx.sjc.

두 모드의 차이점으로 ssh인해 이 문제가 발생할 수 있으며 조사하려면 어떤 단계를 수행해야 합니까?

운영 체제에 관해서는 클라이언트에서 OSX를 실행하고 서버에서 사용자 지정 Linux 배포판(회사의 다른 사람이 배포)을 실행하고 있습니다.

uname -r
3.10.0-1127.18.2.el7.x86_64

답변1

기반으로내 댓글제안

sudo -u appName id두 경우 모두 교체해 보십시오 type sudo. 동일한 신청 경로를 보고하는지 알고 싶습니다.

그리고당신의 응답,

그렇지 않은 것 같습니다!

sudo두 가지 다른 구성을 사용하는 두 가지 설치가 있는 것으로 보입니다 sudoers. 사용하려는 버전이 로그인 스크립트에서 사용자에게 추가되는 위치 sudo와 같은 비표준 위치에 있을 수 있습니다 . 즉, 해당 명령이 사용하지 않는 다른 명령을 대체하는 경우가 많습니다./usr/local/bin/sudo/opt/bin/sudoPATH/usr/bin/sudo

해결 방법은 명령줄에서 "job" 명령에 대한 전체 경로를 제공하는 것 입니다 sudo. ssh그런데 sudo비밀번호를 입력하라는 메시지가 표시되거나 대상 애플리케이션에 사용자 입력이 필요한 ssh -t경우 ssh.

관련 정보