위의 질문은 다음과 같이 다시 작성할 수도 있습니다.what is the use of the sudo command?
man
Bash 셸의 페이지에는 sudo
다음과 같은 설명이 있습니다.
sudo, sudoedit - execute a command as another user.
이것은 나에게 아무런 의미가 없습니다. root
터미널에서 설치하려면 사용자가 될 필요가 없나요 ? 명령 sudo
앞에 사용하면 yum install
도움이 되나요?
답변1
이미 루트 권한이 있는 쉘에 있다면 를 사용해도 아무런 의미가 없습니다 sudo
. 그러나 sudo
루트로 명령을 실행할 수 있습니다아니요루트로 로그인하십시오.
원래 su
(사용자 전환) 명령을 사용하면 다른 사용자로 프로그램을 실행할 수 있습니다. 전부 아니면 전무라는 접근 방식이 필요합니다. 사용자의 비밀번호를 알고 있다면(또는 이미 루트 사용자라면) 원하는 것은 무엇이든 할 수 있습니다. 비밀번호를 모르면 아무것도 할 수 없습니다.
새로운 sudo
명령이 더 똑똑해졌습니다. 특정 명령만 허용하도록 구성할 수 있습니다. 요구하도록 구성할 수도 있습니다.당신의다른 사용자의 비밀번호가 아닌 비밀번호입니다( su
요청된 경우). (사실 이게 sudo
일반적인 구성입니다.)
답변2
yum install [...]
그것 없이도 작동한다면 sudo
루트로 실행 중인 것입니다. 이 경우에는 sudo
사용의 의미가 없습니다.
당신 이 할 수 있는 일은 sudo
높은 권한으로 다른 일을 실행하는 것입니다.일반 사용자 계정에서루트의 비밀번호가 아닌 일반 사용자 비밀번호를 사용하십시오.
항상 일반 사용자로 시스템을 사용하고 sudo
더 많은 권한으로 특정 명령을 실행해야 하는 경우에는 진지하게 고려해야 합니다.
답변3
sudo 명령은 setuid 비트를 설정합니다.항상 파일을 소유한 사용자의 권한이 부여됩니다.(당신이 뭔가를 엉망으로 만들지 않는 한, 그것은 항상 루트입니다). 따라서 루트 권한이 없더라도 sudo가 루트 권한을 얻습니다. setuid를 사용하는 모든 프로그램은 취약점을 방지하기 위해 특별히 주의 깊게 작성되었습니다.
Sudo 읽기Sudoers파일을 사용하여 선택한 명령을 루트로 실행할 수 있는지 여부와 비밀번호를 묻는 메시지를 표시해야 하는지 여부를 결정합니다. 명령 실행이 허용되고 비밀번호가 올바른 경우(필요한 경우) sudo에 루트 권한이 있으므로 해당 하위 항목(예: yum 및 설치 스크립트)도 해당 권한을 얻습니다.
이는 다수의 사용자가 메인프레임을 사용하고 루트 액세스 권한이 있는 사용자가 신뢰할 수 있는 소수의 사용자가 일반적이고 덜 위험한 명령을 실행할 수 있도록 허용하려는 몇 년 전 특히 중요했습니다. 요즘에는 모든 명령이 일반적으로 sudo 액세스 권한을 부여합니다(적어도 홈 데스크톱에서는).