터미널에서 다른 사용자로 로그인하는 방법은 무엇입니까?


10

현재 OS X에서 일반 사용자로 로그인했습니다.

터미널 세션을 시작하고 user로 로그인하고 싶습니다 foo.

이것이 가능한가?


1
를 사용해 보셨습니까 su - foo?
kraftan

답변:


16

를 사용해 보셨습니까 su - foo?

의견을 기반으로 업데이트 :

공란 -su전체 로그인을 지시 합니다. 그 의미는 (Man 페이지에서)

HOME, SHELL, PATH, TERM 및 USER를 제외한 환경이 삭제됩니다. HOME과 SHELL은 위와 같이 수정됩니다. USER가 대상 로그인으로 설정되었습니다. PATH가``/ bin : / usr / bin ''으로 설정되어 있습니다. TERM은 현재 환경에서 가져옵니다. 호출 된 쉘은 대상 로그인이며 su는 대상 로그인의 홈 디렉토리로 디렉토리를 변경합니다.

따라서 DISPLAY창 서버를 사용하는 프로그램을 여는 등의 다른 환경 변수가 필요한 경우 empty를 생략해야합니다 -.


로그인은 제대로 작동하지만 시도했지만 mate myfile"WindowServer에 연결하지 못했습니다"오류가 발생합니다. 이것은 중요한 수정은 아니지만이 작업을 수행하는 것이 좋습니다.
macek

2
@macek : 터미널에 윈도우 서버 (아쿠아)가 연결되어 있지 않기 때문입니다. 사용자가 현재 그래픽 환경에 로그온 한 경우을 시도하십시오 open -a TextMate myfile.
Georg Schölly

1
@ macek : 확실 su foo하지 않지만 어쩌면 할 수 있습니다. 생략하면 -값 환경 변수 가 유지됩니다.
kraftan

도움을 주셔서 감사합니다. @ kraftan, 아마도 간단한 설명과 함께 대답을 업데이트하십시오. :)
macek

@ 조지, 그것은 작동하지 않는 것 같습니다.
macek

0

MacOS X에서 login


$ login
로그인 : your username
비밀번호 : your password
마지막 로그인 : 일 월 날짜 HH : MM : SS on ttys000
$ whoami
사용자 이름

파일 을 편집하는 데 nano사용한 후 실행하는 데 문제가있었습니다 . 창 크기를 조정하면 텍스트가 깨질 수 있습니다. 아래에서 찾은 대답은 이유를 설명하고 올바른 방향으로 이끌었습니다.su - admin.bashrc

"터미널 에뮬레이터는 터미널 에뮬레이터와 함께 시작된 셸에 SIGWINCH (창 변경 신호)를 전송합니다. 셸은이를 자식에 전달해야하지만 다른 사용자 계정으로 전환 한 경우에는 su를 사용합니다. 그렇지 않으면), 다른 사용자로 실행 중이기 때문에 해당 쉘에 신호를 보낼 수 없으므로 su'd 쉘과 그에서 실행되는 모든 프로그램은 기존 창 크기를 계속 사용하여 실제 창이라는 사실을 알지 못합니다. 크기가 변경되었습니다. " - 텔레콤


-1

나는 su여러 번 시도했지만 sudo더 쉽다는 것을 알았 습니다. 당신은 시도 할 수 있습니다

sudo -u <username>

내 sudo에는 -u옵션 이없는 것 같습니다
Xiao
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.