본문 바로가기

DRF Custom Permission DRF Custom Permission Django에서 특정 그룹에 속해있는 유저만 실행할 수 있는 viewset을 만들어봅시다 !! 일단 "NGEE" 라는 그룹이 생성되어 있다고 가정할 때 아래와 같은 permission 클래스를 하나 만들어줍니다. ngeePermission의 has_permission이 하는 일은 request.user.groups 이름을 가지고 와서 거기에 NGEE가 있는지 없는지를 리턴해줍니다. NGEE 라는 그룹에 속해있다면 True가 리턴될 것이고 반대로 속해있지 않다면 False가 리턴되겠죠? from rest_framework.permission import BasePermission class ngeePermission(BasePermission) def has_perm.. 더보기
Django Ckeditor File Upload Permission 아주아주 멋진 django ckeditor로 게시글 작성하는 Form을 만들 수 있습니다. 이미지 업로드, 파일 업로드도 구현하지 않고 그냥 Ckeditor에 있는 것을 사용해도 좋고요. 다만 file upload의 경우에 권한 에러가 나더라고요. 소스코드를 확인해보니까 Staff 이상만 업로드 할 수 있어서 저는 풀어서 사용하고 있습니다. 권한에 맞춰서 사용할 수 있도록 추가 구현하면 되겠죠? if django.VERSION >= (1, 8): urlpatterns = [ url(r'^upload/', views.upload, name='ckeditor_upload'), url(r'^browse/', never_cache(staff_member_required(views.browse)), name='c.. 더보기
리눅스 드롭박스 무한 싱크 리눅스에서 드롭박스 무한 싱크가 이뤄지고 있더라구요. 별로 변경한 것도 없는데, 머지머지 그냥 단순 오류인거 싶었는데요. 그게 아니라 permission error 때문에 파일 하나를 sync하지 못하고 있더라구요. 터미널에서 dropbox status를 입력하시면 현재 상태를 알려주기 때문에 알게되었습니다 ㅎㅎ 혹시 드롭박스에서 무한 싱크가 이뤄지고 있으면 터미널에서 dropbox ststus 입력해서 상태를 확인해보시길 바래요. permission error는 아마도 윈도우에서 폴더 및 파일 정리할 때 발생했던 것 같네요. (추측) 더보기
OpenStack Havana Dashboard 문제 OpenStack Havana 설치 문서를 보고 따라하다 보면, Dashboard 설치 후 바로 접속이 되지 않는 현상이 발생할 수 있다. /var/log/apache2/error.log 를 살펴보면 블라블라블라 [Mon Jul 07 18:54:59 2014] [error] [client xx.xxx.xxx.xxx] IOError: [Errno 13] Permission denied: '/var/lib/openstack-dashboard/secret_key' 위와 같이 secret_key의 퍼미션 문제가 발생하는 것으로 나타난다. 이때 해결 방법은 아래와 같다. chown horizon:horizon /var/lib/openstack-dashboard/secret_key 아마도 내가 root에서 바로 작.. 더보기
EC2 - bad permissions: ignore key EC2에서 생성한 인스턴스 서버에 접근할 때 아래와 같은 에러를 만나신다면... @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0644 for '/home/aaa/keyname.pem' are too open. It is required that your private key files are NOT accessible by others. This private key will be ignored. bad permissions: ignore .. 더보기