문제


Virtual box에서 리눅스(Opensuse)를 설치했는데 네트워크가 안잡히는 문제가 발생했습니다. 분명 IP는 제대로 나오는데 말이네요. 네트워크 공유를 위해 아래와 같이 세 가지 네트워크 카드를 추가했습니다. 



그런데 인터넷은 연결이 안된다. 그래서 구글신께 물어보니 역시 전세계인 중 비슷한 문제를 가진 사람이 있더군요. 



해결책


해결책은 간단합니다. 다음 파일을 삭제한 후 재시작하면 해당 파일이 재생성됩니다.  

  /etc/udev/rules.d/70-persistent-net.rules


이제 인터넷이 연결돼죠?? ㅡ.ㅡ;; 



참고


https://forums.virtualbox.org/viewtopic.php?f=7&t=43090


'컴퓨터 기술 > Linux' 카테고리의 다른 글

알아두면 유용한 명령어 Tip!  (0) 2014.03.22
우분투에서 FTP 서버 설치하기  (0) 2013.04.11
Linux Console 명령어 모음  (0) 2013.04.10
Posted by 빌리 :

VitualBox 를 사용하다 디스크 용량이 부족하다는 메시지를 만나면서 당황해버렸다. 디스크 생성할때 자동으로 늘어나는거 아니었어?? ㅡ.ㅡ; 우씨~ 


찾아보니 VitualBox를 설치하면서 같이 추가되는 VboxManage라는 프로그램을 이용해 디스크 용량을 변경할 수 있다. 

$ VBoxManage.exe modifyhd <디스크 파일 이름> --resize <용량 MB 단위>

위 프로그램은 VitualBox 설치 경로에서 찾을 수 있다. 이 경로를 Path에 등록해주는 센스가 필요함. 


그리고 리눅스의 경우 디스크 용량을 변경했다고 하더라도, 실제 설정에서 디스크 파티션을 변경해주어야 실제 디스크 용량이 변경된다.


** 파티션 변경은 다음 유틸리티를 이용해 변경할 수 있다. 

GParted

http://gparted.org/livecd.php



Posted by 빌리 :

tail -f [파일명]

로그 파일을 확인할 때 유용하다. 이 명령어를 이용해 로그 파일을 확인하면 로그가 갱신되는 모습이 화면에 출력된다. tail 명령어를 반복 수행해서 로그가 어떻게 변경됐는지 볼 필요 없으니까... 



> [파일명]

비어있는 파일을 생성해야 할때 redirection output ('>') 연산자를 이용해 비어있는 파일을 생성할 수 있다.

linux-qvv1:~/tmp # > testfile

linux-qvv1:~/tmp # ll

total 0

-rw-r--r-- 1 root root 0 Mar 22 01:28 testfile

linux-qvv1:~/tmp #



Posted by 빌리 :

2012년 배터리 전장 부품을 제조하는 회사에 개발 프로세스와 그 프로세스를 뒷받침해 줄 수 있는 PTC Integrity라는 시스템을 적용하는 일을 한적이 있었는데 그 때 시스템을 설치하는 방법을 정리한 글입니다.


PTC Integrity 설치 방법 정리(2012년 기준)

I. 기본 환경 설정 

1. Database가 TCP/IP 사용가능한지 설정 확인(SQL Server 기준)

2. Database 생성 및 관리 계정 생성 : 관리 계정은 생성된 DB의 Owner로 지정

3. Flex Licence Server 설치 (Floating license 관리를 위해 사용)

1) 제공된 Disk에서 Flex 폴더 전체를 로컬 위치에 복사

2) 라이센스 파일을 Flex 폴더로 복사

- 파일 내 첫 줄에 서버 정보를 Host Name 또는 IP로 변경 (라이센스가 IP 제한이 있는 경우)

3) Flex 폴더의 setup 프로그램 실행

- LMTOOL 

-> Config Service 창 확인

-> Service 명 지정

-> lmgrd.exe 파일 위치 지정

-> licence 파일 위치 지정(2번에 복사한 파일)

-> Log 파일 위치 지정

-> Service 실행

4) Flex 실행 확인 : 3)에서 지정한 로그 파일 확인

4. OS에 맞는 Integrity Server 설치

1) 시리얼 입력 : XXXXXXX

2) 라이센스 파일 위치 지정

3) 서버 선택에서 Full Server 선택

4) 서버 타입 선택에서 "Both"로 지정

5) 1에서 생성한 Database 정보 입력


II. Integrity 서버 설정

1. 설정 파일 수정

1) Integrity설치 경로/config/properties/is.properties 파일 수정

- 라이센스 타입을 파일 대신 License 서버로 변경

-> mksis.licensePath=[License Server IP or Host]

ex) mksis.licensePath=27000@127.0.0.1

2) Integrity설치 경로/config/properties/security.properties 파일 수정

- 컴퓨터 Domain에 연결된 로컬 사용자 정보를 읽지 못하게 변경(자체 계정 관리 사용시)

-> mks.security.policy.scheme.default=mksdomain_clear

3) 초기 사용자/그룹 설정을 위한 파일 수정 : 서버가 실행되면 생성된 파일을 자동으로 읽어 사용자와 그룹을 추가한 후 파일이 삭제된다. 

Integrity설치 경로/data/group.properties         #그룹 / 사용자 등록

- Integrity설치 경로/data/password.properties     # 사용자 암호 등록

2. Integrity Server 서비스 실행 (service.msc에서 실행가능)

-> 실행이 제대로 되었는지 Log 확인 :  Integrity설치 경로/log/server.log


III. Integrity Client 설정

1. Client 설치

1) 서버 타입 선택 : Both

2) Server 설정 : 서버 IP, Port(default:7001)

Posted by 빌리 :

Windows Server
AD DS(Active Directory Domain Services)

개발을 하다가 윈도우 서버의 AD DS에 대해 설정할 필요가 있어서 간략하게 나마 개념을 정리해 봅니다.


책에서 정의하길 

AD DS는 조직의 사용자와 리소스에 대한 안전한 디렉토리 서비스를 제공합니다. 사용자와 컴퓨터 관리, 그리고 인증에 대한 중앙 집중 디렉토리라고 부릅니다. 디렉토리는 사용자 개체, 그룹 개체, 그리고 서비스 정보를 포함하고 있습니다. 이는 네트워크 리소스에 대한 접근 관리와 인증 제공뿐만 아니라, 서비스가 이러한 개체에 대한 정보를 제공할 수 있게 합니다.

라고 말하고 있습니다.


?? 


위 설명을 읽으면서 무슨 말을 하는지 이해가 되지 않더군요. 디렉토리 서비스는 뭘까? 장황하게 설명이 되어있는 반면 머리 속에 확 와 닿지 않더군요. 읽고, 읽고, 또 읽고 나서 책의 내용도 몇번 더 훑어본 후 나름 스스로 이해한 내용을 정리하자면 다음과 같습니다. 


    • 여러 컴퓨터에서 각각의 컴퓨터에 동일한 사용자 ID를 사용해 로그인 할 수 있는 서비스
    • 조직이나 사용자는 계층적인 관리를 위해 디렉토리 구조를 사용

두 문장으로 만들어보니 'SSO(Single Sign-On) 기능을 지원하기 위한 윈도우용 계정 관리 서비스'라는 결론이 나오더군요. 그리고 계정 정보에 부과적으로 시스템 자원에 대한 접근 권한 설청 정보가 부과적으로 들어가 있는 것이라고 이해를 했습니다. 


평소에 공부를 안해서 그런지 몰라도, 간단한 문장을 여러번 읽어도 이해가 안가는 개념이지만, 더 볼게 있나 해서 관련된 개념을 살펴보려했는데, 개발자인 본업의 범위를 벗어나는 용어들이 많더군요. 일단 개발자라면 해당 서비스가 뭐하는건지 간단히 이론적으로만 알고 있으면 되지않을까 하는 생각에 AD DS의 설명은 이만 줄이겠습니다.

Posted by 빌리 :

문제 및 처리 방법


Vitual Box에서 다음과 같이 네트워크 관련 오류 메시지가 나오고, 네트워크 카드가 하나도 안잡혔을때는 처리 방법을 알아보겠습니다. 

network is unreachable


위와 같에 네트워크 카드를 Vitual Box에서 제대로 설정했음에도 가상 OS에서 네트워크를 잡지 못할 경우(Linux, CentOS 사용시, 다른 Linux에서도 비슷하겠죠?), 다음과 같은 순서로 네트워크 설정을 수정 합니다. 

1. /etc/sysconfig/network-scripts 안에 있는 ifcfg-eth# 파일의 맥주소와 Vitual Box에 설정된 맥주소 확인해 다르면 파일내 맥주소 변경

2. /etc/udev/rules.d/70-persistent-net.rules 삭제 또는 편집

3. Reboot


문제 원인 


네트워크가 이미 설정된 다른 컴퓨터의 Vitual Box  이미지를 복사해 사용할 때 주로 나타나는 증상입니다. 이 경우 원본에서 설정된 네트워크 설정이 자동으로 갱신되지 않기 때문에 발생되는 문제입니다. 가상 네트워크 설정시 맥주소가 변경되는데 맥주소 불일치 발생되는 것을 해결하면 됩니다.

Posted by 빌리 :

웹 서버와 웹 애플리케이션 서버


초기 인터넷 세상에서는 웹 서버 라는 용어로 모든걸 통칭해 사용했지만, 시간이 지나면서 사용자에게 원활한 서비스를 제공하기 위해 기능적인 계층(Layer)를 나누게 되었습니다. 여기서 웹 서버와 웹 애플리케이션 서버와 차이가 생기게 됐다고 보면 됩니다. 그럼 웹 서버와 웹 애플리케이션 서버가 어떤 차이가 있는지 확인해보고, 실제로 각 서버를 이용해 웹 사이트를 구성하는지 알아보겠습니다.


웹 서버 (Web Server)란?


인터넷 상에서 웹 브라우저 클라이언트로부터 HTTP 요청을 받아들이고, HTML 문서와 같은 웹 페이지들을 보내주는 역할을 하는 프로그램입니다. 간단히 말하면 HTTP 요청에 따라 서버에 저장되어 있는 적절한 웹페이지를 클라이언트에게 전달하는 것입니다. 웹 페이지 뿐만 아니라 그림, 스타일 시트, 자바스크립트도 해당합니다. 


주로 서버에 있는 리소스를 전달하는게 주된 기능이기도 하지만, 클라이언트로부터 콘텐츠를 받는 것도 웹 서버 기능에 포함합니다.


웹 서버에는 다음과 같은 종류가 있습니다.

제품명

제작사

최신 버전

라이선스

아파치

Apache 재단

2.4.4

오픈소스

IIS

마이크로소프트

8.0

상용(윈도우 서버 사용시 무료)

nginx

NGINX, Inc

1.5.1

오픈소스

GWS

구글

 

 

 


웹 애플리케이션 서버 (Web Application Server/WAS)란?


인터넷 상에서 HTTP를 통해 사용자 컴퓨터나 장치에 애플리케이션을 수행해 주는 미들웨어라고 합니다. 단순하게 WAS라고도 합니다. Servlet, ASP, JSP, PHP 등의 웹 언어로 작성된 웹 애플리케이션을 서버단에서 실행된 후 실행 결과값을 사용자에게 넘겨주게 되고, 우리가 가진 브라우져가 결과를 해석해서 화면에 표시하는 순으로 동작을 합니다.


웹 애플리케이션 서버는 다음과 같은 3가지 기본 기능을 가지고 있습니다. 

  - 프로그램 실행 환경과 데이터베이스 접속 기능을 제공

  - 여러 개의 트랜잭션을 관리

  - 업무를 처리하는 비즈니스 로직 수행


그러나 웹 애플리케이션 서버의 명확한 정의가 존재하지 않아 일부 기능만 가진 웹 애플리케이션 서버도 있습니다. 웹 애플리케이션 서버는 다음과 같은 종류들이 있습니다. 들어본 것들도 있고, 처음 본 것들도 많이 있네요.

제품명

제작사

최신 버전

라이선스

제우스

한국 티맥스소프트

7.C

상용

웹로직

미국 오라클

10.3.6

상용

웹스피어

미국 IBM

7.C

상용

레진

미국 Caucho

4.0.7

상용

글래스피시

미국 오라클

3.1.2.2

오픈소스(CDDL,GPL)

제이보스

미국 레드햇

7.1.0.CR1b

오픈소스(LGPL)

인터스테이지

일본 후지쯔

9.0.0

상용

아파치 톰캣

Apache 재단

7.0.41

오픈소스

레진(Resin)

Caucho

4.0

상용

제이런(Jrun)

Adobe

4.0

상용

Winstone Servlet Container

Rick Knowles

0.9.10

오픈소스

Jetty

Eclipse 프로젝트

3.0

오픈소스



웹 서버와 웹 어플리케이션 서버의 차이 및 구성


위에서 설명한 각 서버에서 보듯이 기능적인 차이로 구분을 지어 사용합니다. 웹 서버는 정적 데이터를 처리하는 용도로, 웹 애플리케이션 서버는 동적 데이터를 처리하는 용도로 말이지요. 하지만 톰캣의 경우처럼 웹 애플리케이션 서버에 웹 서버 기능을 포함된 서버 프로그램도 존재합니다. 간단히 집에서 웹서버 기능이나 웹 애플리케이션을 이용하고자 한다면 톰캣만 설치해도 됩니다. 반대로 웹 서버에서 내부에 애플리케이션을 동작할 수 있는 기능을 내장하기도 합니다. 간단한 웹 사이트를 구축한다면 웹 서버와 웹 애플리케이션 서버를 구분 지어 사용할 필요가 없습니다. 톰캣 하나만 설치하면 되니까요.


그럼 웹 서버와 웹 애플리케이션 서버를 어떻게 구성해 사용하는지 살펴 보겠습니다.


1. 스위치 - WAS

그림

웹 사이트의 가장 기본적인 구성 환경입니다. 모든 컨텐츠를 WAS에 모아 놓고, WAS가 웹서버와 웹 애플리케이션 서버 역할을 동시에 수행합니다. 트래픽이 많지 않고, 간단한 웹 사이트 서비스를 제공하거나, 개발 및 테스트 시스템 구성시 활용하기도 합니다. 


스위치로 로드밸런싱을 하기 때문에 쉽게 다른 WAS를 설치하여, 부하를 분산 시킬 수 있는 장점이 있는 반면에, WAS가 웹서버와 웹 애플리케이션 서버 역할을 동시에 수행하기 때문에 각각의 기능이 다른 기능 수행시 부하를 발생 시킬 수 있기 때문에 성능 저하가 나타날 수 있는 단점을 가지고 있습니다.


2. 스위치 - 웹 서버 - WAS

그림

웹 서버와 WAS의 기능적 분류를 통해 효과적인 분산을 유도한 형태라고 합니다. 정적인 데이터는 웹 서버가, 동적인 데이터는 WAS가 담당하게 함으로써 간단한 1번 구조보다 더 나은 성능을 발휘 합니다. 


3. (스위치 - 웹 서버 - WAS) + 이미지를 위한 웹 서버

그림

초고속 인터넷이 발달함에 따라 고화질의 이미지나 동영상을 제공하는 페이지가 증가하고 있습니다. 이러한 페이지는 네트워크 비중의 상당 부분을 차지합니다. 그래서 고화질 이미지나 동영상 데이터 제공을 위한 웹서버를 따로 추가하여, 기존 네트워크 비중도 줄이고, 기존의 웹 서버와 WAS를 좀 더 효율적으로 사용할 수 있도록 하는 구성입니다.


이러한 구조는 다양한 환경의 대한 네트워크 이슈를 좀 더 용이하게 대처할 수 있지만, 구조를 정확하게 이해하지 않았을 경우 개발 및 테스트에 많은 시간이 소요 됩니다.


4. 스위치 - 웹 서버 - WAS(프리젠테이션) - WAS(비즈니스) 

그림

이 구조는 2번째 구조를 변경한 형태입니다. WAS단의 프로그램들이 많은 비중을 차지할 때, Presentation Logic을 담당하는 프로그램과 Business Logic을 담당하는 프로그램을 구분하여 각각의 WAS가 처리하도록 분리하는 형태입니다. 


이러한 구조는 계층 구조의 부하를 적절히 분산할 수 있는 반면, 구조가 복잡해 유지보수가 어려워지는 단점을 가지고 있습니다.



참고 사이트


http://round1tko.tistory.com/64

http://ko.wikipedia.org/wiki/%EC%9B%B9_%EC%95%A0%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98_%EC%84%9C%EB%B2%84

http://ko.wikipedia.org/wiki/%EC%9B%B9_%EC%84%9C%EB%B2%84

http://blog.naver.com/PostView.nhn?blogId=yswon72&logNo=66153035



Posted by 빌리 :

프로비저닝 Provisioning


프로비저닝의 의미는 특정 서비스를 제공받기 위하여 서비스 실행부터 시작해 서비스를 제공받기 전 단계까지 처리되는 일련의 절차를 말한다. 


사전적으로  '준비', '예비' 란 단어를 의미하는데, 소프트웨어 프로그램을 예를 들면, 프로그램이 초기화 되면서, 사용자에게 짠하고 나타나기 전까지 수행되는 준비 단계를 프로비저닝이라한다. 다시 말해 배포/빌드/업데이트 등 소프트웨어를 사용하기 위해 관리 하는 절차 라고 이해하면 될 것 같다.


다른 산업군에서는 각 사업자(개발자) 별로 프로비저닝 절차를 표준화해 호환성을 고려 하기도 했다. 아래는 IPTV의 구체적인 프로비저닝 예시이다. 다음과 같이 IPTV단말을 초기화하여 IPTV 서비스를 수신하기 위한 6단계 절차를 명시해 다른 사업자의 단말도 동일한 절차를 이용해 서비스를 사용할 수 있도록 지정해 놓았다.


1) 네트워크 접속 단계

2) IPTV 사업자 정보 획득

3) IPTV 단말인증

4) 펌웨어 업그레이드

5) 소프트웨어 다운로드

6) IPTV 서비스 사업자 별 프로비저닝


이런 걸 표준화해서 다른 단말의 호환성을 높이다니... 


그럼 특정 소프트웨어에서 프로비저닝을 구축해 놓은게 없을까? 구글 검색 신을 이용해 검색!! 


검색을 해보니 프로비저닝 관리자라든지, 클라우드와 관련된 프로비저닝 결과가 많이 나온다. 간략히 정리하자면, 클라우드 서비스를 제공하기 위해, 네트워크, 저장공간, 그리고 웹앱 서비스 등을 제공하는데, 서비스 제공하기 전에 준비하는 단계를 프로비저닝이라는 용어를 사용한다. 클라우드 서비스를 제공하기 위한 준비 단계를 자동화 해, 프로비저닝 관리자라는 소프트웨어로 소개되고 있다.


프로비저닝이라는 단어를 처음 접한건 Eclipse Equinox/P2 프로젝트를 통해서다. Eclipse 기반의 어플리케이션을 위한 프로비저닝 플랫폼이라는 설명이 있었는데, 프로비저닝이 무슨 일을 하는지 몰라서, 그냥 이건 내가 접할 내용이 아닌가 보다하고 지나쳤었다.  Eclipse 기반 어플리케이션을 개발하면서 여러번 부딪혔지만, 깊게 보질 않았다. 그런데 단어를 익히고, 다시 한번 훑어보니, P2라는 프로젝트는 Eclipse 기반의 어플리케이션을 개발할 때, 배포/배치/빌드/업데이트 등을 표준화한 플랫폼이었다. 이것을 이용해 Eclipse 제품을 배포하다니~~!!! 다시금 내 무식함을 반성하며, 다음에는 P2를 정리해야 겠다고 다짐하며 이 글을 마친다.

Posted by 빌리 :

OAuth의 짧은 설명

2013. 6. 7. 11:08 from 컴퓨터 기술

** 본 글은 OAuth 2.0을 기준으로 작성하였습니다.

OAuth 란?


웹, 모바일 앱, 그리고 어플리케이션에서 권한 인증을 수행할 수 있는 단순하고 표준 방법인 Open 프로토콜이다.


간단히 예를 들어보면, 자동차에 발렛키라는게 있다. (소형차만 타는 난 처음 들었다. 헉 그런게 있었어???) 발렛키는 단어 의미 그대로 발렛 파킹(대리 주차) 할 때 주차요원에게 주는 키다. 이 발렛키는 트렁크는 열수 없고, 1km만 주행할 수 있는 등 자동차 주차에 필요한 제한적인 기능만 사용할 수 있게 하는 키라고 한다(찾아보니 역시나 고급차에 포함되어 있다). 자동차의 발렛키처럼 웹서비스나 웹서비스에서 공개해 놓은 API를 사용하기 위한 인증 수단이 필요하게 된것이다. 그 인증 수단이 OAuth인 것이다.


자동차에 발렛키가 있다면, IT에서 특정 기능에 접근하기 위한 발렛키를 사용하려고 하는데, 그 IT 발렛키를 발급받기 위한 수단이 OAuth이다. OAuth을 이용하면 특정 기능에 접근 할 수 있는 인증토큰(Access Token, 발렛키)를 발급 받을 수 있는 것이다. 그 인증 토큰는 서비스를 접근하기 위한 키로 사용된다.



OAuth의 역할들(Roles)


Resource Owner : 사용자

Resource Server : API 서버

Client : 서드파티 어플리케이션

Authorization Server : 인증서버



OAuth에서 권한 획득 방법


Authorization Code

웹 서버에서 API를 호출하는 등의 시나리오에서 Confidential Client가 사용하는 방식이다. 서버사이드 코드가 필요한 인증 방식이며 인증 과정에서 client_secret 이 필요하다.

로그인시에 페이지 URL에 response_type=code 라고 넘긴다.


Implicit

Token과 scope에 대한 스펙 등은 다르지만 OAuth 1.0a과 가장 비슷한 인증방식이다. Public Client인 브라우저 기반의 어플리케이션(Javascript application)이나 모바일 어플리케이션에서 이 방식을 사용하면 된다. Client 증명서를 사용할 필요가 없으며 실제로 OAuth 2.0에서 가장 많이 사용되는 방식이다.

로그인시에 페이지 URL에 response_type=token 라고 넘긴다.


Resource Owner Password Credentials

이 방식은 2-legged 방식의 인증이다. Client에 아이디/패스워드를 저장해 놓고 아이디/패스워드로 직접 access token을 받아오는 방식이다. Client 를 믿을 수 없을 때에는 사용하기에 위험하기 때문에 API 서비스의 공식 어플리케이션이나 믿을 수 있는 Client에 한해서만 사용하는 것을 추천한다.

로그인시에 API에 POST로 grant_type=password 라고 넘긴다.


Client Credentials

어플리케이션 이 Confidential Client일 때 id와 secret을 가지고 인증하는 방식이다.

로그인시에 API에 POST로 grant_type=client_credentials 라고 넘긴다.



OAuth는 어떻게 작동하는가?


title OAuth 2.0 flow

Client->+Resource Owner: (A) Authorization Request
Resource Owner-->-Client: (B) Authorization Grant
Client->+Authorization Server: (C) Authorization Grant
Authorization Server-->-Client: (D) Access Token
Client->+Resource Server: (E) Access Token
Resource Server-->-Client: (F) Protected Resource

     

위 플로우차트는 4개의 역할들 간 절차를 보여주며 각각의 단계는 다음과 같다.


(A)  Client는 Resource Owner에게 권한은 요청한다. 권한 요청은 Resouce owner에게 위와 같이 직접 전달 될수도 있으며, 또는 간접적으로 중개인 역활을 하는 인증 서버를 통해 간접적으로 전달 될수도 있다.


(B) Client는 Resource Owner의 권한을 나타내는 증명서와 같은 권한 인증서를 얻는다. 이 권한 인증 방식은 OAuth 명세에 정의된 4가지 권한 인증 방식 중 하나이거나, 또는 확장형 권한 인증 방식(Extension grant type)을 사용한다.(이에 대한 자세한 설명을 보고자 하면, [링크]를 눌러서, 4절의 내용을 보면 된다.) 인증 권한 타입은 권한 인증한 클라이언트, 그리고 인증 서버가 지원하는 타입에 따라 다르다.


(C) Client는 Authorization Server에  클라이언트 인증과 (B)에서 획득한 권한 인증서을 이용해 Access token을 요청한다.


(D) Authorization Server는 클라이언트를 인증하고, 권한 인증서가 유효한지 검증한다. 그리고 모든게 유효하면 Access Token을 발행한다.


(E) Client는 Resource Server에 Access Token을 넘겨, 제한적으로 사용할 수 있는 자원을 요청한다.


(F) Resource Server는 Access Token 유효한지 검증하고, 유효한 경우 제한적으로 사용할 수 있는 자원을 넘겨준다.


여기서 Client가 Resource Owner로 부터 권한 인증서를 얻어오는 방법은 Authorization Server를 중개인으로 둬서,  Authorization Sever를 통해 Resource Owner로 부터 권한 인증서를 얻어오는 방법을 추천하고 있다. 


다음에는 직접 오픈 소스를 이용해 OAuth를 간단한 예제를 구현해 보겠다. 조금 더 한글로 자세히 정리된 곳을 보고 싶다면, 아래 참조 사이트의 [링크]를 따라가 보면 된다.


참조사이트


http://tools.ietf.org/html/rfc6749

http://en.wikipedia.org/wiki/OAuth

http://earlybird.kr/1584



Posted by 빌리 :

FTP Server 사용을 위해 다음 단계를 거쳐 설정을 수행한다.

1. apt-get 명령을 이용해 vsftpd를 설치한다.

- 명령어 : sudo apt-get install vsftpd


2. FTP 설정 파일을 수정해 환경 구성한다..

('#'으로 주석 처리 되어 있으면 제거해 준다.)

- 명령어 : sudo vi /etc/vsftpd.conf

- 변경 내용

anonymous_enable=NO  #익명접근 차단

local_enable=YES         #로컬 접근 허용

write_enable=YES         #쓰기 권한 허용

local_mask=022             #파일 권한 지정


3. FTP 서비스 재시작

- 명령어 : sudo /etc/init.d/vsftpd restart


* 주의 사항

이대로 설정을 마치면 root(/)까지 조회가 가능하다. 이 경로를 제한 하기 위해서 FTP 설정 파일을 수정한 후 서비스를 재시작 한다.

- 명령어 : sudo vi /etc/vsftpd.conf

- 변경 내용

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd.chroot_list


참고 사이트

Posted by 빌리 :