sudo 비밀번호를 다시 입력하라는 메시지가 표시됩니까?

sudo 비밀번호를 다시 입력하라는 메시지가 표시됩니까?

이것이 내가 할 계획입니다:

#!/bin/bash

sudo -i <<'EOF'
iptables-save | awk '/^[*]/ { print $1 } 
                 /^:[A-Z]+ [^-]/ { print $1 " ACCEPT" ; }
                 /COMMIT/ { print $0; }' | iptables-restore
EOF

위 내용을 저장하고 이름을cleariptables.sh로 지정하겠습니다. 실행 가능하게 만들었습니다.

이는 다음 경로의 bin이라는 폴더에 배치됩니다: /home/cymbal/bin/

(여기서 cymbal은 사용자 이름입니다)

데스크탑에cleariptables.sh에 대한 바로가기를 생성하겠습니다. 바로가기의 내용은 다음과 같습니다.

[Desktop Entry]
Version=1.0
Type=Application
Terminal=true
Icon[en_US]=nm-device-wired
Name[en_US]=ClearIPtables
Exec=gksudo /home/cymbal/bin/cleariptables.sh
Comment[en_US]=Flush iptables filters
Name=ClearIPtables
Comment=Flush iptables script
Icon=nm-device-wired

바탕 화면 바로 가기를 클릭할 때마다 비밀번호를 입력하라는 메시지가 표시되고 스크립트가 실행됩니다.

문제: 바탕 화면 바로가기를 클릭하면 비밀번호를 묻는 메시지가 표시됩니다. 왜냐하면sudo-i스크립트에서 비밀번호를 다시 입력하라는 메시지가 표시됩니까?

답변1

아니요, 비밀번호를 다시 묻는 메시지가 표시되지 않습니다. gksudo내 경험상 이미 sudo루트인 경우에는 비밀번호를 묻는 메시지가 전혀 표시되지 않습니다(비록 명시적으로 문서화되어 있는 것을 찾을 수는 없지만).

답변2

당신은 그것을 사용할 수 있습니다비밀번호 없음 WD지시어를 파일에 넣으세요 sudoers.

/etc/sudoers파일 에 이 줄을 추가하세요

your_login ALL = (root) NOPASSWD: /path/to/your/script

visudo이 파일을 편집할 때는 일반 텍스트 편집기 대신 명령을 사용해야 합니다 . 변경 사항을 저장하기 전에 구문 오류를 확인합니다.

관련 정보