![사용자를 변경하고 현재 위치를 유지하는 방법은 무엇입니까?](https://linux55.com/image/162441/%EC%82%AC%EC%9A%A9%EC%9E%90%EB%A5%BC%20%EB%B3%80%EA%B2%BD%ED%95%98%EA%B3%A0%20%ED%98%84%EC%9E%AC%20%EC%9C%84%EC%B9%98%EB%A5%BC%20%EC%9C%A0%EC%A7%80%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
하나의 명령으로 다른 사용자로 전환하는 방법을 알고 싶습니다(보통 내 경우에는 root
)그리고 여전히 같은 자세로 있어변경 전 내가 있었던 곳.
저는 보통 이렇게 하는데, 불행하게도 많은 단계를 거쳐야 합니다.
user1@m:~/loc1/loc2$ pwd
/home/user1/loc1/loc2
user1@m:~/loc1/loc2$ su -
Password:
root@m:~# cd /home/user1/loc1/loc2
root@m:/home/user1/loc1/loc2#
나는 비슷한 것을 찾고 있습니다 :
user1@m:~/loc1/loc2$ su - && ...
또는 이와 유사한 결과를 얻을 수 있습니다.
root@m:/home/user1/loc1/loc2#
답변1
설명서에 따르면 -
및 -l
둘 다 동일한 옵션입니다.
-l
전체 로그인을 시뮬레이션합니다. HOME, SHELL, PATH, TERM, USER 이외의 환경은 삭제됩니다. HOME과 SHELL은 위와 같이 수정됩니다. USER는 대상 로그인 이름으로 설정됩니다. PATH는 "/bin:/usr/bin"으로 설정됩니다. TERM은 현재 환경에서 가져옵니다. 호출되는 쉘은 대상 로그인의 쉘이며 su는 디렉토리를 대상 로그인의 홈 디렉토리로 변경합니다.
-
(문자 없음)은 과 동일합니다-l
.
-l
또는 를 지정하지 않으면 -
디렉터리가 변경되지 않습니다.
답변2
가장 간단한 솔루션:
user1@m:~/loc1/loc2$ su root
심지어 (@Christopher에게 감사드립니다):
user1@m:~/loc1/loc2$ su