안녕하세요. 오늘은 linux의 그룹 파일에 대해 간단하게 알아보겠습니다. 그리고 sudo도 다시 한 번 보도록 하겠습니다. 먼저 root가 아닌 유저로, sudo su라는 것을 쳐 보면, 이렇게 나오는 경우가 있습니다. ?는 sudoers 설정 파일에 없습니다. 이 시도를 보고합니다. 이런 메세지가 뜨는데요. 이는, 해당 유저가 sudo 권한이 없기 때문입니다. 그러면 어떻게 해야 할까요? 해당 설정 파일에 유저를 추가하거나, 그 파일에서 sudo 권한이 적용되어 있는 그룹에 해당 유저를 추가하면 됩니다. 저는 두 번째 방법을 이용하겠습니다. adduser user group은 user를 group에 추가합니다. 이 명령어를 추가하면 /etc/group 파일이 어떻게 바뀌는지도 보겠습니다. 그룹을 저장..
OS 검색 결과
리눅스의 history 명령은 꽤 자주 쓰곤 합니다. 그런데, 그것만 쓴 적은 없고, 보통 다른 명령어들과 pipe 해서 많이 쓰곤 했습니다. 그것에 대해서 간단하게 보도록 하겠습니다. 먼저, echo $SHELL을 입력해 봅시다. 저 같은 경우에는, /usr/bin/zsh가 출력이 되는데요. 이는 제가 oh my zsh를 사용하기 위해서 zsh를 깔았기 때문입니다. 일단, echo $HISTFILE을 입력해 보도록 하겠습니다. 그러면, /home/cho/.zsh_history가 나올 건데요. 이는 history가 어디에 저장되는지를 나타내는 변수입니다. 여기에서는 제가 있는 경로의 .zsh_history에 히스토리가 차곡 차곡 쌓이고 있다고 하는군요. 제가 zsh에서 쳤던 명령어들이 저장이 되어 있습니..
리눅스에서 바로가기가 바로가기를 가리키고, 또 바로가기가 또 바로가기를 가리키고, 이런 식으로 들어가는 경우가 있습니다. 이 경우에 실제 파일이 어느 경로에 있는지는 어떻게 찾으면 될까요? 먼저, which javac를 쳐 보겠습니다. 그러면 이것은 /usr/bin에 있는 javac 명령어를 쓴다고 합니다. java는 /usr/bin에 있는 java 명령어를 쓴다고 하는군요. 글쎄요. 잘 모르겠으니, 일단 /usr/bin에 들어가서 이들에 대한 정보를 조회해 보도록 하겠습니다. 조회를 해 보니, 둘 다 /etc/alternatives에 있는 특정한 명령어를 가리키고 있음을 알 수 있어요. 바로가기인 셈입니다. 해당 경로에 가서, java와 javac에 대한 정보를 보도록 하겠습니다. 아. 또 링크로 연결..
리눅스에서 몇몇 환경을 구축하고 있습니다. 구축을 하면서 프로그램을 실행시킬 때 만들어지는 에러 로그를 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은 무시한다는 의미입니다. 밑에 부분을 보면, ..
최근댓글