사용자의 로그인 날짜 및 로그인 시간


25

사용자의 로그인 시간과 로그인 날짜를 가져오고 싶습니다. Unix에 사용자의 로그인 날짜와 사용자의 로그인 시간을 제공하는 명령이 있습니까? 이 문제는 사용자 이름이 최종 사용자로부터 받아 들여지고 사용자의 가용성을 확인한 후에 쉘 스크립트에서 수행하고 싶습니다. 사용자의 로그인 시간과 로그인 날짜를 다른 변수로 가져 와서 'echo'명령을 사용하여 표시하고 싶습니다 .

답변:


32

지난 로그인의 경우 :

last "$USER_NAME"

또한이 명령 who은 현재 로그인을 나열합니다.

사용자의 마지막 로그인 날짜를 찾는 경우 일부 시스템은 예를 들어 lastlog -u "$USER_NAME"Linux 또는 lastlogin "$USER_NAME"FreeBSD 에서 직접 제공합니다 . 의 출력으로도 사용할 수 finger있지만 구문 분석하기 쉬운 형식은 아닙니다. 어쨌든, 그것은 last많은 유닉스 변형 last -n 1 "$USER_NAME"에서 마지막 로그인을 보여 주지만 그렇지 않으면 할 수 있습니다 last "$USER_NAME" | head -n 1. 마지막 로그인은 마지막 로그 아웃과 일치하지 않을 수 있습니다 (예 : 사용자가 한 출처에서 오랫동안 연결 상태를 유지하고 최근에 빠른 네트워크 로그인을 했음).


나는 'who'명령이 모든 사용자의 로그인 정보를 제공하고 있지만 "로그인 날짜"와 "로그인 시간"을 원하고 과거 로그인에 대한 사용자 정보를 원하지 않지만 사용자가 수락 한 사용자 이름에 대해서는 원하지 않습니다. 해당 사용자에 대한 정보를 가져 오려는
Paresh Mayani에게

? 마지막 "$ username"은 "로그인 날짜"및 "로그인 시간"을 제공합니다. 당신의 문장의 두 번째 부분은 나에게, 아마도 내 영어, 아마도 너의 것이 분명하지 않다.
echox

@Paresh : 귀하의 질문을 해석하는 방법이 부족합니다. 그래도 대답이 도움이되지 않으면 질문을 명확하게 해보십시오.
Gilles 'SO- 악마 중지'

@Paresh : last $USER_NAME현재 사용자도 표시합니다. 이 같은 표시합니다username ttyp0 192.168.1.100 Tue Sep 13 13:09 still logged in
스테판 Lasiewski

@Gilies는 실제로 수행하고 싶은 것을 명확하게 해주고, 사용자 이름을 "read $ username"으로 받아들이는 쉘 스크립트를 만들고 싶습니다. 그런 다음 사용자가 로그온했는지 여부를 확인하고 싶습니다. 그래 그럼 난의 로그인 시간 및 로그인 날짜, 지원에 대한 고맙습니다 가져 오려는
Paresh Mayani

3

Linux에서는 last -R $username | awk '/still logged in/ {print $3,$4,$5,$6}'사용자가 로그인하지 않으면 아무것도 반환하지 않으며, 그렇지 않으면 각 활성 세션의 날짜 / 시간 목록이 반환됩니다.

-R마지막 옵션을 모르는 다른 유닉스 (호스트 이름을 억제하는)는 약간의 수정이 필요합니다.

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