쉘 스크립트를 통해 패키지를 설치할 수 있나요? [복사]

쉘 스크립트를 통해 패키지를 설치할 수 있나요? [복사]

우분투를 다시 설치할 때 사용할 수 있도록 쉘 스크립트를 작성하려고 합니다. 스크립트를 실행하고 모든 패키지를 유지하면 됩니다. 비밀번호를 매개변수로 전달할 계획입니다.

sudo제 질문은 비밀번호를 수동으로 입력하지 않고 도메인에 들어가는 방법입니다 . 왜냐하면 터미널에 접근하지 않고도 사용자 인터페이스를 디자인할 계획도 있기 때문입니다.

전임자:

./recover.sh password

답변1

당신은 그것을 사용할 수 있습니다 ...

echo password | sudo -S recover.sh

비밀번호는 sudo 비밀번호입니다.

sudo 매뉴얼 페이지에서 ..

-S, --stdin Write는 터미널 장치를 사용하는 대신 표준 오류를 표시하고 표준 입력에서 암호를 읽습니다.

두 번째 방법은

sudo -S <<< password apt-get install pkg_name

답변2

비밀번호를 수동으로 입력하지 않으려면 -A다음 옵션을 사용할 수 있습니다.sudo

 -A, --askpass
             Normally, if sudo requires a password, it will read it from the user's
             terminal.  If the -A (askpass) option is specified, a (possibly graphi‐
             cal) helper program is executed to read the user's password and output
             the password to the standard output.  If the SUDO_ASKPASS environment
             variable is set, it specifies the path to the helper program. 

사용 방법?

  1. 비밀번호(암호화되지 않음)가 포함된 파일을 만듭니다.

    cat .pass
    #!/bin/bash
    echo password
    
  2. 이제 귀하만 실행할 수 있도록 권한을 설정하십시오.

    chmod u=x,go= .pass
    
  3. 현재 실제 사용량

    SUDO_ASKPASS="~/.pass" sudo -A <command>
    

이렇게하면 모든 명령을 실행할 수 있습니다뿌리비밀번호가 필요하지 않습니다

저는 컴퓨터에 암호화되지 않은 비밀번호를 저장하는 것을 권장하지 않습니다. 매우 위험하기 때문입니다.

관련 정보