리눅스에서 몇몇 환경을 구축하고 있습니다. 구축을 하면서 프로그램을 실행시킬 때 만들어지는 에러 로그를 trace를 해야 하는 일이 생겼는데요. tail -f 옵션을 이용해 보라는 스택 오버플로우의 글이 있었습니다. 생각보다 유용한 명령어일 줄은 몰랐습니다. 단지, tail이 파일의 끝 몇 줄만 출력하는 줄로만 알았기 때문입니다. tail은 파일의 끝 부분을 출력하는 명령입니다. 그런데, -f 옵션을 주면, 파일을 모니터링 합니다. 어떻게 동작하는지 보겠습니다. 문구만 읽어보면, file이 grow함에 따라서, output이 append가 된다는 뜻으로만 보이는데요. 무슨 이야기를 하는지는 잘 모르겠으니, 직접 써 보겠습니다. 터미널 세션 2개를 열겠습니다. 하나는, 1.txt에 append하고, 다른 ..
리눅스 검색 결과
ssh로 연결한 세션이 끊어지면 어떻게 될까요? 1.c는 위와 같습니다. 아시다시피, 그냥 의미없이 계속 무한 루프를 도는 코드입니다. 이것을 컴파일 해서 돌려보겠습니다. strace를 찍어볼 겁니다. 여기서, -o 옵션은 파일에다가, trace 내용을 뽑는 것입니다. strace -o trace.txt는 trace.txt에 트레이스를 한 내용을 출력합니다. ssh 접속을 끊은 다음에 다시 접속한 다음에, trace.txt를 열어봅시다. 그러면, SIGHUP라는 내용이 나왔음을 알 수 있습니다. signal(7) 문서를 보면 몇 가지 행동이 나와 있습니다. 이 중에서, Term은, Default action이 process를 종료하는 것임을 뜻합니다. Ign은 무시한다는 의미입니다. 밑에 부분을 보면, ..
리눅스 시스템을 셋팅하면서, sudo와 su 명령어는 꽤 많이 사용하였습니다. 예를 들어, 우분투에서 sudo apt update 라던지, 아니면 sudo su라던지. 먼저 sudo를 보시면, execute a command as another user라고 되어 있습니다. 이것을 해석하면, 명령어를 다른 유저로 실행을 한다는 의미입니다. 예를 들자면 A라는 명령어를 cho로 실행할 수도 있지만 cho2로도 실행할 수 있고, root로도 실행할 수 있을 겁니다. -u 옵션을 주면, user가 실행하게 되는데요. other than 이라는 것이 있습니다. 원래 default 값은 보통 root인데, -u user 이렇게 옵션을 주면, 예를 들어서 sudo -u user C 라고 입력을 하면, C라는 명령어를..
제 데스크탑 컴퓨터에 Ubuntu 20.04를 설치하였습니다. 그런데, 제 'cho' 라는 계정으로, sudo su라는 것을 입력하였을 때, 'cho'의 암호만 입력하면, root로 로그인을 할 수 있었습니다. cho로 sudo su를 수행했습니다. 적절한 인증을 거친 후에, root가 되었다는 것을 확인할 수 있는데요. 제가 쓰던 또 다른 환경에서는, 다른 유저로 sudo su를 했을 때, 'cho'라는 유저로 로그인을 하면, 실패를 하고 reported가 될 거라는 문구가 떴습니다. 왜 그럴까요? 이러한 의문을 해결하기 위해서, 이들을 관리할 법한 파일들을 보도록 하겠습니다. pwd 디렉터리로 가 보겠습니다. 여기서 ls 명령어를 입력하면, 꽤 많은 파일과 폴더들이 나오는 것을 볼 수 있는데요. 이 ..
이번 시간에는 서버에 key 파일을 가지고 로그인 하게끔 설정을 해 보도록 하겠습니다. setting 파일도 하나 다룰 겸 말입니다. 먼저, 제 로컬에는 ssh 클라이언트와, git for windows, cygwin이 있습니다. ssh-keygen -t rsa는 rsa 알고리즘으로 public key와 private key를 생성합니다. 저는 C:\Users\cho의 .ssh 폴더에 생성했는데요. 이들을 모두 cygwin의 home 폴더에 그대로 복사했습니다. 다음에 권한 설정을 하나씩 해 주어야 하는데요. private, public 키가 한 쌍을 이루고 있어요. 이들은 각각 id_rsa와 id_rsa.pub인데요. 이 중에서 id_rsa는 나 말고 다른 사람이 보면 안 됩니다. 나 외에 다른 사람들..
최근댓글