SSH를 통해 (실제로) 다른 사용자가 되는 방법

SSH를 통해 (실제로) 다른 사용자가 되는 방법

예를 들어 Linux에서 내 사용자 이름을 변경하고 싶지만 sudo usermod -l new old오류가 발생합니다.

usermod: user old is currently used by process 4139

SSH를 통해 로그인했기 때문에 이것은 분명합니다.

old 4139 0.0 0.2 17032 5140 ? S 18:31 0:00 sshd: old@pts/0

그렇게하더라도 su root다른 사용자로 새 쉘을 시작하겠습니다. 보안상의 이유로 SSH를 통해 다른 사용자로 로그인할 수 없습니다. 이 문제를 어떻게 극복할 수 있습니까?

한 가지 옵션은 일시적으로 보안을 낮추거나(sshd 구성 변경) 임시 사용자를 생성하고, SSH 키를 설정하고, 이를 sudoers에 추가하고, 다른 사용자로 로그인하여 모든 것을 정리하는 것입니다. 이것은 매우 지루한 작업인 것 같습니다. 더 쉬운 방법이 있나요?

답변1

시도해 보고 작동하는지 확인하십시오 exec su root. 그러면 셸이 대체되고 실행 중인 su프로세스가 없을 수도 있습니다 old.

그래도 작동하지 않으면 루트로 로그인하면 됩니다. 아니면 사용자 데이터베이스를 수동으로 편집하고 이로 인해 발생할 수 있는 혼란을 고려하십시오(솔직히 권한 있는 세션을 열어두는 동안 실제로 많은 영향을 미칠지는 의심스럽습니다.) 어떤 경우에도 usermod홈 디렉토리는 변경되지 않으므로 이 작업은 개별적으로 수행해야 합니다.

루트로 직접 로그인하는 것과 루트로 sudo할 새 사용자를 생성하는 것 사이에는 "보안 감소" 차이가 없습니다.

관련 정보