오늘은 리눅스에서 아파치 톰캣 httpd 서비스를 실행할 때 루트 계정이 아닌 일반 유저로 실행하는 방법에 대해서 알아보겠습니다. RFC 규약에 의하여 1~1023포트는 시스템 예약 포트로 root가 아닌 일반 계정으로 실행을 할 수가 없다. (13)Permission denied: AH00072: make_sock: could not bind to address 127.0.0.1:80 no listening sockets available, shutting down AH00015: Unable to open logs 1. 계정 생성 useradd [계정명] -G 0 계정이 이미 생성되어 있다면 usermod로 그룹을 바꿔 주시면 됩니다. usermod [계정명] -G 0 root 그룹 0번으로 변경 c..
리눅스의 시간 동기화의 방법에는 크게 2가지 방법이 있습니다. 37포트를 사용하는 rdate, 123포트를 사용하는 ntpdate 두 가지 중 원하는 시간 동기화 방법을 사용하시면 됩니다. rdate는 아래의 글을 참고하시면 됩니다. [IT/리눅스(Linux)] - 맥북 리눅스 서버 CentOS 시간 동기화 수동 자동 방법 rdate date ntp 맥북 리눅스 서버 CentOS 시간 동기화 수동 자동 방법 rdate date ntp 리눅스 서버를 사용하시는데 있어서 시간이라는 요소는 정말 중요합니다. 시간이 동기화 되지 않았다면 어떤 로그들은 정확한 시간에 남지 않을 수도 있고 원하는 기능이 제 시간에 시작이 되 coconuts.tistory.com ntpdate 서버 목록 time.kriss.re.k..
Redis란? Redis는 Remote Dictionary Server의 약자로 키-값으로 된 in memory data store입니다. 모든 데이터를 메모리에 저장하고 조회합니다. 메모리를 사용하기 때문에 Physical Memory 이상이 발생한다면 사용이 불가합니다. 단순한 get, set의 경우 초당 10만 tps(초당 최대 처리 건수) 이상이 가능합니다. 레디스의 자료구조 다양한 데이터 구조와 API지원이 가능하다는 장점이 있지만 메모리 사용량이 많다는 단점이 있습니다. Redis 설치 wget으로 redis 설치 파일을 불러와 줍니다. wget command not found가 나온다면 yum으로 설치해 줍니다. 레디스 불러오기 wget https://github.com/redis/redis..
우분투 작업 스케줄러 crontab 사용 방법 우분투의 스케줄러 프로그램인 cron 시스템 사용 방법에 대해서 알아보겠습니다. commnad not found crontab commnad not found cron 위와 같은 오류 메시지도 해결이 가능합니다. # apt-get -y install cron 먼저 cron 패키지를 설치해 줍니다. 이것으로 command not found cron을 해결할 수 있습니다. cron 편집하는 방법입니다. crontab -e 로 cron edit 편집기로 들어갑니다. 여기 스케줄링을 걸어 주시면 됩니다. 상세한 crontab 사용 방법은 아래의 링크를 참고해 주세요 [IT/리눅스(Linux)] - 리눅스 crontab 예약 명령어 / crontab 사용 방법 리눅스..
CentOS, Ubuntu 등 리눅스에서 로그인 시 경고 배너 및 메시지 출력 리눅스 로그인 시 이용자가 볼 수 있도록 공지사항 메시지를 남기는 기능에 대해서 알아보도록 하겠습니다. 로그인 메시지 설정 파일 로그인 메시지는 크게는 로그인 전 메시지, 로그인 후 메시지로 나눌 수 있습니다. 설정파일 설명 상태 /etc/issue 로컬에서 접속시도시 보여줄 메시지파일 로그인 전 /etc/issue.net 원격지에서 접속시도시 보여줄 메시지파일 로그인 전 /etc/motd 로컬접속, 원격접속 모두에 해당하며 로그인 성공 후 보여줄 메시지 파일 로그인 후 vi /etc/ssh/sshd_config sshd_config 파일을 수정해줘야 합니다. 해당 파일에 보시면 Banner none이라고 되어 있는 부분이 있..
PID 1은 주로 시스템을 시작하고 종료하는데 사용되는 init 프로세스(init process) 보통 시험문제 보기로 부트로더, OS커널, BIOS 세 가지 정도가 나올 수 있는데 이들은 PID 1번이 아니다. 사실 init 프로세스가 PID 1번을 가지게 된건 어떤 기술적인 이유가 있다기 보단 단순히 커널이 첫 번째로 만든 프로세스기 때문이다. 모든 프로세스는 init(PID 1)을 부모 프로세스로 가지고 모든 스레드는 kthreadd(PID 2)를 부모 프로세스로 가진다.
윈도우 WSL에서 복사 붙여넣기 활성화방법 wsl 복사 붙여넣기 활성화 하는 방법에 대해서 알아보겠습니다. WSL은 윈도우에서 리눅스 시스템을 사용할 수 있는 정말 혁신적인 기능인데요, 기존에는 여기서 복사 붙여넣기가 불가능 합니다. 하지만 환경설정을 조금만 손봐준다면 Ctrl+c,v로 붙여넣기도 가능하게 됩니다. 사용하시는 wsl을 열어서 마우스 우클릭 하신 후 속성으로 들어가 줍니다. 옵션에서 Ctrl+Shift+C/V를 복사 붙여넣기로 사용을 체크해 줍니다. 그러면 이제 Ctrl+Shift+c,v로 복사 붙여넣기가 가능하게 됩니다. 단축키 뿐만 아니라 마우스 우클릭으로 붙여넣기 가능합니다.
passwd로 일반 계정의 패스워드를 변경하고자 할 때 인증 토큰 수정 오류라고 나오면서 거부되는 경우가 있습니다. 그럴 때 해결 방법에 대해서 알려드리겠습니다. root 패스워드를 변경하고자 할 때 passwd를 입력하시고 변경을 하시면 "인증 토큰 수정 오류"라는 메시지가 나올 때가 있습니다. root 계정 su - 로 접근하실 후 passwd [계정명] 을 입력하시면 계정의 최초 패스워드를 변경하실 수 있습니다. 사용자의 비밀 번호 변경 중 새 암호: 새 암호 재입력: passwd: 모든 인증 토큰이 성공적으로 업데이트되었습니다.
This account is currently not available. 메시지가 나온다면, 계정에 쉘을 지정해 줘야 가능한 경우가 있습니다. # chsh -s /bin/bash 계정명 # chsh -s /bin/bash TestUSer chsh Change Shell 유저의 쉘을 변경해주는 명령어입니다. 다시 su - 유저이름을 해주시면 정상적으로 접속이 가능한 것을 확인하실 수 있습니다.
리눅스 root 그룹에 넣기 일반 계정에 root 권한 부여 cat /etc/shadow에서 보시면 유저의 그룹이 따로 들어가 있는 것을 볼 수 있습니다. # cat /etc/group 그룹을 확인해 보시면 root 그룹은 0으로 생성되어 있는 것을 볼 수 있습니다. /etc/group을 편집해서 root 그룹 안에 내 일반 계정을 입력해 주시면 일반 유저도 root 권한이 가능합니다. 일반 유저가 root 패스워드 없이 root 로 subsititue user가 가능하게 하기 # vi /etc/pam.d/su 해당 파일을 편집해서 일반 계정에서도 su가 가능하도록 설정할 수 있습니다. auth sufficient pam_wheel.so trust user_uid 위 줄이 아마 주석 처리가 되어 있을건데..
최근에 USB를 급하게 포맷을 할 일이 있었습니다. 서버나 프린터 등에서 USB 이동식 저장 매체를 사용할 때 호환이 되지 않는 파일 포맷들이 종종 있습니다. 그럴 때는 보통 FAT32 정도로 포맷을 하시면 호환이 가능한 경우가 제 경험상 많았습니다. 리눅스에서 여러 포맷으로 USB를 포맷하는 방법에 대해서 소개해 드리겠습니다. FAT32 or FAT16 으로 포맷 $ sudo mkfs.fat -F 32 -n [볼륨 레이블 명] -v 장치명(/dev/sdc) -F 로 FAT32 또는 FAT16을 지정할 수 있습니다. -n 볼륨의 이름 설정 ntfs로 포맷 $ sudo mkntfs -f -L [볼륨 레이블 명] -v 장치명 ext4로 포맷 $ sudo mke2fs -t ext4 -L [볼륨 레이블 명] -..
취약점 : TLS/SSL Server Is Using Commonly Used Prime Numbers (tls-dh-primes) 서버는 디피 헬만 키 교환 중에 매개 변수로 일반 또는 기본 소수를 사용합니다. 이는 보안 세션을 사전 계산 공격에 취약하게 만듭니다. 조회 테이블을 사용하여 핸드쉐이크에 대한 공유 비밀을 얻고 세션을 해독할 수 있는 취약점이 존재합니다. 1. /etc/httpd/conf/extra/httpd-ssl.conf 편집합니다. 2. SSLCipherSuite 값에 :!ADH 추가 합니다. SSLCipherSuite [protocol] cipher-spec :!ADH 란 Apache 에서 Diffie-Hellman 을 비활성화를 의미합니다. $ vim httpd-ssl.conf S..