Samba

SMB/CIFS 프로토콜을 사용한 파일, 프린트 서비스를 제공하는 소프트웨어

Linux/Unix 서버와 데스크탑을 액티브 디렉토리 환경으로 완벽하게 통합하기 위한 구성요소

도메인 컨트롤러 혹은 일반 도메인 멤버로써 기능함


간단히 말하면, 서로 다른 운영체제 사이의 자원을 공유하기 위해 개발된 서버가 바로 Samba서버다.

Windows에서 리눅스/유닉스의 공유 폴더와 프린트 같은 자원을 사용하거나, 그 반대로 사용하기 위해 사용된다.

HTTP (HyperText Transfer Protocol)

World Wide Web 상에서 정보를 주고 받을 수 있는 프로토콜로써,

주로 HTML 문서를 주고 받는 데 이용 (현재는 이미지, 비디오, 음성 등 거의 모든 형식의 데이터 전송 가능)

TCP와 UDP를 사용하며, 80번 포트를 사용

클라이언트와 서버 사이에 이루어지는 요청/응답 프로토콜

이미지 출처: http://www.ktword.co.kr/abbr_view.php?nav=&m_temp1=648&id=1283


웹 서버

웹 브라우저와 같은 클라이언트로부터 HTTP 요청을 받아들이고, HTML 문서와 같은 웹 페이지를 반환하는 프로그램

HTTP 프로토콜을 구현하며, 사용자 요청 결과를 HTML 형태로 변환하여 전달함

웹 서버 소프트웨어로는 Apache web server, IIS, GWS 등이 있다.


*웹 어플리케이션 서버(WAS)란?

웹 서버가 HTML 문서 같은 정적 컨텐츠를 처리하는 반면,

웹 어플리케이션 서버는 asp, php, jsp 등의 개발언어를 읽고 처리하여 동적 서버 콘텐츠, 웹 응용 프로그램 서비스를 처리함

메일 관련 프로토콜


SMTP (Simple Mail Transfer Protocol)

이메일을 보내고 받는데 사용되는 TCP/IP 프로토콜

그러나, 수신을 위해서는 POP3나 IMAP 중 하나의 프로토콜을 쓰는 것이 보통

25번 포트 사용


POP3 (Post Office Protocol)

이메일을 수신하기 위한 표준 프로토콜

서버에 있는 자신의 메일 수신함을 확인하여, 수신된 이메일을 사용자 PC로 다운로드할 수 있도록 해주는 클라이언트/서버 프로토콜

110번 포트 사용


IMAP (Internet Mail Access Protocol)

로컬서버에서 이메일을 액세스하기 위한 표준 프로토콜

메일서버와 동기화 가능

143번 포트 사용


*POP3와 IMAP의 차이

POP3를 이용하면 사용자가 메일을 읽을 때 즉시 사용자의 컴퓨터로 다운로드 되어 서버에 더이상 남아있지 않게 됨

IMAP은 원격지 파일서버 같은 개념. 서버에서 메일을 관리하기 때문에 사용자가 메일을 다운로드한 후에도 서버에 메일이 남아있게 됨.



메일 서버


메일서버란 사용자 간에 이메일을 주고 받을 때 사용되는 응용 프로그램으로, MTA(Mail Transfer Agent)라고 불리기도 함

전형적인 메일서버 프로그램으로는 sendmail, postfix 등이 있음

'Study > 서버' 카테고리의 다른 글

Samba 서버란 무엇인가  (0) 2017.10.23
HTTP 프로토콜과 웹 서버  (0) 2017.10.23
Ubuntu에 MariaDB 설치 / root 계정 비밀번호 설정  (0) 2017.10.01

Ubuntu 운영체제에서 /etc/securetty 파일은

사용자가 root user로 로그인할 수 있는 터미널(tty) 장치들을 지정할 수 있게 한다.

이 파일은 보통 로그인 프로그램인 /bin/login 에 의해 읽어들여진다.


/etc/securetty 파일엔 root 로그인이 허용된 터미널 장치들의 이름이 나열되어 있다.

'#'으로 주석 처리 되어있거나 이름이 파일에 없는 터미널 장치에선 root 로그인이 허용되지 않는다.



/etc/securetty 파일에 대해 찾다보니, tty와 pts의 차이점이 궁금해져 찾아봤다.


tty : TeleTYpewriter - 콘솔이나 터미널을 의미함

pts : Pseudo TTY Slave -  네트워크를 통해 시스템에 원격접속 했을 때 열리는 터미널


/etc/securetty 파일에서 tty0는 모니터, 키보드로 직접 본체에 연결되어 있을 때의 콘솔을 의미하며 tty1 이상은 가상콘솔이다.

* telnet에 root로 로그인 하기 위해선 적당한 수의 pts를 /etc/securetty에 추가해주면 된다. (나는 pts/10까지 추가했다.)

'Ubuntu > Etc' 카테고리의 다른 글

리눅스 주요 디렉토리의 종류와 특징  (0) 2017.10.25

Windows와 달리 Linux에서는 파일 압축과 파일 묶기가 원칙적으론 별개의 프로그램으로 실행되지만,

파일 묶기 명령어인 tar 명령어를 사용하면 옵션을 사용해 파일 압축을 한 번에 할 수 있다.


tar 사용법

tar [옵션] [압축된 파일명 혹은 압축할 파일이나 폴더명]


옵션

c(소문자): 새로운 묶음을 만든다.

x: 묶인 파일을 푼다.

t: 묶음을 풀기 전에 묶인 경로를 보여준다.

C(대문자): 묶음을 지정된 디렉터리에 푼다.


f(필수): 파일 이름 지정

v: 파일이 묶이거나 풀리는 과정을 보여준다.(생략 가능)

J(대문자): tar + xz (xz 압축 혹은 압축 해제)

z: tar + gzip (gzip 압축 혹은 압축 해제)

j(소문자): tar + bzip2 (bzip2 압축 혹은 압축 해제)


ex)

압축 + 파일 묶기 : tar -czvf filename.tar.gz /etc/systemd/

압축 해제 + 파일 풀기 : tar -xzvf filename.tar.gz / tar -xjvf filename.tar.bz2

apt-get 명령어 Ubuntu 운영체제의 패키지 관리 명령어로써,

Ubuntu에서 제공하는 deb 파일 Repository에서 설치할 deb 파일은 물론이고 해당 파일과 의존성이 있는 

다른 deb 파일까지 인터넷을 통해 모두 설치해준다.

(Repository의 URL은 /etc/apt/sources.list 파일에 저장되어 있음)


* Package란?

데비안 리눅스에서 Windows의 setup.exe와 비슷하게 프로그램 설치 후 바로 실행할 수 있게 제작한 실행 파일로, 확장명은 *.deb이다.



apt-get의 기본 사용법


패키지 설치

apt-get [옵션] install [패키지이름]

'-y' 옵션: 사용자에게 yes/no를 묻는 부분에서 무조건 yes를 입력한 것으로 간주함

'--reinstall' 옵션: 재설치


패키지 리스트의 업데이트

apt-get update

실제로 새로운 버전의 소프트웨어를 설치하는 것이 아니라,

업그레이드가 필요한 패키지와 Repository에 새로 추가된 리스트를 업데이트 해준다.


설치된 패키지 업그레이드

apt-get [옵션] upgrade

설치되어 있는 패키지를 모두 최신 버전으로 업그레이드

(의존성 검사하며 업그레이드: apt-get dist-upgrade)


패키지 삭제

apt-get [옵션] remove [패키지이름]

'--purge' 옵션: 설정파일까지 함께 제거


패키지 소스코드 다운로드

apt-get source [패키지이름]


패키지 소스코드 빌드

apt-get build-dep [패키지이름]

소스코드를 의존성있게 빌드

'Ubuntu > 명령어' 카테고리의 다른 글

Ubuntu 파일 및 디렉터리의 허가권과 소유권  (0) 2017.10.25
vi 에디터 명령어 정리  (0) 2017.10.25
Ubuntu 압축 풀기 - tar 명령어  (0) 2017.10.16

AWS EC2 인스턴스의 Port를 추가적으로 열어주었다.


먼저, https://aws.amazon.com/ko/ 에 접속하여 내 계정에서 AWS Management Console을 선택


EC2 선택. 이 때 지역 Seoul로 되어있어야 한다. (보통 기본으로 Seoul로 되어있는데 왜인지 Ohio로 되어있어 바꿔주었다.)


Instance 선택


인스턴스 목록창의 스크롤을 맨 오른쪽으로 한 후 Port를 열고자 하는 인스턴스의 Security Groups 선택


Inbound를 누르면 Port 목록이 나온다. Edit 선택.


Add Rule을 선택 후 Type과 Port Range, Source를 원하는 대로 선택하고 Save.


AWS EC2 인스턴스를 생성하여 PuTTY로 접속해보았다.


먼저, PuTTYgen을 사용해 인스턴스 생성할 때 받은 .pem 키 파일을 .ppk 파일로 변환했다.

PuTTYgen은 https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html 에서 다운 받았다.

어차피 PuTTY는 있었기 때문에, Installer Package를 받지 않고

Alternative binary files의 밑에서 두번째에 있는 puttygen.exe만 받아서 사용했다.


키 타입 RSA로 선택하고, .pem 키 파일을 Load한다.

이 때 파일 타입을 All Files로 해야 .pem 파일을 찾을 수 있다.

그 후 Save private key를 누르면 직접 이름을 입력한 후 저장할 수 있다.


이제, PuTTY로 인스턴스에 접속한다.

PuTTY를 켜면 나오는 첫 화면인 Session에서, [사용자 이름]@[Public DNS] or [사용자 이름]@[elastic IP]Host Name에 적는다.

(Open한 후에 사용자계정으로 들어갈 수 도 있지만, 위처럼 적어두고 Session을 Save해두고 Load해서 쓰면 번거롭지 않고 좋다.)

Connection type SSH 선택.

* 사용자 이름 참고, 출처 http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html


좌측 Category에서 Connection-SSH-Auth를 선택해, .ppk 키 파일을 등록한 후 Open하면 인스턴스에 접속된다.

'AWS' 카테고리의 다른 글

AWS EC2 인스턴스 Port 열기  (0) 2017.10.02
AWS EC2 인스턴스에 FileZilla로 접속  (0) 2017.10.01

AWS EC2 Ubuntu 16.04 LTS 인스턴스에 MariaDB를 설치해주었다.

패키지 관리 명령어인 apt-get로 MariaDB를 설치하면, 현재 공개된 최신 버전과 차이가 있을 순 있지만

딱히 최신 버전을 사용해야 할 이유가 없기 때문에 apt-get을 사용해 설치했다.


apt-get update

apt-get install mariadb-server


위 명령어를 사용하면 client도 자동으로 설치된다.

내가 본 매뉴얼에는 설치 도중 root 계정의 비밀번호를 설정하게 한다는데,

내가 설치할 땐 딱히 그런게 없어 MariaDB 설치가 끝난 후,

아래의 명령어로 root 계정의 비밀번호를 직접 설정해주었다.


mysql

DB 실행

set password for 'root'@'localhost' = password('비밀번호');

비밀번호를 설정

FLUSH PRIVILEGES;

변경사항 적용

'Study > 서버' 카테고리의 다른 글

Samba 서버란 무엇인가  (0) 2017.10.23
HTTP 프로토콜과 웹 서버  (0) 2017.10.23
메일 관련 프로토콜(SMTP, POP3, IMAP)과 메일 서버  (0) 2017.10.23

기존에 쓰던 서버를 더이상 사용할 수 없게 되어 AWS 서버를 사용하게 되었는데,

가장 먼저, SFTP로 파일을 전송을 해야 했다.


평소 하던 방법대로 빠른 연결의 호스트 부분에 sftp://[IP]를 쓰고 사용자명, 비밀번호를 입력해 접속하려니, 

인증키가 파일로 되어있다는 사실을 깨닫고 파일-사이트 관리자에서 새 사이트를 만들었다.

이 때 호스트엔 내가 받은 IP를 그대로 쓰고, 로그온 유형을 키 파일로 바꿨다. 프로토콜은 SFTP로.

EC2를 Ubuntu로 만들면 기본 사용자인 ubuntu를 사용자로 하고,

키 파일에 내가 받은 키 파일을 등록했다.


그런데 접속이 되지 않았다. 

다양한 시도를 해봤는데, root로 접속하면 'Received unexpected end-of-file from SFTP server' 이런 에러가 났고..


무슨 설정을 바꿔줘야 할까, 아직은 AWS가 낯설어서 겁내고 있던 중

한 포스팅에서 호스트에 Public DNS를 써줘야 한다는 사실을 발견.

*update: 다시 시도해보니 Public DNS 말고 IP로도 접속 잘된다. 저번엔 대체 왜 안됐던건지..........

그 외 설정은 그대로 하니 드디어 접속 성공.

root 사용자로는 아직도 안되지만.. 급한 건 해결했으니 그 쪽은 차차 해결해야겠다.




+ Recent posts