sudo su와 su root를 실행하면 동일한 작업이 수행됩니까?

sudo su와 su root를 실행하면 동일한 작업이 수행됩니까?

둘 사이의 기술적 차이점은 무엇입니까? 내가 주목한 유일한 점은

sudo su

자신의 비밀번호를 입력해야 합니다(루트가 아니라고 가정).

하는 동안

su root

루트의 비밀번호를 입력해야 합니다. 그러나 둘 다 루트 사용자 계정으로 로그인하는 것 같습니다.

답변1

둘 사이에는 미묘한 차이가 있습니다. su root(단축하여 su) su 명령을 호출한 사용자로 실행합니다. sudo지정된 명령( su)을 루트로 실행합니다. 루트로 실행하는 것은 su본질적으로 아무 작업도 하지 않지만 새 셸을 시작할 수도 있습니다. 달리기는 sudo -i(제 생각에는) 더 깔끔한 달리기 방법입니다 sudo su.

또한 이전에 지적한 것처럼 기본 Ubuntu 설치에는 루트 비밀번호가 없으므로 su자체 호출은 실패합니다.

답변2

root두 번째 명령은 계정이 활성화되지 않은 기본 Ubuntu 설치에서는 실행할 수 없습니다 .

그러나 당신이 root그에게 비밀번호를 제공하는 계정을 잠금 해제했다고 가정하면 두 명령은 환경과 쉘 변수 세트에서만 다를 수 있다고 생각합니다. 두 상황의 출력을 비교 하고 차이점을 확인하기 위해 env출력도 비교해 보세요 .set

답변3

또 다른 차이점; sudo 명령은 귀하의 비밀번호를 사용하며 귀하는 /etc/sudoers 파일에서 인증을 받아야 합니다. sudoers 파일은 sudo를 사용하여 실행할 수 있는 명령을 정의합니다. su 명령은 ROOT 비밀번호를 사용합니다. 알아야 할 것.

옵션에 따라 뿌리 환경을 선택하거나 앞으로 나아갈 수 있습니다.

루트 쉘을 얻으려면 "sudo bash"를 사용합니다. 이는 "sudo -i"와 거의 동일합니다(아마도 확실하지는 않습니다). 환경은 "sudo su - other_user"가 other_user에 대한 환경을 가져오는 방식으로 제어됩니다. 그러나 "sudo su other_user"는 other_user의 UID로 환경을 전달합니다. 이는 귀하의 별칭 등을 사용할 수 있음을 의미합니다.

또한 su와 sudo를 사용할 때 감사 로그의 감사 결과가 다릅니다. sudo를 사용하면 추적성이 향상됩니다. 마지막으로 su의 경우 루트 비밀번호를 제공하고 유지 관리가 어려워집니다. sudo로 사람들에게 권한을 부여하면 sudoers 파일을 업데이트하여 사람들을 추가하거나 제거하기만 하면 되며, 사람들은 자신의 비밀번호만 기억하면 됩니다. Sudoers를 사용하면 다른 사람이 무엇을 할 수 있는지 결정할 수도 있습니다.

답변4

sudo -i는 적어도 11시부터 수행하는 방법입니다. 12시 4분 이전인지 이후인지 확실하지 않습니다.

other_user의 UID로 환경을 전달합니다. 이전에 말했듯이

관련 정보