할 수 있다는 것을 알고 있지만 last $USER
사용자가 많은 시스템에서는 이 방법이 제대로 또는 안전하게 작동하지 않습니다. 어떤 사용자도 다른 사용자의 IP를 알거나 로그인할 때 알 수 없습니다. 이 문제에 대해 알려진 해결책이 있습니까? 아니면 제가 알고 있어야 하는 것이 있습니까?
답변1
FreeBSD에서 주의해야 할 파일은 다음과 같습니다:
/var/log/utx.log
/var/log/utx.lastlogin
utmp
utmpx
9.0에서 대체됨
일반적이지만 조잡한 방법은 파일을 /dev/null에 연결하는 것입니다. 이 파일에 기록된 모든 데이터는 유효하지 않습니다.
ln -sf /dev/null /var/log/utx.log
또는 데이터베이스에 대한 명령의 액세스를 제거할 수 있습니다 lastlog
.
chmod o-r /var/log/utx.lastlog
위의 장점은 루트로서 여전히 데이터베이스에 액세스할 수 있지만 사용자로는 액세스할 수 없다는 것입니다. 그것이 나의 첫 번째 선택이 될 것입니다.
그러나 사용자에게 부분적인 액세스 권한을 부여하려는 경우에는 어렵습니다. 대체할 래퍼 스크립트를 생성하여 원하는 정보만 표시할 수 last
있습니다 lastlogin
. 그러나 데이터는 사용자가 파일을 볼 수 있도록 여전히 누구나 읽을 수 있는 파일에 기록됩니다.
마지막으로 로깅을 활성화하려는 tty를 선택할 수도 있습니다.교류. 그런 다음 모든 pts
SSH 세션을 정상적으로 기록하지 않도록 선택할 수 있습니다 .
그러나 보안이 우려되는 경우 로깅을 계속할 수 있지만 데이터베이스 파일에 대한 누구나 읽을 수 있는 파일 액세스를 제거하기만 하면 됩니다.
답변2
사용자가 로그인한 경우 ssh
이를 달성하는 한 가지 방법은 소스에서 직접 빌드하는 것일 수 있습니다 . sshd
저는 이것을 시도하지 않았습니다. 단지 제안일 뿐입니다.--disable-utmp --disable-utmpx --disable-wtmp --disable-wtmpx
configure