해커가 아니더라도 ssh 접속 기록을 가끔 지우고 싶을 때가 있다.
나의 IP가 노출된다거나
나의 사용 기록이 노출된다거나
나가 마지막으로 언제 들어왔는지 등등등...
그 외 다양한 기록이 남겠지만 일단 이것만이라도 지워보자.
목차
언제 들어왔는지 지우기 (/var/log/wtmp, /var/log/lastlog)
/var/log/wtmp 파일이 없으면 last 명령어의 결과가 나오지 않는다. 아래와 같이 해보자.
dev@dev:~$ sudo mv /var/log/wtmp /var/log/wtmp.old
[sudo] password for dev:
dev@dev:~$ last
last: cannot open /var/log/wtmp: No such file or directory
dev@dev:~$
그런데 아무 것도 나오지 않으면 안 되니 touch 명령어로 파일만 만들어 보자.
dev@dev:~$ sudo touch /var/log/wtmp
dev@dev:~$ last
wtmp begins Wed Oct 27 15:16:20 2021
dev@dev:~$
------- SSH 재접속 후 ---------
dev@dev:~$ last
dev pts/0 192.168.0.10 Wed Oct 27 15:17 still logged in
wtmp begins Wed Oct 27 15:16:58 2021
SSH 재접속 후, 당연히 다시 나오겠지만, 로그인 전까지는 기록이 없게 된다.
/var/log/lastlog 도 좀 손봐야 한다.
위와 같이 해도 접속 시, 아래와 같이 기록이 나온다.
아래와 같이 /var/log/lastlog 파일이 없으면 lastlog 명령어의 결과가 출력되지 않는다.
dev@dev:~$ sudo mv /var/log/lastlog /var/log/lastlog.old
[sudo] password for dev:
Sorry, try again.
[sudo] password for dev:
dev@dev:~$ lastlog
/var/log/lastlog: No such file or directory
역시나 아무 것도 안 나오면 안 되니, touch 명령으로 파일은 만들어 놓자.
dev@dev:~$ sudo touch /var/log/lastlog
dev@dev:~$ lastlog | grep dev
dev **Never logged in**
dev@dev:~$
흠.... 나의 로그인 기록은 없다. 물론, 다시 접속하면 결과는 나온다.
dev@dev:~$ lastlog | grep dev
dev pts/0 192.168.0.10 수 10월 27 15:27:18 +0900 2021
dev@dev:~$
명령어 히스토리 (history) 지우기
history는 너무 좋은 기능이면서 가끔은 숨기고 싶은 기능이다. 흠.. 조금 전에 했던 것이 모두 나오네요.
history 명령어의 옵션을 보면 -c 옵션이 있다.
dev@dev:~$ history --help
history: history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...]
Display or manipulate the history list.
Display the history list with line numbers, prefixing each modified
entry with a `*'. An argument of N lists only the last N entries.
Options:
-c clear the history list by deleting all of the entries
-d offset delete the history entry at position OFFSET. Negative
흠.. 뭐가 되는 것 같다.
dev@dev:~$ history -c
dev@dev:~$ history
1 history
dev@dev:~$
하지만 다시 접속해보면 그대로 나온다.
history는 원천적으로 지워야 한다. history 내용은 ~/.bash_history 파일 안에 들어 있다. 그럼 이 파일을 지워야겠다.
쩝. 다시 로그인해서 보니 history 내용에 "저 히스토리 지우고 나갔어요~"라고 나온다.
깔끔하게 명령어 히스토리 (history) 지우기
셀 옵션을 변경하는 set 명령어가 있다. 이 명령어에 보면 history를 on/off 하는 옵션이 있다.
$ set +o history // off
$ set -o history // on
해당 옵션을 사용하면 off 시킨 내역은 기록되지만, off 후의 ls, history, dir은 기록되지 않고 on 후의 history는 기록된다.
dev@dev:~$ history -c
dev@dev:~$ set +o history
dev@dev:~$ ls
Desktop Documents Downloads Music Pictures Public snap Templates Videos work
dev@dev:~$ history
1 set +o history
dev@dev:~$ dir
Desktop Documents Downloads Music Pictures Public snap Templates Videos work
dev@dev:~$ set -o history
dev@dev:~$ history
1 set +o history
2 history
dev@dev:~$
문제는 이렇게 해도 두어 개의 기록은 남는다. 그럼 어떻게 해야 할까.
$ set +o history
$ rm ~/.bash_history
$ touch ~/.bash_history
$ history -c
$ set -o history
종료할 때, exit 등을 사용하면 기록이 남으니 그냥 연결을 끊어야 한다. 다시 들어가 보면.. 흠.. 좋군....
dev@dev:~$ history
1 history
dev@dev:~$
마무리
운영체제에는 사용 기록 이외에도 다양한 로그가 남는다. 그냥 프라이버시 관점에서 몇 개의 로그를 삭제하는 것이니 많은 것을 기대하신 분에게는 가치 없는 내용이겠지만. ㅎㅎ
정리해서 아래와 같이 하면 대략 정리가 된다.
$ sudo rm /var/log/wtmp
$ sudo touch /var/log/wtmp
$ sudo rm /var/log/lastlog
$ sudo touch /var/log/lastlog
$ set +o history
$ rm ~/.bash_history
$ touch ~/.bash_history
$ history -c
$ set -o history
'놀기 > Linux' 카테고리의 다른 글
git 접속을 위한 ssh key 생성 (0) | 2022.01.14 |
---|---|
SSH 설치하기 (Ubuntu 20.04) (0) | 2022.01.14 |
디렉토리 이동 프로그램 (0) | 2021.07.26 |
시리얼 통신 프로그램 추천 (minicom / moserial / gtkterm, ubuntu 20.04 기준) (0) | 2021.07.25 |
OneDrive service 끄기 (0) | 2021.07.09 |
댓글