sudo가 필요할 때 sudo를 요청하도록 Linux를 설정하는 방법은 무엇입니까?

sudo가 필요할 때 sudo를 요청하도록 Linux를 설정하는 방법은 무엇입니까?

나는 어떤 명령을 실행하고 싶을 때마다 피곤하고 그것을 실행한 후에 Enter이 작업이 필요하다는 것을 알았습니다 sudo. 그래서 다음이 필요합니다.

  1. 마지막 명령을 검색하려면 위쪽 화살표를 사용하세요.
  2. Home명령의 시작 부분으로 이동하는 데 사용됩니다.
  3. sudo 명령 앞에 추가
  4. Enter

이것은 실망스러운 과정입니다. 명령에 필요한 경우 sudo 권한을 부여하라는 메시지를 표시하지 않는 이유는 무엇입니까? 나는 이것을 이렇게 원합니다 :

  1. 필요한 명령을 실행했지만 sudo접두사를 추가하는 것을 잊었습니다.sudo
  2. 시스템은 이를 감지하고 이를 실행하고 싶은지 묻거나 sudo(입력하기만 하면 됨 Y) 암호 등을 묻는 메시지를 표시하므로 위의 프로세스를 수행할 필요가 없습니다.

답변1

그런 일은 존재하지도 않고, 가능하지도 않다고 생각해요. 생각해 보세요. 쉘이나 커널 또는 기타 다른 것이 실제로 sudo를 사용하여 해당 명령을 실행하려는 것을 어떻게 알 수 있습니까? 예를 들어, 파일이 루트 읽기/쓰기 및 기타 읽기 전용으로 설정되어 있고 파일을 열면 파일을 보기만 하는 것이 아니라 편집하고 싶다는 것을 어떻게 알 수 있습니까? 또는 "cp $HOME/myfile $HOME/myfile.bak"를 수행한다고 가정해 보겠습니다. 쉘은 사용자가 /root에서 파일을 이동하기를 원하므로 sudo를 사용해야 한다는 것을 알고 있습니까?

루트가 되어야 한다는 것을 분명히 알고 있는 경우(예: "nano /etc/resolv.conf"), 이를 미리 파악하기 위해 nano를 함수, 별칭 또는 스크립트로 대체하여 다시 작성해야 합니다. 또는 쉘이 어떻게든 명령의 출력을 읽도록 하고, 오류가 발생했는지, 루트가 아니어서 오류가 발생했는지 확인한 다음 sudo를 사용하여 명령을 다시 실행해 보십시오. 이것은 모든 다른 명령과 모든 다른 출력 및 작업 방식 등을 설명하는 정말 큰 "if then" 문이 될 것입니다.

매우 큰 "if then" 문을 작성하는 경우 발생할 수 있는 몇 가지 잠재적인 문제가 있습니다.

  • 일부 명령에서는 완벽하게 작동하지 않으며 최선을 다합니다.
  • 고려해야 할 새로운 명령은 항상 있습니다.
  • 이와 같이 명령을 스마트하게 만들려고 하면 문제가 발생하지만 중지하고 질문하는 대신 명령이 실행되어 작동하거나 실패할 것으로 예상하는 파이프라인이나 스크립트에서 이를 사용합니다(예: 한 위치에서 다른 위치로 구성 파일을 복사한 다음 해당 파일에 의존하는 서비스를 다시 시작하는 스크립트 "cp"가 있습니다. cp가 실제로 작동하지 않는다고 생각하는 것보다 스크립트가 완전히 실패하는 것이 더 좋습니다!) 그리고
  • sudo는 루트에서만 작동하지 않습니다. 'sudo -u bob vim /etc/bobsfile'을 수행할 수 있습니다.

그래서 이런 것을 만드는 것은 비현실적이라고 생각합니다. 하지만 걱정하지 마세요. 이런 것을 바라는 사람은 당신뿐만이 아닙니다! 저는 20년 동안 Linux를 사용해 왔지만 여전히 사용하고 싶습니다.

도움이 될 수 있는 몇 가지 사항은 다음과 같습니다.

  1. 일부 명령은 sudo로 실행해야 한다는 것을 알고 있으며 요청한 것과 유사한 작업을 수행합니다. 예를 들어 systemd 명령입니다. 한번 시도해 보세요 systemctl restart cups. sudo로 실행하지 않은 경우 자동으로 sudo 비밀번호를 묻습니다.
  2. sudo를 사용해야 하는 bash에서 명령을 실행하는 경우 sudo !!sudo를 사용하여 즉시 명령을 입력하여 다시 실행할 수 있습니다. 이 "!!"를 해당 셸의 마지막 명령으로 바꾸세요. 내 시스템에서는 "man bash | grep -A75 -P '^HISTORY EXPANSION'"을 실행하여 어떻게 작동하는지 확인할 수 있습니다. "man bash"를 열고 검색할 수도 있습니다.
  3. 실행하려는 명령에 대한 별칭이 있습니다. 예를 들어, alias yum='sudo yum '. yum 작업에 sudo를 사용하는 것을 기억할 필요가 없습니다. 그냥 "yum"을 실행하면 sudo가 추가됩니다.

안에 들어 있는 내용이 도움이 되기를 바랍니다.

관련 정보