sudo의 대안

sudo의 대안

나는 sudo명령을 사용하여 슈퍼/다른 사용자로 명령/스크립트를 실행할 수 있다는 것을 알고 있습니다. 하지만 sudo사용자가 유틸리티 자체를 사용할 수 없거나 제거할 가능성이 있습니까 ? 그렇다면 sudo이외 의 대안은 무엇입니까 su? 또한 동일한 목적을 수행 sudo하고 제공합니까?su

답변1

'sudo'를 사용하면 모든 사용자로 모든 프로그램을 시작할 수 있습니다. 프로그램 자체에서 이를 수행하려면 루트 권한이 필요하므로 이는 'setuid 루트'입니다. sudo의 장점은 누가 무엇을 할 수 있는지 쉽게 구성할 수 있다는 것입니다. sudo를 사용하여 사용자가 nmap(및 nmap만)을 실행하도록 허용할 수 있습니다.

'su'를 사용하면 모든 사용자로 쉘을 시작할 수 있습니다. 쉘을 시작하면 분명히 다른 프로그램을 시작할 수 있습니다. 그러므로 더 위험합니다. 잘 관리되는 시스템에서는 su일반적으로 액세스가 비활성화되지만 sudo별도의 프로그램에서는 액세스가 가능할 수도 있습니다.

위 두 프로그램을 사용하는 이유는 책임감 때문입니다. Sudo는 이루어진 모든 요청을 기록합니다. 따라서 관리자는 루트 권한을 사용하여 사용자가 수행한 작업을 추적하는 것이 매우 쉽습니다. 쉘에 대한 액세스 권한을 부여하면 사용자는 원하는 것은 무엇이든 할 수 있습니다('블랙홀'). (물론 커널 수준의 고급 로깅은 이를 방해합니다).

물론 이러한 프로그램도 표시될 수 있습니다 setuid. 이렇게 하면 실행 시 바이너리 소유자의 권한이 변경됩니다. setuid예를 들어 비트를 활성화 /bin/bash하고 소유자를 로 설정 /bin/bash하면 root실행할 때마다 루트가 됩니다 /bin/bash.

마지막으로, 머신에 물리적으로 접근하면 원하는 것은 무엇이든 할 수 있습니다. 플래시 드라이브에서 부팅하고 로컬 파일 시스템에 액세스할 수 있습니다. init단일 사용자 모드에서 (비밀번호를 묻지 않고) 쉘을 즉시 시작하는 다른 프로세스를 사용하도록 부트로더를 구성할 수도 있습니다 .

답변2

su 외에 sudo에 대한 대안이 있는지 여부에 대한 질문에 아무도 대답하지 않은 것 같습니다. 따라서 sudo 웹 사이트가 실제로 sudo 대안 목록을 유지하고 있다는 사실에 관심이 있을 것입니다.

http://www.sudo.ws/other.html

목록에는 오픈 소스 소프트웨어와 상용 소프트웨어가 모두 포함되어 있습니다. 현재 나열된 오픈 소스 sudo 대안은 다음과 같습니다.

즉, 나는 이러한 대안을 사용한 적이 없으며 다른 맥락에서 본 적도 들어본 적도 없습니다. 또한 이들 중 적어도 일부는 실험적이거나 존재하지 않거나 지원되지 않는 것 같습니다. 내가 얻는 인상은 그것이 sudo마을 su에서 유일한 실제 게임이라는 것입니다.

답변3

루트로 로그인하거나(tty에서 허용되는 경우) 컴퓨터를 재부팅하고 명령줄에서 init=/bin/bash를 사용하여 로그인하여 필요한 기능을 복원하십시오.

루트만이 sudo를 제거할 수 있다는 점을 지적합니다.

sudo와 su는 비슷하지만 다른 목적으로 사용됩니다. "sudo"를 사용하면 다른 사람의 권한으로 작업을 수행할 수 있는 반면, "su"를 사용하면 해당 사용자가 "되어" 다른 사람처럼 행동할 수 있습니다.

답변4

머신이 openssh-server설치된 경우 대안은 다음과 sudo같습니다.

ssh root@localhost ..command.. ..goes.. ..here..

비활성화되지 않은 경우 su언급한 대로 다음이 수행됩니다.

su - root -c "..command.. ..goes.. ..here.."

관련 정보