※ 요약


FTP를 이용하는 분들은 아시겠지만 ftp는 Active모드와 Passive모드가 존재한다. 일반적으로 사용할 때는 무엇이 더 좋다할 정도는 아니며 필자가 사용중인 CentOS7에는 기본적으로 액티브 모드가 기본 값이라 이번 포스트에서는 패시브 모드를 설정하는 방법을 알아보도록 하겠다.


※ Active 모드 방식 및 특징


- 모든 클라이언트에서 서버측 21번 포트로 접속을 시도하고 클라이언트가 사용할 두번째 포트를 서버에 통보

- 서버는 클라이언트에게 ack를 보내고 서버의 20번 포트는 클라이언트가 알려준 두번째 포트로 접속을 시도

- TCP/IP에서는 보통 클라이언트가 서버에 접속을 시도하는데 액티브모드에서는 서버가 클라이언트로 접속을 시도

- 만약 클라이언트 PC등에 방화벽이나 공유기가 있어 외부에서 접속을 허용하지 않는다면, 서버(20번포트) -> 클라이언트(1024~65535포트)의 접속이 정상적으로 되지 않아 FTP 로그인은 되지만 데이터 전송 및 디렉토리, 파일 리스트를 받지 못하는 문제가 발생


※ Passive 모드 방식 및 특징


- 모든 클라이언트에서 서버측 21번 포트로 접속(login)을 시도

- 서버는 클라이언트에게 서버에서 사용할 두번째 포트(1024~65535포트)를 통보

- 클라이언트는 다른 포트를 열어 서버가 알려준 이 포트로 접속을 시도하고 데이터를 전송

- 서버에서 클라이언트가 접속할 수 있도록 1024~65535 사이의 포트를 개방해야 하는 문제점이 발생할 수 있지만 접속 범위를 설정하므로써 문제 해결



※ 설정 방법


vi /etc/vsftpd/vsftpd.conf 라고 입력하여 vsftpd의 설정 파일을 열도록 한다.


설정 파일 제일 아래에 다음 항목을 추가 입력한뒤 저장하고 나오면 된다.

#pasv mode enable

pasv_enable=YES


#pasv port range

pasv_min_port=30000

pasv_max_port=30001



참고로 min 포트와 max 포트는 원하는 포트로 설정 가능하며 같은 값을 줄 경우 포트 고정이 가능하다. 설정을 저장하였으면 vsftpd 서비스를 재시작해주거나 재부팅해주면 설정이 적용되며, 시스템에 따라 방화벽 설정을 추가로 해줘야 하는 경우도 있다. 필자는 방화벽은 안해줘도 되서 여기까지만 작성하도록 하겠다.



※ 요약


필자는 리눅스(CentOS7) 서버를 운영중이고, 이 서버에 FTP를 구축하여 처음 연결을 시도하였는데 아래와 같이 500 OOPS vsftpd: refusing to run with writable root inside chroot()라는 메시지와 함께 Critical error가 뜨면서 연결이 되지를 않았다. 원인은 chroot내에 쓰기 권한이 없어서 발생한 문제로써, 설정을 바꿔주면 해결되는 문제다.



※ 해결 방법


참고로 필자는 CentOS7 배포판을 이용중이다. 우분투나 기타 다른 배포판은 설정 방법이 조금 다를 수 있으므로 참고바란다. 먼저 vi로 /etc/vsftpd/vsftpd.conf 파일을 열도록 한다.



vi 내에서 찾기로 allow_writeable_chroot를 찾으면 아래와 같이 설정 값 하나를 찾을 수 있는데, 값을 YES로 바꿔준뒤 저장하고 빠져나온다. 찾기는 /를 누르고 찾을 검색어를 입력한후 엔터를 누르면 된다.


설정을 저장하였다면 서비스를 재시작하여 변경된 설정 값이 적용되도록 한다. 서비스 재시작은 service vsftpd restart라고 입력하면 된다.



※ 요약

리눅스에서 정말 많이 사용하는 명령어 중 하나인 ls, 필자도 정말 많이 사용하는데, 마음에 안드는게 하나 있다면 시간 출력 형식이랄까? 바로 아래와 같이 말이다. 코쟁이들은 숫자면 숫자, 글자면 글자만 사용할 것이지 글자랑 숫자랑 섞으니 가독성도 안좋고 공간도 많이 차지하지여 불편하지 않은가.. 물론 날짜 표기를 월.일.연 혹은 일.월.연 등 순서가 뒤죽박죽이라 구분하기 위해서라지만 한국 사람들에게 불편한건 변함이 없다. 아무튼 이번 포스트에서는 이러한 날짜 형식을 내 맘대로 조절해보도록 하겠다.



※ 설정 방법

먼저 vi ~/.bashrc를 입력하여 아래와 같이 .bashrc 파일을 열도록 한다. 아시겠지만 .bashrc는 홈디렉토리 하위에 존재하며 ~는 홈 디렉토리를 의미하므로 vi ~/.bashrc라고 입력하면 누구나 자신의 파일을 열 수 있다. 


아무튼 필자는 아래와 같이 3줄을 입력하였다. 참고로 3줄 다 입력할 필요는 없는데, 3줄이나 입력한 이유는 이렇게 입력하면 저렇게 나오더라는 걸 보여주기 위함이다.

alias ls='ls --color=auto --time-style=long-iso'

alias ll='ls --time-style='+[%y/%m/%d_%H:%M:%S]' -lh'

alias data='cd /home/shaeod/data/'



먼저 첫 번째 빨간 박스는 첫 번째 줄로 입력한 라인의 출력 결과다. 단순히 ls만 날짜 형식을 바꿔주었으므로 뒤에 옵션 -al을 줘봤다. 두 분째는 필자가 자주 사용하는 옵션과 함께 날짜 형식을 바꿔주어서 ll(소문자 엘엘)만 입력하여도 날짜 형식이 바껴서 출력됨과 동시에 리스트 형식으로 출력되고 파일 사이즈도 사람이 보기 편한 단위로 출력된걸 볼 수 있다.


참고로 아래와 같이 두 번째 줄을 조금 수정하면 문자도 포함할 수도 있다.



※ 커스터마이징 방법

상기의 필자가 제시한 가이드말고 본인에게 더 맞게 커스터마이징하고 싶다면 아래 두 사이트를 참고하면 될 것이다. 정 안되면 댓글을 남겨두시라. 필자가 도와드리겠다.

- [리눅스 명령어] ls - 파일 및 디렉토리 내 목록보기

- srtftime(3) - Linux man page



※ 요약

카페24에서 새로운 리눅스 가상 서버를 분양 받은뒤 파이썬3 설치 작업을 위해 일반 계정으로 sudo 명령을 실행하니 아래와 같이 계정명 is not in the sudoers file.  This incident will be reported. 이라는 메시지가 나오며 root 권한을 못 얻는게 아닌가? 원인은 /etc/sudoers에 계정이 등록되지 않아 발생한 문제였었고, 현재는 계정을 등록 해줌으로써 문제를 해결한 상태다. 이 포스트는 다음에 또 같은 문제로 고생하지 않기 위해 정리할겸 포스팅한다.




※ 설정 방법

sudo가 안되므로 root로 로그인한뒤 visudo -f /etc/sudoers 라고 입력한다.



아래와 같이 root 계정 밑에 아래 행을 추가해준다. 필자는 root 행을 그대로 복사(yy)하여 붙여(p)넣은뒤 계정만 바꿔주었다. :wq로 저장하고 나와 재부팅해주면 sudo 명령 및 su 명령이 잘 되는 걸 확인할 수 있을 것이다.





※ 요약

필자는 카페24에서 리눅스 가상 서버를 2대 호스팅 받아 이용중이다. 하나는 CentOS 6.7, 또 하나는 CentOS 7.2를 말이다. 2대는 각각 mysql5.1과 mariadb5.5를 사용중이며 보안상 기본 포트인 3306을 다른 포트로 변경하여 사용중이다. 이번 포스트에서는 mysql 및 mariadb의 접속 포트를 변경하는 방법을 알아보도록 하겠다.



※ 설정 방법

사실 mysql과 mariadb의 설정 방법은 동일하다. 먼저 root 계정으로 "vi /etc/my.cnf"라고 입력한다.



맨 윗 줄에 [mysqld]라고 되어 있는게 보일 것인데, mysqld이 [ ]로 감싸져 있는 이유는 구역(섹션)을 나누기 위함이라고 생각하면 편할 것이다. 즉 다른 [구역]을 만나기 전까지는 mysqld의 구역이며, 이 구역에 "port=원하는포트번호" 형식으로 적어주면 된다. 아래와 같이 말이다. :wq로 저장하고 나온뒤 재부팅 시켜주면 된다. 필자는 처음에 서비스만 재가동 시켰더니 안되서 재부팅을 하였다.






※ 요약

칼리 리눅스(Kali Linux)는 백트랙의 후속 버전으로써 해킹 및 정보 보안을 테스트하기 위해 만들어진 리눅스 배포판이다. 용도가 용도인 만큼 수많은 해킹 툴들이 준비되어 있으며, 무료로 다운로드 및 사용이 가능하다. 참고로 백트랙은 우분투 기반, 칼리는 데비안 기반이다.


※ 다운로드 링크



※ 다운로드 방법

상기의 다운로드 링크로 이동하면 아래와 같은 화면이 나오는데, 많은 종류의 ISO 이미지 파일들이 있어서 무엇을 받을지 모르겠다면 아래에 표시된 빨간 박스 안의 파일을 받기 바란다. 가장 무난한 버전으로써 64비트이며 용량은 2.9G다. 1.1G 용량의 라이트 버전도 있지만 초보자가 받으면 고생할 수도 있다. UI가 없는 텍스트 모드라던지 드라이버가 제외되어 있어 따로 설치해줘야 한다던지 말이다. 아무튼 다운로드 할 때에는 토렌트가 속도가 빠르지만 토렌트가 뭔지 모르는 독자 분들은 Direct로 ISO 파일을 다운받기 바란다.



스크롤을 좀 더 내리면 VMware 이미지와 VirtualBox 이미지, ARM 이미지도 준비되어 있다. 필자처럼 뭐 하나 간단한 것만 확인할 것이라면 설치가 필요없는 아래 이미지를 다운받는 것도 나쁘지 않을 것이다. 단, VMware나 VirtualBox가 설치돼 있어야 하는건 당연하겠지!?



※ 요약

아래는 리눅스의 기본 터미널 모습이다. 흰 바탕에 검정색 폰트.. 밋밋하고 지루한 모습. 다행인건 이 지루한 터미널의 색상을 바꿀 수 있다는 것인데, 색상을 변경하여 개성있게 사용해보자.


※ 색상 변경 방법

먼저 터미널을 실행한뒤 편집 -> 프로파일 기본 설정 항목을 선택한다.



탭을 선택한뒤 시스템 테마 색 사용 항목을 체크 해제(Uncheck)하고 글자색배경색을 원하는 색으로 바꿔주면 된다.


필자는 아래와 같이 하늘색 배경과 흰 색으로 바꿔보았다. 독자들도 원하는 색으로 변경하여 사용해보기 바란다.



※ 요약

리눅스 민트(Linux Mint)를 다운받는 방법을 소개하는 포스트다. 리눅스 민트는 우분투에서 파생된 배포판으로써, Java와 플래시 웹 플러그인 등을 기본적으로 포함하여 바로 사용하기 편한 배포판이다. 우분투에서 파생된 배포판이다 보니 우분투에 적용되는 팁의 대부분이 리눅스 민트에서도 적용가능하다.

※ 시스템 요구사항

 

 최소 사양

 권장 사양

 CPU (x86)

 600MHz

 1GHz

 Ram

 512MB

 1GB

 HDD

 5GB

 10GB


※ 리눅스 민트와 우분투 차이점

- 우분투보다 GUI(외형)에 더 신경씀
- 우분투보다 더 많은 소프트웨어 및 코덱, 플러그인 등이 설치되어 있어 더 편함(물론 용량은 더 차지함)
- 다국어는 우분투가 더 잘 지원함

※ 리눅스 민트 사이트 링크



※ 다운로드 미러 사이트 주소



※ 요약

필자는 리눅스 가상 서버를 호스팅 받아 사용중이고 이 가상 서버는 ssh 접속을 통해 관리 한다. 이때 ssh가 사용하는 기본 포트 번호 22는  알려진 포트 번호로써 언제나 해킹의 위험이 있으므로 바꿔주는 것이 좋다. 이번 포스트에서는 ssh의 접속 포트 번호를 바꾸는 방법을 다루도록 하겠다.

※ 관련글 - SSH 접속 장애시 원인별 로그



※ 설명

먼저 "vi /etc/ssh/sshd_config"를 입력한다. 필자는 CentOS를 사용중이다. 리눅스 배포판 마다 경로가 다를수 있으니 참고 바란다.



파일 내용중 Port가 있는데 여기에 원하는 포트 번호를 입력하면 된다. 처음에는 #으로 주석 되어 있으니 #도 제거해줘야 한다. 참고로 포트 번호는 0부터 65535내에서 선택할 수 있지만 49152번 이후 번호를 선택하는게 좋다. 이유는 이 페이지에 자세히 나와있다.



마지막으로 를 "service sshd restart" 입력하여 ssh 서비스를 재시작하면 변경된 포트 번호가 적용된다.


※ 요약
Fedora 리눅스의 미러 사이트를 소개하는 포스트이다. 필자는 대학교때 페도라 리눅스로 공부하여 Ubuntu나 CentOS보다 좀더 친근한 느낌이 든다.


※ 다른 리눅스 배포판

※ 설명

필자가 09년 대학생때 08인가 09버전으로 공부한거 같은데 벌써 24버전까지 나왔다. 시간 참 빠르다는 생각이 든다. 다운로드는 아래 페이지에서 원하는 버전을 선택하여 받으면 된다.




+ Recent posts