본문 바로가기

Linux/Linux Shell Command40

nftables - iptables 이제 그만!!! 모든 Linux 관리자는 수년 동안 우리에게 좋은 서비스를 제공해 온 오랜 Linux 방화벽인 iptables를 사용하여 작업해 왔습니다. 이제 노후화된 iptables를 대체할 새로운 기능인 nftables에 익숙해 져야 할 것 같습니다. nftables는 현대적인 Linux kernel packet 분류 프레임워크로 고전인 xtables( {ip,ip6,arp,eb}_tables ) 환경을 대신하여 새로운 코드가 사용되어집니다. 즉, 리눅스 커널에서 새로운 패킷 필터링 / 방화벽 엔진으로 현재 iptables, ip6tables, arptables, ebtables 로 나뉘어서 사용되던 것을 nftables로 교체 및 통합합니다. 사실, iptables 프레임워크가 서로 다르지만 유사한 기능을 제공하.. 2023. 9. 30.
iptables - 네트워크 설정하기 (포트 포워딩) 배퍼버전(Ubuntu, CentOS, 등)과 상관없이 리눅스에서 가장 많이 사용하는 방화벽입니다. iptables 는 커널상에서 netfilter 패킷필터링 기능을 사용자가 제어할 수 있습니다. 패킷필터링이란 수신된 패킷의 헤더 정보를 보고 패킷을 폐기할지 수신할지를 결정하는 것을 말합니다. 헤더에 필터링할 정보인 출발지 ip:port / 도착지 ip:port 등 프로토콜 옵션을 가지며 각각의 전송 데이터가 들어갑니다. 특정 조건을 가지고 있는 패킷에 대해 허용(ACCEPT) 및 차단(DROP)등을 지정할 수 있습니다. 사용예: # iptables 초기화 iptables -F # 설정 내용 출력 iptables -nL # TCP port 22 를 열어 ssh 접속을 가능하도록 설정 iptables -A .. 2023. 9. 30.
useradd - 사용자 계정 추가하기 useradd 명령어는 계정 정보를 추가하는 명령어입니다. adduser 명령어와 비슷한 기능을 가집니다만 저는 useradd를 주로 사용합니다. 계정을 추가하면 /etc/passwd에 기록합니다. 암호화된 비밀번호 정보는 /etc/shadow에 기록됩니다. 계정이 속한 그룹 정보는 /etc/group에 기록됩니다. 사용자 계정은 영문 대/소문자, '-', '_', '.'으로 구성할 수 있으나 영문 소문자를 사용하는 것이 관례입니다. 사용자 계정에는 고유한 ID 값이 부여되는데 이 값을 UID(User ID)라고 합니다. 옵션(Options): Option Description -u 계정을 추가하면서 사용자의 UID를 직접 지정합니다. > useradd -u -g 계정을 추가하면서 group id를 직접.. 2023. 9. 11.
usermod - 사용자 계정 정보 변경 usermod(user modification) 명령어는 이미 등록된 사용자의 계정 정보를 변경하기 위해 사용합니다. 관리자만 사용할 수 있으며 모든 리눅스 배포판에서 다 실행가능한 명령어입니다. 사용자 아이디 변경 login 약자인 -l 옵션을 사용합니다. 사용법: usermod -l 등록된 계정인지 확인하려면 /etc/password 파일을 확인하면 알 수 있습니다. 옵션(Options) Option Description -d (--home) 사용자의 홈 디렉토리를 변경합니다. 변경할 디렉토리는 미리 생성되어야 합니다. -m 옵션을 같이 사용하면 사용하던 홈 디렉토리 파일과 디렉토리도 같이 옮길 수 있습니다. -m 사용자의 홈 디렉토리 변경 시 기존에 사용하던 파일 및 디렉토리를 옮겨주는 옵션입니다... 2023. 9. 11.
du - 리눅스 디스크 사용량 확인 du (Disk Usage) df 명령어가 디스크에 남은(사용 가능한) 용량을 확인하기 위한 명령어라면 du 명령어는 디렉토리별로 디스크 사용량을 출력해 주는 명령어입니다. 사용법: du [Options] [FILE]... Options Option Description -a --all 옵션을 지정하지 않을 경우에는 현재 디렉토리 기준으로만 사용량을 출력해 주지만 이 옵션은 파일까지도 모두 보여줍니다. -b --bytes 바이트 단위로 보여줍니다. -k --kilobytes KB 단위로 보여줍니다. -m --megabytes MB 단위로 보여줍니다. -B --block-size=SIZE 지정한 블록 크기 단위로 보여줍니다. -h --human-readable 사람이 읽기 좋게 파일단위로 보여줍니다. -d.. 2023. 9. 9.
screen - 리눅스 가상 터미널 Linux에서 독립적으로 동작하는 가상 터미널을 띄워주는 것을 의미합니다. 즉, 백그라운드로 동작하는 가상 터미널입니다. 스크린에서 명령어를 실행시키고 터미널을 꺼도, 명령어가 백그라운드로 계속 돌아갑니다. 명령어를 실행시킨 뒤 터미널을 종료하고, 나중에 screen 명령을 이용해서 다시 접속하면 해당 터미널 그대로 작업을 이어갈 수 있습니다. 리눅스 설치 시 기본으로 설치되지 않기 때문에 사용하기 위해서는 별도로 설치해 주어야 합니다. $ sudo apt install screen 실행: screen [스크린이름] - 스크린이름을 지정하지 않으면 임의로 생성함 $ screen screen 내부 명령어 : 현재 스크린으로부터 탈출(Deattach). (스크린은 꺼지지 않고 여전히 동작 중) : 스크린에서.. 2023. 8. 15.