
하나의 명령으로 다른 사용자로 전환하는 방법을 알고 싶습니다(보통 내 경우에는 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