사용자가 "sudo su"는 수행하지만 "sudo su -"는 수행할 수 없는 경우는 언제입니까?

사용자가 "sudo su"는 수행하지만 "sudo su -"는 수행할 수 없는 경우는 언제입니까?

나에게 다음과 같은 일이 일어났습니다.

$ sudo su - superman

Sorry, user clarkkent is not allowed to execute '/bin/su - superman' as root in krypton101.

그러나 다음은 정상적으로 작동합니다.

$ sudo su superman

사용자가 어떤 작업을 하도록 허용하지만 수행하지 않도록 하는 것이 언제 sudo su유용한가요 sudo su -? 이 설정을 어떻게 설정/해제하나요? 나는 읽었다이 페이지그러나 이것은 도움이 되지 않습니다.

자세한 내용은:

  • 저는 관리자가 아닙니다.
  • 액세스할 수 없습니다./etc/sudoers
  • 배포판은 Centos 7입니다.

답변1

via 에서 허용하는 명령을 지정할 때 sudo기본적으로 두 가지 간단한 옵션이 있습니다.

  • 특정 명령을 허용어느매개변수 또는
  • 특정 명령을 허용정확하게 지정하세요매개변수 세트만 해당됩니다.

따라서 파일에 두 개의 항목이 허용 sudo su - superman되고 필수입니다 . 관리자가 이 중 하나만 제공한 것 같습니다.sudo su supermansudoers

실제로 파일 sudoers구문에서는 관리자가 와일드카드 또는 정규식 제한 옵션을 사용하여 특정 명령을 지정할 수 없습니다. 이러한 사양은 남용하기가 너무 쉽기 때문입니다. 앤드류가 말했듯이,죄송합니다보다 더 안전방법은 여기에 있습니다.

하지만 원래 사용자가 실행을 허용 sudo su superman해야 한다는 점에 유의하세요.sudosu superman 루트 사용자로. 실제로 ID 전환은 한 번이 아닌 두 번 이루어집니다. 먼저 원래 사용자에서 루트 by 로 sudo, 그런 다음 루트에서 supermanby 로 전환됩니다 su. 파일의 사양은 다음과 같습니다 sudoers.

original_user ALL=(root) su superman

반면에 sudoers사용자가 명령 사용법에 너무 집중하지 않는 경우 구문은 사용자가 특정 사용자로서 모든 명령을 실행할 수 있도록 하는 더 쉬운 방법을 제공합니다 su.

sudoers 사양이 다음과 같이 작성된 경우:

original_user ALL=(superman) ALL

그런 다음 사용자는 sudo -u superman -s다음을 사용하여 가까운(그러나 부정확할 수 있는) 동등한 결과를 얻을 수 있습니다.sudo su superman 그리고 sudo -u superman -i도달하다정밀한.sudo su - superman

왜 사람들은 생성자를 고수하는 대신 그것을 사용하지 않습니까 sudo su -?!의 이전 버전 -i에는 이 옵션이 없기 때문입니다.sudo

2000년 이후에 나왔기 때문에 지금은 쓸모가 없는 이 sudo su -구조를 여전히 권장하는 오래된 문헌이 많이 있습니다. 물론 예전 유닉스 사용자나 관리자들은 머슬메모리를 갖고 있을 수도 있기 때문에 아무 생각 없이 사용하기도 한다.

답변2

이 질문에 답하기: 사용자가 sudo su 대신 sudo su를 수행하도록 허용하는 것이 언제 유용합니까?

su하이픈 뒤와 앞사용자 이름현재 사용자가 사용자 이름의 환경을 상속받을 수 있도록 su에 지시합니다. 을 텐데크라켄의환경에는 실행할 수 있도록 필요한 환경 변수가 설정되어 있습니다.슈퍼맨, 실행할 필요가 없습니다 sudo su - superman.

이를 허용하지 않는 정당한 "이유"는 시스템 관리자가 이것이 보안 위험을 초래한다고 sudo su - superman믿기 때문일 수 있습니다 . sudo su - superman이는 sudo su -사용자 이름을 지정하지 않으면 다음으로 로그인하라는 메시지가 표시되기 때문입니다.뿌리사용자 여러분, 이것은 아마도 시스템 관리자가 피하려고 하는 것일 것입니다. 실제로 하이픈을 추가하면 이러한 위험이 발생하는지 확실하지 않지만 보안에 있어서는 그럴 것 같습니다.죄송합니다보다 더 안전.

이 설정을 어떻게 설정/해제하나요?

구성은 /etc/sudoers파일에 정의됩니다.

관련 정보