usr1과 usr2라는 2명의 사용자가 있습니다. 루트도 아닙니다.
usr1은 bash 스크립트를 시작합니다. 스크립트에서 usr2로 일부 명령을 실행하고 싶습니다. 제가 이해한 바에 따르면 이를 수행하는 방법은 다음과 같습니다.
su -l <usr2> -c "command"
문제는 비밀번호를 전달하는 것입니다. 이들은 서로 다른 권한을 가진 두 명의 서로 다른 사용자이므로 usr2의 비밀번호를 건너뛰는 것은 옵션이 아닙니다.
스크립트는 대화형으로 사용자에게 비밀번호를 물어볼 수 있습니다. Bash 스크립트에서 이를 수행할 수 있는 방법이 있습니까?
답변1
사용자 1이 사용자 2에게 sudo를 수행할 수 있지만 비밀번호 없이 명령만 실행할 수 있도록 sudoers 파일을 설정하면 어떨까요? 이것이 여전히 보안 문제를 해결합니까?
나는 sudoers가 이렇게 될 것이라고 생각했습니다.
사용자 이름 호스트 이름 = NOPASSWD: /path/to/command