전체 글 56

일반 사용자(추가)에게 root 권한 부여

리눅스를 사용하는 사용자라면, 파일 또는 폴더를 읽거나, 쓰거나, 옮길 때 Permission Denied Error를 경험한 적이 있을 것이다. 해당 행위를 하기 위한 권한이 없기 때문이다. 이러한 문제에 직면한 사용자의 입장에서 소유자, 그룹 등 권한 설정을 위한 다양한 옵션이 있고, 이를 각각 설정하라고 하면 어렵게만 느껴지고, 구글링을하다가 지레 포기하기 쉽다. (필자가 예전에 그랬었다...) 그래서, 간단하게 내가 만든 사용자에게 root 권한을 부여해서 일단 read, write, move 등 필요한 명령을 수행해보자. 아래의 5 단계를 수행하면, 일반 사용자에게 root 권한을 부여할 수 있다. 1. 사용자 추가 adduser [사용자명] adduser dtstory 아래 그림과 같이, Ne..

Linux 2022.10.24

[etc]다양한 테스트 모음(MBTI-COIN, 아미 테스트 등등)

한창 퍼스널 테스트가 유행하던 당시, 퍼스널 코인 이라는 주제로 테스트를 만들어 본 적이 있었는데, 이왕 블로그에 기록하기로 한 김에, 여기에도 링크를 게시해 두어야 겠다. html, java scripy 이용해서 간단하게 스크립트를 짜고, netlify.app을 통해 손쉽게 배포를 할 수 있었다. 참고로.. 아미테스트를 만들 땐 , 주변 지인 중 진짜 아미에게 질문지를 요청해서 받았었더라지.. 1-1. 나의 성격과 어울리는 코인은 뭘까?(한국어) https://coinstyle.netlify.app/ 퍼스널 코인 테스트 나랑 꼭 닮은 코인을 MBTI를 기반으로 추천해주는 테스트입니다. coinstyle.netlify.app 1-2. Which coins match my personality?(engli..

Etc 2022.10.22

Airflow + Python 스크립트 활용 DAG 구성

도커 컨테이너 환경에서 Airflow 를 구축하고, 진행하기를 원한다면 이전 포스팅을 참고하도록 하자. 2022.09.21 - [Cloud Computing/GCP] - GCP + Docker + Airflow 를 이용한 데이터 파이프라인 구축 1으 GCP + Docker + Airflow 를 이용한 데이터 파이프라인 구축 1 # [컨테이너 이름] 을 지정한 후, linux 커맨드에서 아래 명령어를 실행 -v 명령을 이용해, 폴더 마운트 (복수 허용) docker run -it -p 8080:8080 \ -v /home/airflow/dags:/opt/airflow/dags \ -v /home/airflow.. dtstory.tistory.com 우선 필요 패키지 및 실행파일(.py) 를 무작정 설치, ..

Docker Container 날짜(date) 한국시간(KST)으로 변경하기

date 간단하게 date 명령을 통해, 현재 날짜를 확인해보면, 아래와 같이 UTC 기준의 날짜와 시간으로 보이는 것을 확인할 수 있다. 이 시간대를 KST로 바꾸는 것은 간단하다. # systemd 설치 및 Seoul 시간 리스트 확인 apt install systemd timedatectl list-timezones | grep Seoul # 표준시를 Asia/Seoul 로 셋팅 timedatectl set-timezone Asia/Seoul # date 확인 host 서버의 시간을 바꾸는 것은 위와 같이 하면 간단하게 변경이 가능하다. 그러나, Docker Image로 올라간 container 내에서는 위와 같은 방법으로 진행할 경우, 아래와 같은 에러를 발생시킨다. System has not b..

BigQuery에 Python으로 데이터(csv) 적재하기

# 모듈 로드 import glob from google.cloud import bigquery from google.oauth2 import service_account import db_dtypes # 서비스 계정 key(json) 경로 지정 /my_path/serviceAccountKey 경로 내에 json key 파일을 위치시켜 둔다. 경로는 사용자가 원하는 곳에 두어도 무관하다. key_path = glob.glob("/my_path/serviceAccountKey/*.json")[0] # Credentials 객체 생성 credentials = service_account.Credentials.from_service_account_file(key_path) # GCP 클라이언트 객체 생성 cl..

Database/BigQuery 2022.10.19

BigQuery으로 저장된 데이터 Python 스크립트로 확인하기

# 모듈 로드 # 모듈 로드 import glob from google.cloud import bigquery from google.oauth2 import service_account import db_dtypes # 서비스 계정 key(json) 경로 지정 /my_path/serviceAccountKey 경로 내에 json key 파일을 위치시켜 둔다. 경로는 사용자가 원하는 곳에 두어도 무관하다. key_path = glob.glob("/my_path/serviceAccountKey/*.json")[0] # 데이터 조회 쿼리 실행 결과 query_job = client.query(sql) # Credentials 객체 생성 credentials = service_account.Credentials...

Database/BigQuery 2022.10.19

소유자 그룹 권한 부여 및 변경(chmod)

# 리눅스 배포판 확인 cat /etc/issue 내가 지금 쓰는 배포판은 Debian 11 인 것을 확인할 수 있다. # 리눅스 사용자 계정 확인 cat /etc/passwd 현재 있는 계정명들을 확인할 수 있다. # 리눅스 그룹 및 유저 확인 (좌측은 그룹명, 우측은 유저명) cat /etc/group # 소속 그룹 확인 groups [사용자명] groups user1 # 해당 폴더 권한 설정 chmod [권한 숫자] [폴더명] chmod 755 folder 755 775 777 같은 권한 숫자에 대한 개념은 아래의 링크에서 자세히 알아볼 수 있다. 1. 읽기 Reading - 4 2. 쓰기 Writing - 2 3. 실행 Executing - 1 [출처] 리눅스 파일권한 777 775|작성자 gwa..

Linux 2022.10.13

서버 간 파일/폴더 전송 (서버 -> GCP서버)

# 키 생성 ssh-keygen -t rsa -f ~/.ssh/[만들고싶은 키 이름] -C "[GCP 계정명]" ssh-keygen -t rsa -f ~/.ssh/gcp_allow_key -C my_name" # 퍼블릭 키 출력 cat ~/.ssh/gcp_allow_key.pub 해당 퍼블릭키를 복사해 두자. # 메타데이터 ssh keys 등록 GCP 접속 -> Compute Engine -> Metadata -> SSK KEYS -> EDIT -> ADD ITEM -> 복사한 퍼블릭키 붙여넣기 -> SAVE 순으로 진행하면 된다. # GCP 서버 ip로 접속 확인 ssh -i ~/.ssh/gcp_allow_key [GCP 계정명]@[GCP서버 ip] ssh -i ~/.ssh/gcp_allow_key m..

Cloud Computing/GCP 2022.10.12

GCP 포트(port) 방화벽 해제

아래 순서대로 진행하면 포트 방화벽 해제가 가능하다 1. GCP 해당 프로젝트 클릭 2. VPC network 클릭 3. Firewall 클릭 4. +CREATE FIREWALL RULE 클릭 5 name 지정 - firewall-port-allow 6. Targets - All instances in the network 클릭 7. 모든 IP 허용 - Source IPv4 ranges 에 0.0.0.0/0 입력 8. 특정 포트 허용 - 32222 9. CREATE 여기까지 진행을 했다면, 방화벽이 해제가 된 것이다.

Cloud Computing/GCP 2022.10.07

GCP + Docker + Filezilla 를 이용한 sftp 서버 구축

# 파일질라를 사용하기 위한, 컨테이너(ubunut) 생성, 실행 - 포트 포워딩 : 32222:22 - 볼륨명 : mount_vol - 컨테이너이름 : c_sftp - 패스워드 : password - 이미지명 : ubuntu 사용자가 지정하는 위의 조건들을 반영한 명령은 아래와 같다. (아직 볼륨을 생성하지 못하였다면, 아래의 링크를 을 참고해서, 볼륨을 create 먼저 진행하길 바란다.) 2022.09.22 - [Data Engineering(Pipeline, Hadoop...)/Docker] - Docker 파헤치기 2(데이터 공유 및 볼륨 마운트) docker run -it -p 32222:22 \ -v mount_vol:/home/mount_vol \ --name c_sftp -e ROOT=T..

Cloud Computing/GCP 2022.10.06