Bash: sudo를 사용하지 않으면 오류가 반환됩니다.

Bash: sudo를 사용하지 않으면 오류가 반환됩니다.

Kali Linux Live를 실행 중이고 오랫동안 시스템을 루트 사용자로 사용하고 있는데 루트를 기본 계정으로 사용하지 말고 권한이 낮은 계정 사용자를 생성하라는 내용의 온라인 기사를 보았습니다. 그것이 바로 제가 한 일 ifconfig이고 실행을 시도했을 때 오류가 발생하기 전까지는 모든 것이 괜찮았습니다: bash: ifconfig: command not found.

실행을 시도했지만 이미 있는 최신 버전이 sudo apt-get install ifconfig반환됩니다 . ifconfig좀 헷갈려서 run 을 sudo ifconfig사용해야 해서 시도해봤습니다 . 물론 작동합니다. 실행해야 하는 다른 명령도 비슷한 오류를 반환합니다 .sudoapt-getsudo ifconfigsudo

그래서 내 질문은 을 사용하여 설치할 때 실행해야 하는 프로그램이 루트 시스템에 저장되어 sudo apt-get install루트가 아닌 사용자가 액세스할 수 없다는 것입니다. 이것이 맞는지 잘 모르겠습니다. 매뉴얼을 읽으면 sudo명령이 루트(또는 일반적으로 다른 사용자)로 실행된다는 것을 알지만 루트 시스템에서 "출력 실행"을 의미합니까? 그렇다면 관리자 권한을 부여하는 것 외에 권한이 낮은 사용자로 명령을 실행하려면 어떻게 해야 합니까?

모든 지원에 감사드립니다!

답변1

그들은 /sbin함께 있다/usr/sbin 누구나 실행할 수 있습니다.. 그러나 이것은 작동할 수도 있고 작동하지 않을 수도 있습니다. 이러한 기능이 없으면 대부분의 명령은 별 효과가 없습니다. 전통적으로 사용자는 root모든 능력을 갖고 있습니다. 일반적 으로 일반 사용자 실행 검색 경로에 /sbin있지 않습니다./usr/sbin

ifconfig일반 사용자에게 유용하지만 모든 기능을 사용할 수는 없습니다. 예를 들어 /sbin/ifconfig매개변수가 없으면 모든 네트워크 인터페이스가 나열됩니다.

답변2

루트가 아닌 사용자로서 이러한 명령을 찾을 수 없는 이유는 해당 명령이 PATH에 없을 수 있기 때문입니다. 을 실행하여 echo $PATH쉘이 입력한 명령을 찾는 디렉토리를 확인하십시오.

시스템 프로그램과 관리 유틸리티는 일반적으로 /sbin및 에 있습니다 /usr/sbin. 이러한 프로그램과 유틸리티는 모든 사용자가 실행할 수 있지만(적절한 파일 시스템 권한을 설정한 경우) 일반적으로 루트로 실행하지 않는 한 시스템에서 아무 것도 변경하지 않습니다.

다음 명령을 사용하여 PATH에 새 디렉터리를 추가할 수 있습니다.

export PATH=$PATH:/path/to/directory

ifconfig필요한 경우 루트가 아닌 사용자로 및를 실행할 수 있지만 apt-get루트가 아니면 구성을 변경하거나 패키지를 설치할 수 없습니다.

관련 정보