Dev

    자가 서명 인증서 생성

    자가 서명 인증서 생성 인증서는 개인키 소유자의 공개키(public key)에 인증기관의 개인키(private key)로 전자서명한 데이터입니다. 모든 인증서는 발급기관(Certificate Authority: CA)가 있어야 하지만 자가 서명 인증서는 서명해줄 상위 인증기관이 없으므로 개인키로 스스로 서명하여 인증서를 만듭니다. 이렇게 스스로 서명한 CA 인증서를 Self Signed Certificate라고 합니다. 1. 개인키 생성 openssl genrsa -des3 -out example.key 2048 Generating RSA private key, 2048 bit long modulus (2 primes) .............................................++..

    logrotate

    logroate는 로그를 관리하는 도구입니다. 사용자가 정한 주기마다 로그파일을 백업하는 설정이 가능하고 무한대로 로그파일이 생성되는 것을 방지하기위해 최대 로그갯수를 지정할 수 있습니다. /etc/logrotate.conf 설정을 추가하거나 /etc/logrotate.d/ 아래에 설정파일을 생성하여 로그를 관리할 수 있습니다. logrotate 옵션 daily, weekly, monthy, yearly => 매일, 매주, 매달, 매년 시행 rotate => 지정한 갯수 만큼만 보관 compress => 해당되는 로그파일을 압축(gzip) nocompress => 해당되는 로그파일을 압축하지 않음 dateext => 로그명에 확장자 추가 dateformat => 날짜 형식 지정 missingok => 로..

    리눅스 그룹 추가 및 삭제

    리눅스 그룹 추가 및 삭제 사용자 그룹을 생성하여 사용자들을 하나의 그룹으로 소속되게 할 수 있습니다. 그룹에 속한 사용자들은 특정 권한을 가지고 있어 파일이나 폴더등을 공유할 수 있습니다. 그룹 추가 groupadd명령어를 사용하여 그룹을 생성할 수 있습니다. 그룹은 GID 499까지는 할당되지 않아서 500이상인 그룹들 중 가장 낮은 GID로 그룹을 생성합니다. groupadd mygroup -r 옵션 사용시 GID 499이하(시스템용) 그룹을 생성할 수 있습니다. groupadd -r mygroup -g 옵션 사용하면 특정 GID를 할당할 수 있습니다. groupadd -g 777 mygroup 그룹 삭제 groupdel 명령어를 사용하여 그룹을 삭제할 수 있습니다. groupdel mygroup ..

    [python] scp를 이용한 파일전송

    scp를 이용한 파일전송 python의 paramiko와 scp라이브러리를 사용하여 파일전송이 가능합니다. 라이브러리 설치 scp 전송을 위해 사용될 paramiko, scp 라이브러리를 설치합니다. pip install paramiko pip install scp SSHManger 클래스 SSH 연결 및 종료, scp 전송 및 다운로드 등의 기능을 포함한 SSHManager 클래스를 생성합니다. create_ssh_client: SSH 세션 생성 close_ssh_client: SSH 세션 종료 send_file: scp를 이용한 파일 전송 get_file: scp를 이용한 파일 다운로드 send_command: remote 서버에서 명령어 실행 import paramiko from scp import..

    [python] file의 md5 checksum 구하는 방법

    python에서 file의 md5 checksum 구하는 방법 파일을 전송, 다운로드할 때 파일의 무결성을 확인해야 하는 경우가 생긴다. python으로 file의 md5 checksum을 구하는 방법을 정리해보았다. 1) python 라이브러리 설치 file의 md5 checksum을 구하기 위해 hashlib를 사용한다. hashlib가 없는 경우, pip를 이용하여 다운로드받는다. pip install hashlib 2) 코드작성 아래의 코드를 작성하여 calc_file_hash.py 로 저장한다. (/path/to/file에 md5를 계산할 파일경로를 넣어준다.) import hashlib def calc_file_hash(path): f = open(path, 'rb') data = f.read..

    [python] wget 사용하는 방법

    Python wget 사용법 Python에서 wget을 사용하는 방법입니다. 1) wget 라이브러리 설치 먼저 wget을 사용하기 위해 python wget 라이브러리를 설치합니다. pip install wget 2) wget으로 다운로드 wget를 import하고 wget.download를 사용하여 다운로드 받을 수 있습니다. import wget url = "https://github.com/minyong-jeong/minyong-jeong.github.io/raw/master/images/ryan.jpg" wget.download(url) 3) bar 디자인 변경 및 다운로드 위치 변경 bar_custom 함수를 만들어 wget.download의 bar변수에 할당하면 wget의 bar 디자인을 변..

    리눅스에서 노트북 덮개 닫아도 작동하게 하는 방법

    리눅스에서 노트북의 덮개를 닫았을 때 동작하지 않는 현상을 없애는 방법입니다. 아래 명령어를 입력하여 /etc/systemd/logind.conf 파일을 열어줍니다. sudo vi /etc/systemd/logind.conf HandleLidSwitch를 ignore로 설정하고 저장합니다. HandleLidSwitch=ignore 저장한 이후에 아래 명령어를 실행하여 변경한 설정값이 적용이 되도록 합니다. systemctl restart systemd-logind 설정이 완료되면 노트북 덮개를 닫고 사용할 수 있습니다.

    ulimit 명령어

    ulimit 명령어 ulimit은 프로세스의 자원 한도를 설정하는 명령어입니다. ulimit에는 soft한도와 hard한도가 있습니다. soft한도: 새로운 프로그램을 생성하면 기본으로 적용되는 한도 hard한도: 소프트 한도에서 최대로 늘릴 수 있는 한도 (슈퍼유저에 의해서만 조정가능) /etc/security/limits.conf 파일을 수정하여 값을 변경할 수 있습니다. 실행방법 ulimit [옵션] -a: 모든 제한 사항을 보여준다. -c: 최대 코어 파일 크기 -d: 프로세스 데이터 세그먼트의 최대 크기 -f: shell에 의해 만들어질 수 있는 파일의 최대 크기 -s: 최대 스택 크기 -p: 파이프 크기 -n: 오픈 파일의 최대수 -u: 프로세스 최대수 -v: 최대 가상메모리의 양 -S: so..

    우분투 인증서 설치법

    우분투 인증서 설치법 프록시를 사용하는 환경에서 https 프로토콜을 이용할 때 인증오류가 나는 경우가 있다. 프록시 환경을 위해 제공되는 ca-certificates 파일을 적용하여 해결할 수 있다. 인증서 설치 순서 /usr/share/ca-certificates에 폴더를 하나 만든다. sudo mkdir /usr/share/ca-certificates/extra 인증서를 만들어둔 폴더로 옮긴다. sudo cp xxx.crt /usr/share/ca-certificates/extra/ 해당 인증서 파일을 /etc/ca-certificates.conf에 추가한다. sudo dpkg-reconfigure ca-certificates

    vi 텍스트 변경

    vi 텍스트 변경 vi에서 해당 텍스트를 찾아 변경하는 방법이다. (origin_text -> replace_text) :%s/{origin_text}/{replace_text} ※ 사용예시 (문서내 apple을 banana로 변경할 경우) :%s/apple/banana