Search

'전체 글'에 해당되는 글 92건

  1. 2013.01.03 XML 암호화 관련 링크
  2. 2012.11.30 ANT SSH 제어 예제
  3. 2012.11.12 MySQL 사용자 계정 관리

XML 암호화 관련 링크

Java/기본 2013. 1. 3. 13:04 Posted by 퓨어레드

1. XML 암호화 문법(W3C)

 

http://www.w3.org/TR/xmlenc-core/

 

2. XML 암호화 관련 링크(소스 및 라이브러리 링크 포함)

 

http://blog.naver.com/hyun43/40016544125

 

3. 정보보안기술의 특징과 종류

 

http://k.daum.net/qna/openknowledge/view.html?qid=3gry5&category_id=DBK004&q=cipher

 

4. J2SE5 에서 XML 전자서명 API 사용하기

 

http://blog.naver.com/celestialorb?Redirect=Log&logNo=40011532325

 

5.  Java 암호화 아키텍쳐 API 의 사양 및 레퍼런스  : JCE(Java cryptography extension) API

 

http://blog.naver.com/havocgood?Redirect=Log&logNo=40039713086

 


 

'Java > 기본' 카테고리의 다른 글

String 형 Date 형으로 파싱하기.  (0) 2012.10.30
Java.. 레이블된 break, continue  (0) 2012.04.18
현재 사용하는 OS 이름 가져오기  (0) 2012.04.18
ByteStream  (0) 2012.04.18
Method 동적 호출  (0) 2012.04.18

ANT SSH 제어 예제

Java 2012. 11. 30. 22:00 Posted by 퓨어레드

MySQL 사용자 계정 관리

Database/MySQL 2012. 11. 12. 11:14 Posted by 퓨어레드

서버 관리를 하다보면 mysql 사용자 계정을 추가해 줄때가 있다

./mysqladmin -V 버젼명 (테이터베이스 관리 tool)
./mysqladmin -p status 현재상태

데이터베이스 종류 보기
mysql> show databases;

mysql 상의 테이블 정보 보기
mysql> show tables from mysql;

데이터 베이스 생성

mysql> CREATE DATABASE testDB;


편집후에 반드시 mysql 재가동해야함.
# mysqladmin -u root -p reload

첫번째 방법은 아주 간단하다 한번에 끝낼수 있다.

GRANT ALL PRIVILEGES ON [DB명].[테이블명(*)] TO [유저명]@[서버명] IDENTIFIED BY '[암호]' WITH GRANT OPTION;

"WITH GRANT OPTION" 옵션은 다른 유저에게 권한 부여 여부다.

두번째 방법은 세밀하게 권한을 부여할 수 있는 방법이다. 일단 유저를 먼저 생성을 한다.

GRANT ALL PRIVILEGES ON [DB명].[테이블명(*)] TO [유저명]@[서버명] IDENTIFIED BY '[암호]' ;

유저를 생성후 권한을 한번에 줄수있다.

GRANT ALL ON [DB명].[테이블명(*)] TO [유저명]@[서버명];

특정 권한만 선택적으로 적용할 수 있다.

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALERT ON [DB명].[테이블명(*)] TO [유저명]@[서버명];

마지막으로 계정 권한을 새로 로드시켜 준다.

FLUSH PRIVILEGES;

권한 삭제는 GRANT 명령어 반대로 하면 된다.

REVOKE ALL ON [DB명].[테이블명(*)] TO [유저명]@[서버명];

특정 권한만 삭제할 수 있다.

REVOKE SELECT ON [DB명].[테이블명(*)] TO [유저명]@[서버명];

권한만 삭제한다고 유저가 삭제되진 않는다. 아래와 같이 해줘야 완벽하게 유저가 제거된다.

DROP USER [유저명]@[서버명];

mysql이 외부로도 서비스가 가능하게 하려면,

몇 가지의 확인사항과 그 외에 추가적인 설정을 해야 할 필요가 있습니다.

mysql이 설치된 서버의 운영체제를 명시해주시지 않아서,

유닉스 계열 운영체제라 가정하고 설명드리겠습니다.

#1.

우선, 기본적으로 mysqltcp 3306 번 포트를 통해 서비스를 제공합니다.

따라서, 외부에서 DB에 접근할 수 있도록 하기 위해서는

서버의 tcp 3306 번 포트가 방화벽에 막혀 있지는 않은지 확인해야 하며

만약 막혀 있을 경우 열어주어야 합니다.

iptables -L 명령으로 차단/허용 리스트 조회가 가능합니다. 만약 포트가 막혀 있을 경우,

# iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

명령으로 열어주시면 됩니다.

#2.

그 다음에는 DB 사용자 계정에 외부에서의 접근 권한을 부여해야 합니다.

외부에서 DB에 접근할때만 사용하는 계정을 새로 생성해도 됩니다.

'%' 의 의미는 외부에서의 접근을 허용한다는 의미입니다.

기존에 사용하던 계정에 외부 접근 권한을 부여하려면, Host를 '%' 로 하여 똑같은 계정을 추가해줍니다.

mysql> USE mysql;

mysql> INSERT INTO user (Host, User, Password) VALUES ('localhost', '계정아이디', password('비밀번호'));
mysql> INSERT INTO user (Host, User, Password) VALUES ('%', '계정아이디', password('비밀번호'));
mysql> FLUSH privileges;

계정이 생성되었다면, 그 계정이 접근할 수 있는 데이터베이스를 생성하고 권한을 부여해야 합니다.

mysql> CREATE DATABASE 데이터베이스명;
mysql> GRANT ALL privileges ON 데이터베이스명.* TO 계정아이디@locahost IDENTIFIED BY '비밀번호';
mysql> GRANT ALL privileges ON 데이터베이스명.* TO 계정아이디@'%' IDENTIFIED BY '비밀번호';

이렇게 방화벽을 열고, 계정에 접근 권한을 부여하는 과정을 거치면

외부로 DB 서비스를 제공할 수 있게 됩니다.

도움이 되셨기를 바랍니다.