su 사용자 이름과 sudo su -사용자 이름의 차이점은 무엇입니까? [복사]

su 사용자 이름과 sudo su -사용자 이름의 차이점은 무엇입니까? [복사]

나는 둘 다 같은 일을 하고 둘 다 같은 디렉토리에 있는 것을 봅니다. 그럼 정말 똑같나요, 아니면 차이가 있나요?

또한 두 경우 모두 su와 su를 실행하면 루트가 됩니다. 그렇다면 이점은 무엇입니까?

답변1

설명하다

그들 사이에는 차이점이 있습니다.

먼저 su username계정으로 전환하려면 "username"의 비밀번호를 제공해야 하며 sudo su - username잠시 동안 자신의 비밀번호를 사용하면 루트가 된 다음 다른 비밀번호 su - uesrname"username"을 사용하지 않고 해당 계정으로 전환을 실행합니다.

또 다른 차이점은 -with를 사용 su하면 로그인 쉘을 실행할 때 사용자로 전환되고, with를 사용하지 않으면 -비로그인 쉘이 발생한다는 것입니다.


결론적으로:

  • su username:
    • 대상 사용자의 비밀번호를 제공해야 합니다.
    • 로그인이 아닌 쉘에 있게 될 것입니다(그러한 내용은 .profile가져오지 않습니다).
  • sudo su - username
    • 자신의 비밀번호를 사용하여 루트로 명령을 실행하고 있습니다 su(허용된 경우)
    • 대상 사용자 액세스 권한이 있는 로그인 셸이 제공됩니다.

어느 것을 사용할 것인가:

사용자 간에 단일 비밀번호를 공유하는 것은 좋은 생각이 아니므로 su전혀 사용하지 않는 것이 좋습니다. 대신 사용할 수 sudo있으며 다음과 같은 명령을 실행할 필요가 없습니다.

sudo su - username

파일을 설정 /etc/sudoers한 후 다음과 같이 사용할 수 있습니다.

sudo -i -u username

꼭 사용해야 한다면 su항상 이를 사용하여 su -모든 것이 올바른 방식으로 제공되고 어떤 것도 손상되지 않았는지 확인하세요.

관련 정보