레일 : 치명적-사용자에 대한 피어 인증에 실패했습니다 (PG :: Error)


143

Ubuntu 11.10 및 RubyMine에서 개발을 진행 중입니다.

다음은 database.yml에 대한 개발 설정입니다. RubyMine이 나를 위해 만든 것입니다.

development:
  adapter: postgresql
  encoding: unicode
  database: mydb_development
  pool: 5
  username: myuser
  password:

앱을 실행하려고 할 때 아래 에이 오류가 발생하지만 아직 '프로젝트'사용자를 만들지 않은 것 같습니다. 그러나 어떻게 사용자를 만들고 postgres에 데이터베이스를 부여 할 수 있습니까? 이것이 문제라면 우분투 에서이 작업을 위해 권장하는 도구는 무엇입니까? 이것이 문제가되지 않으면 조언을 구하십시오.

Exiting
/home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/postgresql_adapter.rb:1194:in `initialize': FATAL:  Peer authentication failed for user "project" (PG::Error)
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/postgresql_adapter.rb:1194:in `new'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/postgresql_adapter.rb:1194:in `connect'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/postgresql_adapter.rb:329:in `initialize'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/postgresql_adapter.rb:28:in `new'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/postgresql_adapter.rb:28:in `postgresql_connection'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:303:in `new_connection'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:313:in `checkout_new_connection'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:237:in `block (2 levels) in checkout'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:232:in `loop'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:232:in `block in checkout'
    from /home/sam/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:229:in `checkout'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:95:in `connection'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:398:in `retrieve_connection'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_specification.rb:168:in `retrieve_connection'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_specification.rb:142:in `connection'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/model_schema.rb:308:in `clear_cache!'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/railtie.rb:91:in `block (2 levels) in <class:Railtie>'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:418:in `_run__757346023__prepare__404863399__callbacks'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:405:in `__run_callback'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:385:in `_run_prepare_callbacks'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:81:in `run_callbacks'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/actionpack-3.2.3/lib/action_dispatch/middleware/reloader.rb:74:in `prepare!'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/actionpack-3.2.3/lib/action_dispatch/middleware/reloader.rb:48:in `prepare!'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/railties-3.2.3/lib/rails/application/finisher.rb:47:in `block in <module:Finisher>'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/railties-3.2.3/lib/rails/initializable.rb:30:in `instance_exec'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/railties-3.2.3/lib/rails/initializable.rb:30:in `run'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/railties-3.2.3/lib/rails/initializable.rb:55:in `block in run_initializers'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/railties-3.2.3/lib/rails/initializable.rb:54:in `each'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/railties-3.2.3/lib/rails/initializable.rb:54:in `run_initializers'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/railties-3.2.3/lib/rails/application.rb:136:in `initialize!'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/railties-3.2.3/lib/rails/railtie/configurable.rb:30:in `method_missing'
    from /home/sam/RubymineProjects/project/config/environment.rb:5:in `<top (required)>'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:251:in `require'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:251:in `block in require'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:236:in `load_dependency'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:251:in `require'
    from /home/sam/RubymineProjects/project/config.ru:4:in `block in <main>'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/rack-1.4.1/lib/rack/builder.rb:51:in `instance_eval'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/rack-1.4.1/lib/rack/builder.rb:51:in `initialize'
    from /home/sam/RubymineProjects/project/config.ru:1:in `new'
    from /home/sam/RubymineProjects/project/config.ru:1:in `<main>'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/rack-1.4.1/lib/rack/builder.rb:40:in `eval'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/rack-1.4.1/lib/rack/builder.rb:40:in `parse_file'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/rack-1.4.1/lib/rack/server.rb:200:in `app'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/railties-3.2.3/lib/rails/commands/server.rb:46:in `app'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/rack-1.4.1/lib/rack/server.rb:301:in `wrapped_app'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/rack-1.4.1/lib/rack/server.rb:252:in `start'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/railties-3.2.3/lib/rails/commands/server.rb:70:in `start'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/railties-3.2.3/lib/rails/commands.rb:55:in `block in <top (required)>'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/railties-3.2.3/lib/rails/commands.rb:50:in `tap'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/railties-3.2.3/lib/rails/commands.rb:50:in `<top (required)>'
    from /home/sam/RubymineProjects/project/script/rails:6:in `require'
    from /home/sam/RubymineProjects/project/script/rails:6:in `<top (required)>'
    from -e:1:in `load'
    from -e:1:in `<main>'

Process finished with exit code 1

답변:


315

서버에 postresql을 설치 한 경우 host : localhost to database.yml을 호스트로 지정합니다. 일반적으로 pool이라고 표시된 곳에 버리십시오.

development:
  adapter: postgresql
  encoding: unicode
  database: kickrstack_development
  host: localhost
  pool: 5
  username: kickrstack
  password: secret

데이터베이스를 만들고 앱 사용자에게 소유권을 할당하여 연결을 설정하여 사용자 자격 증명이 올바르게 설정되어 있는지 확인하십시오. postgresql 9에서 새 사용자를 만들려면 다음을 실행하십시오.

sudo -u postgres psql

postgresql 사용자 비밀번호를 설정하지 않은 경우 백 슬래시 비밀번호입니다.

postgres=# \password

새 사용자 및 비밀번호와 사용자의 새 데이터베이스를 작성하십시오.

postgres=# create user "guy_on_stackoverflow" with password 'keepitonthedl';
postgres=# create database "dcaclab_development" owner "guy_on_stackoverflow"; 

이제 데이터베이스, 사용자, 비밀번호 생성을 확인한 후 database.yml 파일을 업데이트하고 이러한 권한을 설정하십시오. 호스트를 잊지 마십시오 : localhost.


2
여전히 로그인하여 localhost를 통한 연결을 완료하는 데 문제가있는 경우 터미널을 통해 postgresql로 돌아가서 이러한 8.2 규칙을 적용하여 연결 사용자의 권한을 설정하십시오. 구문은 GRANT ALL ON DATABASE [dbname]-[usrname]입니다. 이 문법은 psql 9+에서도 동일하게 작동하지만, 사용자가 소유 한 데이터베이스에 대한 권한은 모두 부여하기 전에 만 토글 할 수 있습니다. postgresql.org/docs/8.2/static/sql-grant.html
Bent Cardan

38
host: localhost그리고 pool: 5내 설정에서 누락되었습니다. 추가 한 후 오류가 사라졌습니다.
Patel Amit

21
나를 host: localhost위해 누락되었습니다. 내가 추가 한 후 모든 것이 작동했습니다. 이것은 우분투 13.04에 있습니다
제시

7
스트레스를받는 것도 중요합니다 : SEMICOLONS를 잊지 마십시오 .
Maarten

개인적으로 rake db : setup으로 설정을 실행할 수있는 것이 중요하다고 생각합니다. 그렇지 않으면 새로운 배치 환경을 생성하는 데 문제가 발생하지만이 설명은 개발 환경에 적용됩니다.
Ashley Raiteri

54

Ubuntu 13.10 의 개발 환경 에서 rails 앱을 postgres와 함께 사용하는 가장 확실한 방법 입니다.

1) Gemfile에서 postgres YAML 및 'pg'gem을 사용하여 rails 앱을 만듭니다.

$ rails new my_application -d postgresql

2) CRUD 기능을 제공하십시오. postgres가 작동하는지 확인하는 경우 비계를 만듭니다.

$ rails g scaffold cats name:string age:integer colour:string

3) 현재 옵션 호스트 매개 변수를 포함하지 않는 YAML를 생성한다. 나는 이것이 필요하다는 것을 알았다. 개발 섹션을 편집하고 다음 매개 변수를 작성하십시오.rails 4.0.1-d postgresql

encoding: UTF-8
host: localhost
database: my_application_development
username: thisismynewusername
password: thisismynewpassword 

database매개 변수는 아직 종료되지 않은 데이터베이스에 대한 것이며 usernameand password는 존재하지 않는 역할의 자격 증명입니다. 우리는 나중에 그것들을 만들 것입니다!

이것은 어떻게 config/database.yml보일 것인가입니다 (복사 붙여 넣기에 부끄러움이 없습니다 : D).

development:
  adapter: postgresql
  pool: 5
  # these are our new parameters
  encoding: UTF-8
  database: my_application_development
  host: localhost
  username: thisismynewusername
  password: thisismynewpassword

test:
  # this won't work 
  adapter: postgresql
  encoding: unicode
  database: my_application_test
  pool: 5
  username: my_application
  password:

production:
  # this won't work 
  adapter: postgresql
  encoding: unicode
  database: my_application_production
  pool: 5
  username: my_application
  password:

4)이 명령으로 postgres 쉘을 시작하십시오 :

$ psql

4a) 현재 사용자 (컴퓨터 사용자와 마찬가지로)에 해당 관리 postgres 역할이없는 경우이 오류가 발생할 수 있습니다.

psql: FATAL:  role "your_username" does not exist

이제 postgres를 한 번만 설치 했으므로 여기에 잘못되었을 수 있지만 postgres가 postgres를 설치 한 사용자와 동일한 자격 증명으로 관리 역할을 자동으로 생성한다고 생각합니다.

4b) 따라서 psql 명령을 사용하고 셸을 시작하려면 postgres를 설치 한 사용자로 변경해야합니다.

$ sudo su postgres

그런 다음 실행

$ psql

5) 터미널이 다음과 같이 표시되므로 postgres 쉘에 있음을 알 수 있습니다.

$ psql
psql (9.1.10)
Type "help" for help.

postgres=# 

6) postgresql 구문을 사용하여 config/database.yml개발 섹션 에서 지정한 사용자를 만듭니다 .

postgres=# CREATE ROLE thisismynewusername WITH LOGIN PASSWORD 'thisismynewpassword';

자, 여기에 미묘한 부분이 있으므로 살펴 보겠습니다.

  • 역할의 이름은 thisismynewusername는 , 하지 않는 주변에 어떤 종류의 따옴표를
  • WITH 뒤에 키워드 LOGIN 을 지정하십시오 . 그렇지 않으면 역할이 계속 생성되지만 데이터베이스에 로그인 할 수 없습니다!
  • 역할 비밀번호 인 thisismynewpassword 는 작은 따옴표로 묶어야합니다. 큰 따옴표가 아닙니다 .
  • 끝에 세미콜론을 추가하십시오.)

터미널에서 이것을 볼 수 있습니다 :

postgres=#
CREATE ROLE
postgres=#

이것은 "ROLE CREATED"를 의미하지만 postgres의 경고는 git hub의 동일한 명령 규칙을 채택하는 것 같습니다.

7) 이제 postgres 셸에서 YAML에 설정 한 이름으로 데이터베이스를 만들어야합니다. 6 단계에서 만든 사용자를 소유자로 만듭니다.

postgres=# CREATE DATABASE my_application_development OWNER thisismynewusername;

결과를 얻을 수 있으므로 성공했는지 알 수 있습니다.

CREATE DATABASE

8) postgres 쉘을 종료하십시오 :

\q

9) 이제 진실의 순간 :

$ RAILS_ENV=development rake db:migrate

당신이 이것을 얻는다면 :

==  CreateCats: migrating =================================================
-- create_table(:cats)
   -> 0.0028s
==  CreateCats: migrated (0.0028s) ========================================

축하합니다, postgres는 앱과 완벽하게 작동합니다.

9a) 로컬 컴퓨터에서 권한 오류가 계속 발생했습니다. 정확히 기억할 수는 없지만

Can't access the files. Change permissions to 666.

로컬에서 프로덕션 머신에 쓰기 권한을 재귀 적으로 설정하는 것에 대해 매우 신중하게 생각하는 것이 좋지만 전체 앱에 다음과 같은 읽기 권한을 부여했습니다.

9b) 하나의 디렉토리 레벨을 올립니다.

$ cd ..

9c) my_application 디렉토리 및 모든 내용의 권한을 666으로 설정하십시오.

$ chmod -R 0666 my_application

9d) 그리고 마이그레이션을 다시 실행하십시오.

$ RAILS_ENV=development rake db:migrate

==  CreateCats: migrating =================================================
-- create_table(:cats)
   -> 0.0028s
==  CreateCats: migrated (0.0028s) ========================================

당신이 일어나면 몇 가지 팁과 트릭

다음 단계를 모두 다시 시작하기 전에 다음을 시도하십시오.

mynewusername 사용자에게 my_app_development데이터베이스 에 대한 CRUD 권한이 없습니까? 데이터베이스를 삭제하고 소유자로 mynewusername을 사용하여 다시 작성하십시오.

1) postgres 쉘을 시작하십시오 :

$ psql

2) my_app_development데이터베이스를 삭제하십시오 . 조심해! 드롭은 완전히 삭제하는 것을 의미합니다!

postgres=# DROP DATABASE my_app_development;

3) 다른 my_app_development것을 다시 만들고 mynewusername을 소유자로 만드십시오.

postgres=# CREATE DATABASE my_application_development OWNER mynewusername;

4) 쉘을 종료하십시오.

postgres=# \q

mynewusername사용자가 데이터베이스에 로그인 할 수 있습니까? YAML에 잘못된 비밀번호를 작성했으며 postgres 쉘을 사용하여 입력 한 비밀번호를 기억할 수 없다고 생각하십니까? YAML 비밀번호로 역할을 변경하기 만하면됩니다.

1) YAML을 열고 암호를 클립 보드에 복사하십시오.

 development:
      adapter: postgresql
      pool: 5
      # these are our new parameters
      encoding: UTF-8
      database: my_application_development
      host: localhost
      username: thisismynewusername
      password: musthavebeenverydrunkwheniwrotethis

2) postgres 쉘을 시작하십시오 :

$ psql    

3) mynewusername비밀번호를 업데이트 합니다. 비밀번호를 붙여넣고 작은 따옴표를 사용하십시오.

postgres=# ALTER ROLE mynewusername PASSWORD `musthavebeenverydrunkwheniwrotethis`;

4) 쉘을 종료하십시오.

postgres=# \q

Dbeaver와 같은 데이터베이스 뷰어를 통해 localhost에 연결하려고하는데 postgres 사용자 비밀번호가 무엇인지 모르십니까? 다음과 같이 변경하십시오.

1) passwd수퍼 유저로 실행하십시오 .

$ sudo passwd postgres

2) 계정 암호를 입력하십시오 sudo(postgres와 관련이 없음).

[sudo] password for starkers: myaccountpassword

3) postgres 계정의 새 암호를 생성하십시오 :

Enter new UNIX password: databasesarefun
Retype new UNIX password: databasesarefun
passwd: password updated successfully

이 오류 메시지가 표시됩니까? :

Run `$ bin/rake db:create db:migrate` to create your database
$ rake db:create db:migrate
PG::InsufficientPrivilege: ERROR:  permission denied to create database

4) 사용자에게 데이터베이스 작성 기능을 제공해야합니다. psql 쉘에서 :

ALTER ROLE thisismynewusername WITH CREATEDB

1
이 훌륭한 솔루션에 대해 +1을 더 줄 수 있기를 바랍니다. 그것이 효과가 있다면 더 행복 할 것입니다. 여전히 훌륭한 답변입니다. 빠른 질문입니다. 암호 주위의 백틱이 대체 역할입니까? 또한, 이전에 백틱을 사용할 필요가 없습니까?
Mike HR

@ MikeH-R 감사합니다, 부끄러운 일입니다! 관련 YAML이 host: localhost있습니까? 그것은 나를위한 진짜 문제였습니다. 암호 주위에 작은 따옴표가 필요합니다. 내 키보드에서는 shift+ @입니다. psql 쉘을 사용하면 일부 매개 변수 주위에 작은 따옴표 만 필요합니다. 예를 들어 역할 이름이 아닌 비밀번호와 관련하여 비밀번호가 필요합니다 . 정직한 것은 매우
어리석은

@ MikeH-R 나는 물건을 더 명확하게하기 위해 대답을 조정했습니다. 그것에 또 다른 균열을 갖는 것을 고려하십시오!
Starkers

눈부신 대답에 다시 한 번 감사드립니다. 제가 직면 한 대부분의 다른 대답은 보안을 약화시키는 데 관한 것이 었습니다.
Mike HR

29

영구적 인 솔루션 :

문제는 pg_hba에 있습니다. 이 줄 :

local   all             postgres                                peer

해야한다

local   all             postgres                                md5

그런 다음이 파일을 변경 한 후 postgresql 서버를 다시 시작하십시오.

Linux를 사용하는 경우 command는

sudo service postgresql restart

1
감사합니다! 이것이 실제 답변입니다.
skplunkerin

9

우분투 컴퓨터에서 동일한 문제에 직면하여 몇 가지 단계를 수행 하여이 오류를 제거했습니다. postgres 사용자로 전환

$ sudo su - postgres

암호를 묻고 기본적으로 암호는 postgres

사용자를 postgres로 전환 한 후 psql 콘솔을 엽니 다.

$ psql

여러 버전을 사용할 수 있다면 postgres의 버전을 확인하십시오

psql=# select VERSION();

PostgreSQL 9.1.13 on x86_64-unk....         # so version is 9.1

이제 오픈 postgres user

vim /etc/postgresql/9.1/main/pg_hba.conf

9.1 버전 반환 양식 상단 명령입니다

교체

local   all             postgres                                peer

local   all             postgres                                md5

서비스를 다시 시작하십시오

sudo service postgresql restart

내 블로그에도 단계를 씁니다.

http://tarungarg402.blogspot.in/2014/10/set-up-postgresql-on-ubuntu.html


정답을 제공했지만 버전을 확인할 필요가없는 한 가지만 놓쳤습니다. psql Alter user "username"set password 'xyz'후에이 명령을 실행하여 비밀번호를 변경할 수 있습니다.
vishu

그 기억 md5(AA 레일 응용 프로그램을 만들 때 게으름을 극대화하는 동안 오늘에 의해 그냥있어 비트) 인증 데이터베이스 사용자에 대한 null이 아닌 암호가 필요합니다.
Mark Leighton Fisher

5

/var/lib/pgsql/data/pg_hba.conf 파일로 이동하여 Ident 대신 신뢰를 추가 할 수 있습니다.

local   all all trust
host    all 127.0.0.1/32    trust

자세한 내용은이 문제를 참조하십시오. 사용자에 대한 ID 인증 실패


Centos 6.6, 시도 :/var/lib/pgsql/9.2/data/pg_hba.conf
Patrick

4

host: localhost나를 위해 마법을 추가

development:
  adapter: postgresql
  database: database_name_here
  host: localhost
  username: user_name_here

0

Peer authentication failed for user (PG::Error)단위 테스트를 실행할 때 해당 오류 메시지 ( ) 가 표시 되면 테스트 데이터베이스가 존재하는지 확인하십시오.


0

또한 개발 환경에서 작업하는 동안 이와 동일한 문제에 직면했습니다. 문제는 파일에 host: localhost주석을 달았습니다 config/database.yml.

따라서 내 응용 프로그램은 PostgreSQL 데이터베이스에 연결할 수 없으며 단순히 주석 처리를 제거하여 문제를 해결했습니다.

development:
  <<: *default
  database: database_name

  username: database_username 

  password: database_password

  host: localhost

그게 다야.

이게 도움이 되길 바란다

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.