"sudo su -username"을 사용하여 로그인하는 방법에 대해 질문이 있으신가요?

"sudo su -username"을 사용하여 로그인하는 방법에 대해 질문이 있으신가요?

Linux 교육을 진행하면서 다음과 같은 호기심을 발견했습니다.

이렇게 하고 "sudo su - username"해당 사용자 이름 계정에 로그인하면 "손가락 사용자 이름"을 수행할 때 로그인된 것으로 간주되지 않습니다.

여기에 이미지 설명을 입력하세요.

이 사진을 찍으세요. "jonathan"은 나(현재 사용자)이고 alumni2는 기본 명령을 테스트하기 위해 만든 또 다른 계정입니다.

Jonathan에서 "로그인"하면 왜 마지막 기록(손가락 동문 2)이 표시되지 않습니까 "sudo su - alumne2"?

답변1

사용자 계정에 액세스하는 방법에는 여러 가지가 있습니다. 예를 들어 콘솔, ssh서버 에 로그인하거나 ftp파일을 가져오거나 작업 할 수 있습니다 cron.

이러한 방법 중 일부는 "로그인"으로 간주되지 않습니다.

sudosu계정 ID를 가정하는 방법이지만 두 방법 모두 로그인 방법으로 간주되지 않습니다.

따라서 로그를 수행 finger하거나 last보는 경우 lastlogin해당 계정에 대해 보고된 활동이 표시되지 않을 수 있습니다.

아마도 이와 같은 상황에서만 볼 수 있을 것입니다 /var/log/auth.log(정확한 파일 이름은 운영 체제에 따라 다릅니다).

답변2

Stephen Harris가 의견에서 언급했듯이 su이것은 로그인 명령이 아닙니다. 대신, 쉘의 현재 ID를 다른 ID로 대체합니다.

이것은 에 잘 설명되어 있습니다.OpenBSD su 매뉴얼 페이지.

su 유틸리티를 사용하면 사용자는 로그아웃하고 다른 사용자로 로그인하지 않고도 다른 사용자의 사용자 및 그룹 ID를 사용하여 쉘을 실행할 수 있습니다.

기본적으로 LOGNAME, HOME, SHELL, USER를 제외한 환경은 수정되지 않습니다. HOME 및 SHELL은 대상 로그인에 대한 기본값으로 설정됩니다. LOGNAME 및 USER는 대상 로그인으로 설정됩니다. 단, 대상 로그인의 사용자 ID가 0이고 -l 플래그가 지정되지 않은 경우에는 수정되지 않습니다. 호출된 쉘은 대상 로그인의 쉘입니다. 이것은 su의 전통적인 행동입니다.

관련 정보