사용자를 전환하고 필요한 정보 배경을 스크립트로 묻는 Linux 쉘 스크립트

사용자를 전환하고 필요한 정보 배경을 스크립트로 묻는 Linux 쉘 스크립트

아래 시나리오에 대한 샘플 Linux 셸 스크립트가 필요합니다.

대화형 세션 중:

su user1
Password: <Type password>

내가 할 일은 암호를 일부 파일(예: ~/pwd.txt)에 저장하는 것입니다. 해당 스크립트를 실행할 때 대상 사용자의 암호를 파일에서 읽어 자동으로 전달하는 쉘 스크립트가 필요합니다 su. 그런 다음 대상 사용자로 전환합니다. 프롬프트를 표시할 필요는 없습니다. 모든 것이 백그라운드에서 처리되고 새 사용자로의 전환이 직접 표시된다면 괜찮을 것입니다.

도와주세요!

감사해요!

답변1

원시 비밀번호를 파일에 저장하는 것은 안전하지 않지만 적어도 이것이 귀하의 질문에 대한 답변이 될 것입니다.

sudoer에서 NOPASSWD 사용

sudoers에 아래 항목을 추가하세요.

<your_user> ALL=NOPASSWD: /bin/su - user1
#Then simply run
sudo -S su - user1

sudoers 없이: 비대화형 쉘에 유용합니다.

su - user1 -c ""  < ~/pwd.txt &>/dev/null

< ~/pwd.txt~/pwd.txt에 저장된 비밀번호를 su 명령으로 리디렉션합니다.

&>/dev/nullstdout과 sterr을 모두 >/dev/null로 리디렉션합니다.

## 더 나은 ## :

당신이 사용할 수있는GPG비밀번호를 암호화하는 도구:

    # Encrypt your password with choosing a passphrase :
    gpg -c ~/pwd.txt 
    # Remove your raw password file :
    rm -f ~/pwd.txt.gpg

이제 su를 시도할 때 위의 내용을 사용하여 암호를 해독하세요.비밀번호:

su - user1 -c ""  <<< "$(gpg -q -d ~/pwd.txt.gpg 2>/dev/null)" &>/dev/null

관련 정보