루트가없는 스크립트에서 비밀번호로 su로 변환하는 스크립트


8

나는 3 개의 다른 컴퓨터에있는 파일의 심볼릭 링크를 업데이트하는 프로세스를 스크립팅했습니다. 해당 머신에는 각각 4 명의 사용자가 있으며,이 사용자는 각각이 링크를 업데이트해야합니다.

su를 사용하면 사용자에게 관리자 권한이 없으므로 sudo를 호출하지 않고 암호 인수를 한 줄로 명령에 전달하는 방법이 있습니까?

이 시점에서 내 유일한 대안 솔루션은 ssh이지만, 많은 호스트 / IP에서 하드 코딩하지 않고이 작업을 수행하고 싶습니다.

답변:


3

다음과 같이 su를 암호로 파이프 할 수 있습니다.

echo pa$$w0rd | su -c whoami user_1

1
"표준 입력은 tty 여야합니다"오류 발생
Triplell89

ssh를 사용하고 있습니까? ssh에 -t 옵션을 시도하십시오.
gogators

@ KevinVW, su에서 옵션으로 -t가 표시되지 않습니다.
maestromani

-t는 su가 아니라 ssh 용입니다. su가 stdin에서 암호를 읽을 수 있도록 pseudo-tty를 강제 실행합니다.
gogators
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.