Linux에서 sudo -i 또는 sudo su를 허용하는 이유

Linux에서 sudo -i 또는 sudo su를 허용하는 이유

최근에 루트 암호를 알아야 하는 필요성을 "우회"하고 루트로 직접 전환할 수 있는 문제를 발견했습니다. 따라서 관리자라면 sudo 그룹 수준 권한을 가진 일부 사용자를 보유할 수 있습니다. 루트 비밀번호를 제공하지 않으면 로그인할 수 없거나 루트로 전환할 수 없습니다(일반적인 경우 ofc). 이제 루트 관리 수준 명령이나 작업을 수행하려면 sudo 명령을 입력해야 합니다. 그러나 루트 비밀번호를 모르더라도 sudo su 또는 sudo -i를 실행하여 루트로 전환할 수도 있습니다. 이제 두 가지 큰 질문이 있습니다.

  1. 제 생각에는 (제가 틀렸다면 정정해 주십시오.) 이것은 보안에 있어 큰 문제이며 Linux 아키텍처의 전체 목적을 무너뜨리는 것입니다. 이제는 루트로서 루트 비밀번호를 알 필요가 없기 때문입니다.
  2. 감사 및 로깅 - 이제 루트이며 타사 감사 시스템이나 도구를 설치하지 않으면 사용자 루트에서 실행되는 작업은 기록되지 않습니다.

내 질문은 Linux가 이것을 허용하는 이유라고 생각합니다. 이것은 나에게 코드를 우회하는 속임수처럼 보입니다.

내 우려사항이나 의견이 틀렸다면 정정해 주시기 바랍니다. 감사해요

답변1

명령의 목적 sudo허용하다루트가 아닌 사용자는 대신 루트로 명령을 실행합니다.예방하다그들은 이러한 명령을 실행합니다(특히 다음과 같은 시스템에서).아니요Ubuntu처럼 완전히 루트로 로그인하세요. 따라서 설계상 sudo루트로 셸을 실행하는 것도 허용됩니다.

사용자가 실행할 수 있는 명령을 제한하려면 sudofile을 사용하여 이를 정확하게 제어할 수 있습니다 /etc/sudoers. 이 파일( )에 대한 설명서를 읽어 보시기 바랍니다 man sudoers.

답변2

관리자라면 sudo 그룹 수준 권한을 가진 일부 사용자를 보유할 수 있습니다.

예. 관리자라면 관리자가 될 수 있습니다.

또한 sudo su 또는 sudo -i를 실행하여 루트 비밀번호를 모르고 루트로 전환할 수도 있습니다.

예, 파일에 적절한 행을 추가하여 명시적으로 권한을 부여받은 경우에는 가능합니다 sudoers. 사용자가 루트로 명령을 실행하는 것을 허용하지 않으려면 sudo 또는 다른 수단을 통해 루트 계정에 액세스하는 것을 허용하지 마세요.

이제 루트로서 루트 비밀번호를 알 필요가 없습니다.

응, 그래서 어쩌지? 누군가에게 루트 비밀번호를 제공하는 것은 루트 계정에 대한 액세스를 허용하는 한 가지 방법입니다. 누군가를 sudoer로 만드는 것(즉, root로 임의의 명령을 실행할 수 있도록 허용하는 것 sudo)은 또 다른 문제입니다.

이제 루트이며 타사 감사 시스템이나 도구를 설치하지 않으면 사용자 루트에서 실행되는 작업은 기록되지 않습니다.

응, 그래서 어쩌지? 루트가 된 후에는 감사를 끄고 로그를 삭제할 수 있습니다. (원격 시스템에 저장된 로그를 제외하고, 보장할 수 있는 최선의 방법은 사용자가 루트 액세스 권한을 얻은 수단이 로그에 포함된다는 것입니다.)

사용자가 루트로 쉘을 실행할 수 있는 것이 우려되고 "특정 명령만 실행"하기를 원하는 경우: shell특정 명령. sudo -i대상 사용자의 기본 셸을 실행하기 위한 단축키입니다. 동일하거나 sudo bash유사 sudo sh합니다 sudo zsh. 사용자가 루트로 쉘을 실행하는 것을 방지하려면 sudo sh해당 루트도 차단해야 합니다. 그리고 sudo perl. 그리고 sudo vi(달릴 수 있습니다). 등. 또는 실행 파일을 작성하여 사용할 수도 있고 실행하고 sudoers 규칙을 편집할 수도 있습니다. 사용자가 거의 모든 명령을 실행하고 일부 명령만 차단할 수 있는 방법은 없습니다. 누군가에게 루트 액세스 권한을 부여하면 그 사람도 루트 액세스 권한을 갖게 되므로 신뢰해야 합니다. 신뢰할 수 없다면 루트 액세스 권한을 부여하지 마십시오.![any shell command]eval "$(stdin)"sudosudo visudo

관련 정보