Linux에서 만들 수 있는 방법이 있나요?스도사용자가 첫 번째 줄에 입력한 비밀번호를 기억하는 명령은 무엇입니까?
예를 들어, 사용자가 입력해야 하는 명령 목록의 경우 일부 명령에는 다음이 필요합니다.스도접두사, 사용자가 지침을 한 번에 터미널에 복사하여 붙여넣는 경우 비밀번호가 한 번만 묻는지 확인하는 방법은 무엇입니까?
예:
mkdir ~/acpiinfo ; cd ~/acpiinfo
sudo acpidump > acpidump.txt
# enter password
sudo acpixtract acpidump.txt
ls *.dat | while read i; do iasl -d "${i}"; done
pid=`sudo dmidecode -s system-product-name`
vid=`sudo dmidecode -s system-version`
name=$pid.$vid
mkdir "${name}" && cp *.dsl "${name}"/
tar czf "${name}.tar.gz" "${name}"/ && ls -l "$( pwd )/${name}".tar.gz
답변1
기본적으로 이 작업을 수행해야 합니다. sudo 맨페이지에서:
사용자가 인증되면 타임스탬프가 업데이트되고 사용자는 짧은 시간(Sudoers에서 재정의되지 않는 한 5분) 동안 비밀번호 없이 sudo를 사용할 수 있습니다.
귀하의 시스템이 이 작업을 수행하지 않으면 확인해 보십시오 /etc/sudoers
. sudoers 맨페이지에서:
타임스탬프 시간 초과
sudo가 비밀번호를 다시 요청하기 전까지 경과할 수 있는 시간(분)입니다. 작은 세분성만으로는 충분하지 않은 경우 시간 제한에 2.5와 같은 소수 부분이 포함될 수 있습니다. 기본값은 5입니다. 항상 비밀번호를 묻는 메시지를 표시하려면 0으로 설정하세요. 0보다 작은 값으로 설정하면 사용자의 타임스탬프가 만료되지 않습니다. 이는 사용자가 각각 sudo -v 및 sudo -k를 통해 자신의 타임스탬프를 생성하거나 삭제할 수 있도록 하는 데 사용할 수 있습니다.
따라서 timestamp_timeout
변수가 0으로 설정된 것 같습니다. 라인을 실행 visudo
하고 주석 처리하거나 원하는 대로 설정하세요.
답변2
이중 sudo 예불필요한:
sudo sh -c "apt-get update && apt-get -y dist-upgrade && apt-get -y autoremove && apt-get autoclean"
이 접근 방식은 명령에 시간이 오래 걸리더라도 문제 없이 작동합니다.
답변3
이 sudo bash -c 'sudo cmd1; cmd2; sudo cmd3;...'
관용구는 일련의 명령에 대한 암호를 기억하는 것으로 보입니다.
# test cases
sudo bash -c 'sudo ls -ld *; sleep 500; sudo ls -ld *'
sudo -k
sudo bash -c 'sudo ls -ld *; sudo -k; sleep 5; sudo ls -ld *'
답변4
sudo -s
쉘은 루트로 시작됩니다(비밀번호를 묻는 메시지가 나타날 수 있습니다). 그런 다음 sudo를 앞에 붙이지 않고도 여러 명령을 입력할 수 있습니다. 완료되면 exit
루트 쉘입니다.