다른 사용자로 로그인하고 쉘 스크립트에서 일련의 명령을 실행하는 방법은 무엇입니까?

다른 사용자로 로그인하고 쉘 스크립트에서 일련의 명령을 실행하는 방법은 무엇입니까?

내 요구 사항은 비밀번호 인증이 필요한 다른 사용자로 로그인하고 사용자 계정에서 실행하는 쉘 스크립트에서 해당 사용자로 일부 명령을 실행하는 것입니다.

예: user1이 스크립트를 실행 중입니다. 요구 사항은 비밀번호를 사용하여 user2로 로그인하고 단일 쉘 스크립트를 사용하여 일련의 명령을 실행하는 것입니다.

답변1

이를 사용할 수 있는 방법은 여러 가지가 있습니다.

  1. 사용 su. su를 사용하면 다음과 같은 명령을 실행할 수 있습니다.

su user -c "command"

또는

su - user -c "command"

차이점은 대시가 있으면 대상 사용자의 환경을 얻을 수 있다는 것입니다. 이 명령을 사용하면 대상 사용자의 비밀번호를 입력하라는 메시지가 표시됩니다.

  1. 사용 sudo:

sudo -u user "command"

이 명령을 사용하면 비밀번호(귀하의 비밀번호)를 사용하거나 사용하지 않고 실행할 수 있습니다.

  1. 사용 ssh:

SSH를 사용하면 사용자 비밀번호, 키 비밀번호(사용 가능한 경우)를 사용하여 명령을 실행할 수 있습니다.

ssh user@localhost "command"

추신: 다른 가능한 방법도 있지만 rsh와 같이 거의 불가능합니다.

답변2

이 명령을 사용하면 su [username]현재 위치에서 해당 사용자의 컨텍스트에서 명령을 실행할 수 있습니다. su - [username]해당 사용자의 홈 디렉터리로 전환하려면 다음 명령을 사용합니다 . 사용자 이름을 생략하면 루트로 전환됩니다.

관련 정보