예를 들어를 실행 sudo apt-get install vlc
하면 sudo
암호 를 입력하라는 메시지가 표시 됩니다.
내가 암호를 입력하지 않은 경우를 위해 sudo
그것은 [sudo] password for avinash:
오랜 위해 남아있다.
이 sudo 암호 대기 시간을 어떻게 설정합니까?이 대기 시간이 만료되면 자동으로 표시 time expires
됩니다. 가능합니까?
참고 :sudo
암호 ( RootSudoTimeout-Community Ubuntu Documentation )를 얼마나 오래 기억 하는지 묻지 않습니다 .
이것은 sudo 자체에서 직접 가능하지는 않지만 일부 해킹 기법으로 가능합니다.
sudo_timeout.sh :
#!/bin/bash
timeout=10 #seconds
set -m
echoerr() { echo "$@" 1>&2; }
keep_eye_on() {
pid=$1
time_passed=0
while kill -0 $pid &> /dev/null; do
sleep 1
let time_passed=time_passed+1
if [ $time_passed -ge $timeout ]; then
echoerr "Timeout reached."
kill -9 $pid
exit 1
fi
done
}
if [ -z "$1" ]; then
echoerr "Please specify a process to run!"
exit 1
fi;
sudo $@ &
pid=$!
keep_eye_on $pid &
while true; do
if kill -0 $pid &> /dev/null; then
fg sudo > /dev/null; [ $? == 1 ] && break;
else
break
fi
done
timeout
변수는 이전에 살해에게 암호를 요구하고 sudo는 프로세스를 기다리는 시간 (초)에서 타임 아웃을 보유하고 있습니다.
용법:
./sudo_timeout.sh <command>
예:
./sudo_timeout.sh ls -al
시간 초과에 도달하면 다음을 얻습니다.
alex@MaD-pc:~$ ./sudo_timeout.sh ls -al
[sudo] password for alex: Timeout reached.
./sudo_timeout.sh: line 34: 14583 Killed sudo $@
시간 초과 전에 비밀번호를 입력하면 명령이 정상적으로 실행됩니다.
면책 조항 : 위의 간단한 같은 명령을 테스트 ls
하고 nano
나는 그것을 철저하게 테스트하지 않았기 때문에 그것은, 내가 생각 해낸 뭔가를 것와 인수없이 모두, 그러나 나는 모든 경우에 작동을 보장 할 수 없습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다