예를 들어, 제가 사용한 대부분의 Linux 배포판에서 다음을 입력하면구성된 경우일반 사용자라면 루트만이 그러한 명령을 실행할 수 있다는 메시지를 받게 됩니다.
데비안에서는 단순히 명령을 찾을 수 없다는 뜻입니다(/usr/bin/에서 명령을 찾고 있기 때문입니다).
"ifconfig를 루트로 실행해야 합니다." 같은 메시지를 표시하는 방법이 있는지 궁금합니다.
답변1
다음을 수행할 수 있습니다.
trap '
if [[ $BASH_COMMAND =~ /sbin ]] && ((UID!=0)); then
echo >&2 "${BASH_COMMAND##*/sbin/} must be run as root"
fi
' DEBUG
그러나 ifconfig
사용자는 를 입력하여 액세스할 수도 있습니다 /sbin/ifconfig
.
ifconfig
Chris Down이 말했듯 이 기본 ID에서 이러한 프롬프트 메시지가 발행되는 것을 본 적이 없습니다 .
답변2
데비안에서는 명령을 찾을 수 없다고만 나옵니다(/usr/bin/에서 명령을 찾고 있기 때문입니다)
/sbin
이는 루트가 아닌 사용자의 PATH에 없다는 의미입니다. /sbin/ifconfig
루트가 아닌 경우 명시적으로 실행하여 표시되는 내용을 확인하십시오.
메시지가 정상이면 /sbin
PATH에 추가하면 됩니다.