본문 바로가기
반응형

Linux23

[linux] 채굴되던 서버 트러블 슈팅(프로세스 kill 안됨) 목차 시연용으로 vm을 외부에 열어 놓은 상태 였다. 증상 이상하게 별거 안올렸는데 웹서버가 버벅거렸다. 모니터링 해보니 cpu 가 500%, 600% 를 차지하고 있었다. 별로 사용도 안하여 한번 시연하고 vm을 전원끈 상태로 두었다. 원인 파악 그러다가 다시 시연한다고 하셔서 vm을 열었는데 똑같이 cpu 리소스를 500~600% 찍는 것이었다. 프로세스를 확인해보니 test 계정에서 .v12zx890d 이런 파일이 실행되고 있었다.(.을 파일명앞에 두어 숨김처리가 되어있다.) 구성만 내가 해줘서 어떻게 관리되는지 몰라 관계자 분들에게 문의해보니 모르신다고 하셨다. 그래서 우선 킬을 해보기로 했다. 그런데 킬을 하니 다른 파일이름으로 다시 실행이 되는것이었다. 여기서 부터 좀 뭔가 이상하다는 느낌을 .. 2024. 4. 18.
업로드 에러 - 413 Payload Too Large 증상 레드마인에 파일을 업로드하는데 413 Payload Too Large라는 에러가 발생하였다. 원인 was 분석 우선 redmine의 용량 설정을 보았으나 이미 설정이 되어 있었다. 그리고 에러로그를 살펴보았는데 아무것도 나오지 않았다. bitnami redmine을 사용했는데 여기에 apache가 있길래 여기도 있어서 살펴보고 여기에 용량 설정하는 설정이 있어서 설정을 다음과 같이 하였다. LimitRequestLine 65536 LimitRequestBody 0 LimitRequestFieldSize 65536 LimitRequestFields 10000 그래도 같은 에러가 발생하였다. 개발자도구에서 413 Payload Too Large라는 에러를 발견하였다. 해당 에러는 서버에서 업로드 제한하.. 2024. 3. 18.
[linux] ssh 실행시 start condition failed 에러 sudo service ssh start sudo systemctl status ssh ● ssh.service - OpenBSD Secure Shell server Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled) Active: inactive (dead) Condition: start condition failed at Tue 2023-10-06 20:56:14 PDT; 8min ago └─ ConditionPathExists=!/etc/ssh/sshd_not_to_be_run was not met Docs: man:sshd(8) man:sshd_config(5) Oct 06 20:40:48 penguin.. 2024. 3. 12.
[linux] conntrack에 대해 알아보자(iptables) 서론 iptables를 화이트리스트로 설정했는데 외부와 통신이 되질 않는다. udp 및 tcp의 임시포트를 허용해 주면 되지만 다음과 같이 상태를 추적하여 허용해주면 간단하고 보안적으로도 좋은 방화벽을 구성할수가 있다. iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT 그런데 저 상태가 어떤식으로 전송이 되는지 궁금하여 찾아보았다. conntrack 상태 NEW: 이 상태는 새로운 연결을 나타냅니다. 클라이언트가 서버에 접속하거나 새로운 연결을 요청하는 패킷은 이 상태로 분류됩니다. ESTABLISHED: 이 상태는 이미 설정된 연결을 나타냅니다. 한 번의 초기 연결 설정 이후에 데이터가 주고받아지는 연결은 ESTABLISHED.. 2024. 3. 11.
[linux] top 명령어 활용법! 목차 top을 입력하면 다음과 같은 화면이 나옵니다. f 를 누르면 필드를 추가 및 수정 을 할수가 있다. (설명도 나오네요) 설정값 저장은 w를 하면 된다. 프로세스 상태 참고글 : Load Average에 관하여 SHR 옆에 있는 S 항목으로 볼 수 있음 D : Uninterruptiable sleep. 디스크 혹은 네트워크 I/O를 대기 R : 실행 중(CPU 자원을 소모) S : Sleeping 상태, 요청한 리소스를 즉시 사용 가능 T : Traced or Stopped. 보통의 시스템에서 자주 볼 수 없는 상태 Z : zombie. 부모 프로세스가 죽은 자식 프로세스 단축키 q: top 프로그램을 종료합니다. k: PID를 입력하고 엔터를 누르면 해당 PID에 대한 프로세스를 강제로 종료합니다.. 2024. 3. 5.
우분투 E: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 에러 os 시간 설정이 안맞은 상태에서 update 진행하니 안되서 시간 수정후 다시 진행하니 다음과 같은 에러가 발생 Reading package lists... Done E: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 5559 (unattended-upgr) N: Be aware that removing the lock file is not a solution and may break your system. E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it? 해결방법은 다음과 같다. sudo .. 2024. 2. 7.
linux iptables 설정 목차 최근 외부 서비스를 통하여 방화벽 설정을 많이 하게 되는데 이유는 다음과 같다. 1. 편의성 2. 외부 접근시 보안 편의성에서는 외부에서 ssh 접근을 안하고 웹상으로 그래픽 UI로 편리하게 할수 있다는 점. 보안상 안좋을 수 있는데 iptables의 경우 무조건 root 권한으로 설정을 해야한다. 외부에서 방화벽을 설정한다고 하면 root 접근이 외부에서 가능하다는 것인데 이것이 문제가 될수 있다. 하지만 내부에서 사용하는 경우 보안적으로 더 좋으므로 사용하는경우가 있으므로 해보자! 설치 sudo apt-get update sudo apt-get install iptables 명령어 옵션 -A: 새로운 규칙을 추가합니다. -D: 기존의 규칙을 삭제합니다. -R: 새로운 규칙으로 대체합니다. -P:.. 2024. 1. 15.
[windows] 터미널 2147942667 (0x8007010b) 오류 목차 오랜만에 터미널로 ubuntu를 실행해보았다. 증상 [’ubuntu2204.exe' 시작 시 2147942667 (0x8007010b) 오류 발생] 시작 디렉터리 "/mnt/e/DATA"에 액세스할 수 없습니다. 찾아보니 2147942667 에러는 경로설정이 뭔가 잘 못되엇다는 소리이다. 해결방법 터미널 설정의 해당 프로필에서 시작 디렉터리를 열어보자. 여기서 상위 프로세스 디렉터리 사용을 클릭후 저장을 하자! 정상적으로 출력이 되는것을 확인할 수 있다. 이상한점은 설치한 centos는 같은경로를 설정했는데 실행이 되고 있다는 점... 좀더 찾아보고 포스팅 해보도록 하겠다. Reference https://github.com/microsoft/WSL/issues/6995 Could not acces.. 2023. 12. 12.
[Linux] fork: Cannot allocate memory 에러 - 명령어 입력 안됨 목차 Symptom 보통 검색해보면 swap 메모리 부족으로 인한 에러라고 한다. 그래서 swap 메모리를 늘리면 되지만 나의 경우는 명령어를 입력하면 fork: Cannot allocate memory 라는 에러문구만 나왔다. 그래서 어떤 프로세스가 사용하고 있는 메모리가 높은지 부터가 파악이 되지 않았다. Solved echo 1 > /proc/sys/kernel/sysrq echo f > /proc/sysrq-trigger echo 0 > /proc/sys/kernel/sysrq 위 세개의 명령어는 입력이 될텐데 한번 다 입력해도 안될때 있으면 두번째 명령어인 echo f > /proc/sysrq-trigger를 여러번 입력하시면 정상적으로 동작한다. oom킬러를 수동으로 트리거 하는건데 원인을 보.. 2023. 10. 13.
[Linux]Hostname란, 개념, 변경해야 할때 호스트 이름은 네트워크에 연결된 컴퓨터나 서버에 할당되는 사용자 정의 레이블로, 네트워크 내에서 접속 및 통신을 위해 쉽게 식별되고 다른 장치와 구별될 수 있습니다. 호스트 이름은 인터넷을 포함한 네트워크의 다양한 분야에서 DNS와 함께 사람이 읽을 수 있는 텍스트 형식으로 사용되어 장치의 IP 주소에 매핑됩니다. 호스트 이름 설정은 운영 체제를 설치하거나 장치 또는 서버에 대해 사용자가 지정하는 서버를 구성하는 단계 중 하나입니다. 때로는 네트워크의 중복된 호스트 이름으로 인해 네트워크 충돌이 발생하여 사용자가 호스트 이름을 변경해야 하는 경우도 있습니다. 물론, 호스트 이름을 변경해야 하는 다른 이유도 있습니다. 주로 네트워크 중단 및 호스트 이름으로 컴퓨터 시스템을 식별하지 못하기 때문입니다. 이 .. 2023. 9. 11.
sudo -u 와 su -c 의 차이점 목차 한서버에 다양한 유저가 있고 실행파일이 각각 나뉘어져 있을 경우 실행이 안되거나 에러가 날 경우가 있다. 그래서 사용자를 변경하거나 권한을 변경하고 사용자로 실행이 있습니다. sudo -u 'command' sudo -u user command (또는 sudo --user=user command): 이 명령어는 현재 사용자를 슈퍼 유저(root) 권한으로 변경하여, 지정된 user로 변경하여 해당 사용자의 권한으로 command를 실행합니다. 일반적으로 sudo를 사용하는 사용자는 슈퍼 유저(root) 권한을 가지고 있어야 합니다. 따라서 sudo -u 명령은 슈퍼 유저 권한을 사용하여 다른 사용자의 권한으로 명령을 실행하는 데 사용됩니다. 예를 들어, app 사용자로 변경하여 ls 명령을 실행하려.. 2023. 7. 26.
logrotate 파일 삭제 안되는 경우 목차 증상 logrotate 설정을 일정 파일수 이상이면 삭제하도록 설정을 했는데 이전것이 삭제가 되지 않는 상황이 나타났다. 원인 man logrotate로 찾아보면 rotate 되어야만 오래된 파일이 삭제가 된다라고 나와 있다. 해결방법 두가지가 있다. crontab에 삭제 명령어 입력 특정 시간대에 수정 날짜가 며칠 이상 지난것을 지워버리면 된다. 0 4 * * * find [파일경로] -mtime +10 -delete logrotate 설정 파일에 명령어 입력 postrotate를 사용하여 위에 입력했던 명령어를 삭제하는 방법 postrotate find /path/to/logs -name "*.log.1.gz" -mtime +14 -delete endscript Reference https://.. 2023. 4. 20.
반응형