나는 둘 다 같은 일을 하고 둘 다 같은 디렉토리에 있는 것을 봅니다. 그럼 정말 똑같나요, 아니면 차이가 있나요?
또한 두 경우 모두 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 -
모든 것이 올바른 방식으로 제공되고 어떤 것도 손상되지 않았는지 확인하세요.