2011-12-06 4 views
0

레일에서 sql (mysql)을 통해 암호화/암호 해독을 수행해야합니다. 내가 sql에서 내 데이터베이스와 이야기하는 스핑크스를 생각해야하기 때문에 이것이 필요한 이유입니다. 어떤 종류의 도구가 필요하며, 거기에 무엇이 있는지 (예 : 레일과 함께 사용하기 위해 문서가있는 것과 같이, 보석과 같이 단순하지 않은 경우) 사용 방법은 무엇입니까?Rails가 mysql을 암호화 함

도움을 주셔서 감사합니다. 난 당신이 달성하려고하는 것을 확실하지 않다, 다른 사람과 같은

+0

이 시스템은 어떤 시스템에서 실행됩니까? nix | windows ... etc – iain

+2

또한 질문을 다시 읽으면 암호화가 필요한 이유가 분명하지 않습니다. "SQL에서 내 데이터베이스와 이야기하는 스핑크스를 생각해야하기 때문에 이렇게해야하는 이유가 있습니다. " - SQL은 암호화가 아닙니다. 당신이 정말로 원하는 것은 무엇입니까? – iain

+0

@kevin 실제로 암호화 된 연결 (예 : SSL을 통한 SQL)을 사용한다는 의미입니까? – Nick

답변

0

이미 요청했습니다 (도움이된다면 레일 3 IM).

내가보기에 가정하지 않은 정보 또는 데이터베이스에 액세스 한 것으로 의심되는 사람이 암호화를 사용했습니다 (느슨하게 사용됨). 도움이된다면, 사용자가 mysql 내의 특정 데이터베이스에 접근 할 수있는 권한을 부여 할 수 있습니다.

MySQL의는 일반적으로 경우 새이 수행하여 로그인 할 수 있습니다 설치 :

mysql> 

이 있습니다 그것은 MySQL을로 당신을 로그인 한 후 암호를 입력하지 않고 입력 한 후

mysql -u root -p 

을하고 키를 누릅니다 "chicken_farm_development"라는 데이터베이스가 있다고 가정하고 "farmer_brown"사용자에게 액세스 권한을 부여하려고합니다.

그런 다음 "famer_brown"에 대한 권한을 ac "chicken_farm_development"데이터베이스를 종료하고 mysql에 아무것도 넣지 마십시오 (따라서 farmer_brown은 "joes_pizza_development"데이터베이스에 액세스 할 수 없습니다).

mysql> SHOW GRANTS FOR 'farmer_brown'@'localhost'; 

그것은 farmer_brown에 대한 보조금을 표시해야합니다

mysql> GRANT ALL PRIVILEGES ON chicken_farm_development.* 
    -> TO 'farmer_brown'@'localhost' 
    -> IDENTIFIED BY 'mysecretpassword'; 

이 작동하는지 확인하려면 : 우리는 MySQL의에서이 작업을 수행.
이렇게 어떻게 사용할 수 있습니까? 스핑크스가 어떻게 설정되어 있는지 알지 못하지만 다른 데이터베이스에 영향을 미치지 않고 특정 데이터베이스를 사용하도록 스핑크스에 대한 액세스 권한을 부여 할 수 있으며 프로덕션 환경으로 외삽 될 수 있습니다.

$ mysql -u farmer_brown -p chicken_farm_development 
Enter password: 

및 whooohooo! 농부 브라운은 이제 chicken_cms_developement 데이터베이스에 액세스 할 수 있습니다

하는 등 farmer_brown MySQL로 로그인 할 때, 당신은이 작업을 수행 할 것입니다. 요약하면 특정 데이터베이스에 대한 액세스 권한을 부여 할 수 있습니다. 그것이 당신이 묻고있는 것에 관해서 약간 불명확했던 것에 따라 이것이 조금 도움이되기를 바란다.