Dev/Linux

    목적지 포트 확인

    목적지 포트 확인 서버를 운영할 때 목적지 서버의 포트가 열려있는지 확인이 필요할 때가 있습니다. nmap과 같은 오픈소스 네트워크 스캐너를 이용하여 확인이 가능하지만 서버에 설치되어있지 않은 경우에는 다른 방법이 필요합니다. 여러가지 방법이 있지만 그 중 bash의 내장된 기능인 /dev/{tcp,udp}를 활용하여 목적지 서버 포트가 열려 있는지 확인하는 방법을 정리하였습니다. 명령어 예시 및 상황별 Exit status 값 1) 포트가 열려있는 경우 포트가 열려있는 경우에는 Exit Status로 0을 반환합니다 $ bash -c "

    리눅스 sudo 패스워드 없이 사용

    sudo 패스워드없이 사용 리눅스에서 sudo를 패스워드없이 사용하는 방법입니다. root 계정으로 /etc/sudoers.d/[사용자명] 파일에 아래 내용을 추가합니다. 아래 예제에서 NOPASSWD: 를 빼면 sudo 권한만 부여됩니다. (sudo 실행시 패스워드 입력필요) 모든 명령어에 대한 sudo 권한 부여 vi 에디터로 추가 # vi /etc/sudoers.d/[사용자명] # 아래 내용 입력 후 저장 [사용자명] ALL=NOPASSWD: ALL echo 명령어로 추가 # echo 명령어로 추가 echo '[사용자명] ALL=NOPASSWD: ALL' > /etc/sudoers.d/[사용자명] 특정 명령어만 sudo 권한 부여 vi 에디터로 추가 # vi /etc/sudoers.d/[사용자명] ..

    리눅스 scp 명령어

    SCP 명령어 scp(secure copy)는 ssh 통신을 이용한 파일 전송 명령어입니다. 사용법 scp file user@host:/path/to/file # 리모트 서버로 파일 전송 scp user@host:/path/to/file /local/path/to/file # 리모트 서버에서 파일 가져오기 scp file1 file2 user@host:/path/to/directory # 여러 파일 전송 scp -r /path/to/directory user@host:/path/to/directory # 디렉토리 전체 전송 # (옵션) # -r : 디렉토리 전송 # -v : 전송 상세내용 보기 # -C : 압축하여 전송 # -l 800 : bandwith를 800으로 제한 # -p : 전송하는 파일의 원..

    리눅스 du 명령어

    du 명령어 du는 디렉토리별 디스크 사용량을 알 수 있는 명령어입니다. 사용법 du [OPTION] [FILE] # -a : 디렉토리 + 모든 파일들의 사용량 표시 # -s : 용량의 합계를 보여줌 # -h : 사람이 보기 편한 포멧으로 보여줌 (e.g., 1K 234M 2G) # -d : 출력할 디렉토리 depth를 설정 # -x : 다른 파일 시스템의 디렉토리는 스킵 사용 예 du -sh * # 현재 경로의 모든 파일/디렉토리 용량 보기 du -sh * | sort -rh | head -10 # 현재 경로의 용량 큰 10개 파일/디렉토리 추출

    find 명령어

    find 명령어 find 명령어는 리눅스에서 파일 및 디렉토리를 검색할 때 사용하는 명령어입니다. 여러 옵션(type,perm,name,mtime...)을 이용하여 원하는 파일을 검색할 수 있고 exec 옵션을 사용하여 검색한 파일을 제어할 수 있습니다. 사용 예 현재 경로의 파일,디렉토리 전부를 출력 find . 현재 경로에서 파일만 출력 (-type f) find . -type f 현재 경로에서 디렉토리만 출력 (-type d) find . -type d 하위 디렉토리 검색하지 않기(-maxdepth 1) find . -maxdepth 1 현재 경로의 파일 중 권한이 644(-perm 644)인 것만 출력 find . -type f -perm 644 현재 경로의 파일 중 파일 상태 변경이 5일 이상(..

    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 ..

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

    리눅스에서 노트북의 덮개를 닫았을 때 동작하지 않는 현상을 없애는 방법입니다. 아래 명령어를 입력하여 /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