추가 읽기

추가 읽기

나는 솔라리스에서 리눅스의 lastlog에 해당하는 명령이 필요하고 사용자가 솔라리스 서버에 마지막으로 로그인한 날짜와 시간을 찾기 위한 스크립트를 작성해야 합니다. Linux는 lastlog 명령을 사용하여 쉽게 얻을 수 있습니다.

마지막 -1 USERID를 시도했는데, 사용자가 서버에 로그인하지 않은 경우 출력이 없습니다. 작업은 90일 이상 서버에 로그인하지 않은 사용자를 찾는 것입니다. 스크립트는 다음과 같이 출력해야 합니다.

ServerName USERID 10-Jun-2018 3Days

답변1

lastlog운영 체제에서 제공하는 Linux 명령과 직접적으로 동등한 것은 없습니다 .

Linux 로그인 빌링 시스템에는 각 사용자 계정의 마지막 로그인 시간을 기록하고 해당 계정의 사용자 ID로 인덱싱되는 테이블이 있습니다. NetBSD, FreeBSD 및 OpenBSD 로그인 계정 시스템에는 동등한 테이블(비록 구조와 이름은 다르지만)과 (NetBSD 및 FreeBSD 시스템의 경우) lastlogin1990년대 중반으로 거슬러 올라가는 명령이 있습니다. Linux 및 BSD 세계에서 이 테이블은 로그인 로그 테이블과 현재 활성화된 로그인 테이블(로그인 데이터베이스의 다른 두 테이블)에 기록하는 동일한 프로그램에 의해 업데이트됩니다.

Solaris에는 두 개의 테이블이 있습니다. 하나는 동일한 테이블이고 다른 하나는 정확히 동일하지 않은 테이블입니다.

last다른 사람들이 지적한 명령은 두 명령 모두에서 작동하지 않기 때문에 특별히 유용하지 않습니다. 운영이 중단되었습니다다른로그인 계정 데이터베이스의 테이블, 즉 로그인 이벤트 로그 테이블에서 볼 수 있듯이 계정이 로그인된 적이 없으면 이 테이블에 처리할 내용이 없습니다. 대신 각 사용자 계정의 마지막 로그인 일정에 대한 기록이 있습니다(BSD에서는 빈 암시적 레코드, Linux에서는 명시적으로 빈 레코드).

덜 동등한 Solaris 테이블은 /var/adm/acct/sum/loginlog. 프로그램은 로그인이 발생할 때 이 데이터를 직접 채우지 않으며 login이를 보고하는 직접적으로 동등한 프로그램도 없습니다.

이는 lastlogin명령과 연관되어 있지만 앞서 언급한 동일한 이름의 명령과는 상당히 다릅니다. Solaris에서는 내용을 보고하는 도구가 아니라 이 테이블에 쓰는 도구입니다. (이는 lastloginAIX에서도 사용됩니다.) runacct도구는 매일 실행되어 lastlogin이 테이블을 채우는 명령을 호출합니다. 보고는 prtacct명령을 통해 수행됩니다.

직접적으로 동등한 Solaris 테이블은 /var/adm/lastlogOracle doco에 언급되지 않은 입니다. 그것을 읽을 수 있는 프로그램은 제공되지 않습니다. 그러나 Richard Hamilton이 작성한 타사 lastlog프로그램(Oracle에서 해당 소프트웨어가 사라질 때까지)이 있었습니다. OpenIndiana/Illumos 사람들이 그러한 명령을 병합하도록 설득하고 싶을 수도 있습니다. OmniOS 엔지니어 Dan McDonald는 2016년 1월부터 이러한 작업을 시작했습니다.

추가 읽기

  • 조나단 데보인 폴라드(2018).유닉스 로그인 데이터베이스. 자주 주어지는 답변입니다.
  • "시스템 계정 파일". 시스템 관리 안내서: 고급 관리. Oracle Solaris 10 8/11 정보 라이브러리. 신탁. 2011년.
  • 최신 로그. Oracle Solaris 블로그. 2010년 7월 15일.
  • lastlogin.FreeBSD 시스템 관리자 매뉴얼. 2011년 6월 6일.
  • last. 사용자 명령 매뉴얼. 이루모스. 2017년 4월 12일.
  • acctsh.시스템 관리 명령. 썬 OS 5.11. 2002년 3월 15일.

답변2

Solaris의 명령은 입니다 last.

사용자가 마지막으로 tim로그인한 시간이 표시됩니다.

bash-[510]$ last -1 tim
tim       pts/1        192.168.0.106    Wed Jun 13 18:16   still logged in

데이터베이스 교체 이후 사용자가 로그인하지 않은 경우 출력이 제공되지 않습니다.

bash-[511]$ last -1 tom

wtmp begins Fri Mar 27 19:57

답변3

Oracle Solaris는 또한 다음과 같은 훌륭한 도구를 제공합니다.

계정

다음 링크에서 지침을 찾을 수 있습니다.시스템 회계.

디렉토리에/var/adm/acct/sum라는 파일을 찾을 수 있습니다.로그인 로그. 이 파일은 각 사용자의 마지막 로그인 날짜를 기록합니다.마지막 로그인 스크립트.

이 파일을 기반으로 하고 awk 등을 사용하면 귀하의 요구 사항을 쉽게 충족할 수 있습니다.

관련 정보