프로그래밍 80

Linux/특수 권한(2) (sticky bit/SetUID/SetGID)

특수 권한 ex) r w s r w x r w x ==Set UID : 권한 시작 값이 4000번대로 시작한다./owner에 s가 있다면 x가 같이 있다고 생각하면된다. 위 권한 값은 4777 r w x r w s r w x ==SetGID : 권한 시작 값이 2000번대로 시작한다. /group에 s가 있다면 x가 같이 있다고 생각하면 된다. 위 권한 값은 2777 r w x r w x r w t == sticky bit : 권한 시작 값이 1000번대로 시작한다./other에 t가 있다면 x가 같이 있다고 생각하면 된다. 위 권한 값은 1777 sticky bit = 게시판 성격의 특수권한/ 디렉터리 허가권 게시판의 성격을 닮았다는 말은 내가 게시판에 글을 올렸을 때 내가 쓴 글을 지울 수 있는 사람..

LINUX 2021.11.03

Linux/user account management(사용자 계정 관리)(/etc/passwd)

일반 사용자 생성, 삽입, 삭제를 해보자. 사용자 관련 파일,디렉토리 /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/login.defs /etc/default/useradd /home/ /etc/skel/ /etc/passwd == 사용자 정보 확인 ->생성된 사용자 정보는 /etc/shadow 에 저장이 되고 저장된 사용자 정보를 /etc/passwd 에서 확인 이 파일만 잘 알아도 사용자 작업하기가 수월하다. 규칙 -각 필드는 :으로 나눈다. -각 필드마다 가지는 의미가 있다. ex) korea:x:1000:1000:korea:/home/korea:/bin/bash 첫 번째 필드 (korea) : 사용자 명 두 번째 필드 (x) : 패스워드 필드 -보안..

LINUX 2021.10.30

Linux/베이직 커멘드 (nl,입출력기호"<>")

nl : 화면 출력 시 라인 번호와 함께 출력 "|"기호를 사용해서 명령어를 연결한다면 다음과 같이 응용해서 출력해 볼 수도 있다. 입출력 기호 ==redirection > : 입력 리다이렉션 "가 저장의 의미를 가지고 있다. 3. 파일 생성하기 주의할 점 기존에 파일이 없다면 생성을 하지만 기존에 같은 이름의 파일이 있다면 덮어씌워져서 기존에 작성됐던 내용이 삭제된다. 4. 파일의 내용을 추가해 주기 ">>"사용 5. 파일의 병합 a파일과 b파일의 내용이 병합된 것을 확인할 수 있다. 이때 먼저 오는 파일의 내용이 위로 가게 된다.

LINUX 2021.10.26

Linux /주요 디렉토리

관리자 계정으로 들어가면 아래와 같은 화면을 만날 수 있다. 리눅스는 명령어 기반으로 사용하는 운영체제 이기 때문에 너무 낯설지 않기 위해서 gui환경으로 시작을 하였지만 아래와 같이 터미널 열기를 열어서 작업들을 진행해야 한다. 리눅스의 디렉터리 목록들이다. 리눅스 주요 디렉터리 / :(최상위 디렉터리) == 리눅스상에 존재하는 모든 파일과 디렉터리의 시작. 최상위에 위치하는 디렉토리 /boot 디렉터리: == 부팅과정에 필요한 정보파일들이 저장되는 디렉토리 (잘못 건들면 안 됨) == boot partition 설정 시에는 1GB 이상 용량을 설정해야 한다. (partition구성 시에는 최상위 디렉터리를 마지막에 구성을 하고 기본적으로 필요한 시스템 요소들을 먼저 할당해 줘야 한다) /bin(bin..

LINUX 2021.10.23

Linux 설치 및 환경설정(CentOs)(2)

가상 머신을 만들 때 네트워크 설정 시 NAT는 사설 ip와 공인 ip에 대한 주소 변환 장치를 말한다. hostonly는 내부에서만 네트워크를 사용할 수 있다. 그럼 저번에 만들어 놓은 가상 머신에 CentOS를 다운로드하여 보자 위와 같은 탭에 가서 필요 없는 장치에 대해서 삭제 또는 추가를 할 수 있다. 가상 머신을 실행시켜 보면 아래와 같은 오류가 나온다. 당연히 os가 없기 때문이다. 설치 파일에서 이 설치에 대한 정보를 읽어와야 한다. 그럼 가상 머신의 power Off를 해준 다음 이미지 파일 ISO 파일을 넣어보자 가상 머신을 지우고 추가하는 탭으로 다시 가서 위 사진처럼 한 다음 전에 다운로드하여 놨던 iso 파일을 추가시켜 준다. 그리고 상단에 connect power on도 체크해준다..

LINUX 2021.10.22

SpringbootSecurity/JWT/JWT기본개념(CIA와 RSA에 대해 이해하기)

이번 포스팅에서는 보안에 대해 포스팅을 간단하게 해 보겠습니다. CIA C : 기밀성 I : 무결성 A : 가용성 그럼 설명을 좀 더 쉽게 하기위해서 과거에 가서 통신한다는 가정을 해서 얘기를 시작해 본다. 몇백 년 전에 말 타고 다그닥 거리던 시절에 뭐 이런일이 발생한다고 해보자 그럼 여기서 발생할 수 있는 변수가 뭐가 있을까? A나라가 B나라로 통신을 하기 위해 신하에게 문서를 주고 B나라로 보냈는데 C나라가 중간에 이 신하를 죽이고 문서를 바꿔서(C:기밀성) B나라로 위조된 문서(I: 무결성)를 보내면 어떻게 될까? 신뢰성 있는 통신을 할 수 없게 된다.(A :가용성) 위 상황에서는 CIA가 다 깨지게된다. 보안을 하기 위해서는 CIA를 완벽하게 지킨 상태로 통신을 이뤄야 한다 CIA를 완벽하게 지..

SpringbootSecurity 2021.09.02

SpringbootSecurity/JWT/JWT기본개념(TCP에 대해 이해하기)

저번 포스팅에서 Session에 대한 이해와 더해서 JWT를 이해하기 위해선 TCP도 알고 있어야 한다. 어떤 새로운 기술을 배울 때 그 기술이 원초적으로 이해가 되지 않는다면 그 기술에 대한 배경지식이 많이 부족하다는 것이다. 그래서 그 기술을 기술적으로 사용할 수 있게 된다고 해도 이해를 하지 않았기 때문에 금방 까먹고 새로운 기술이 나오면 처음부터 다시 배우는 느낌이 들 수밖에 없다. 그렇기 때문에 이런 배경지식을 먼저 이해하는 것이 중요한 것 같다 osi 7 계층에 대한 자세한 내용은 따로 포스팅이 되어있습니다! 웹에는 OSI 7 계층이라는 것이 있다. 이걸이해해야 TCP/IP를 알게되고 그래야 보안을 이해하면서 왜 JWT가 나오는지 알수 있게되는 것이다. OSI 7계층 1. 응용계층 : 응용프로..

SpringbootSecurity 2021.09.02

SpringbootSecurity/JWT기본개념(세션에 고질적인 문제)

JWT JWT는 json web token이 라고 한다. 그럼 이 JWT가 왜 사용되고 어디에 사용되는지 먼저 알아보자 JWT를 이해하기위해선 session의 단점이 뭔지부터 알아야 한다. Session 기본적으로 사용자가 웹에서 서버로 최초 요청을 한다고 하면 서버가 응답을 할 때 해더에 쿠키를 담아서 세션 id를 넘겨주고 사용자의 웹에 자동으로 쿠키를 저장하는 것이 기본전략이다. 그래서 다음에 같은 사용자가 다시 요청을 한다고하면 쿠키에 있는 세션id를 보고 사용자의 요청을 효율적으로 응답할 수 있게 되는 것이다. 그럼 이 session은 언제 사라지냐? 1. 서버 쪽에서 session값을 날렸을 때 2. 사용자가 브라우저를 전부 종료했을 때 3. 특정 시간이 지나면 자동 삭제 이때 서버가 알아야 하..

SpringbootSecurity 2021.09.02

SpringbootSecurity/Springboot로 네이버 로그인 해보기 (yml에서 provider 설정하기)

저번 포스팅에서 이어갑니다. provider OAuth2-Client라는 라이브러리를 사용하고 있는데 OAuthClient를 재공해 주는 provider 있는데 Spring은 구글, 페이스북, 트위터 등등을 제공해준다. 그럼 당연히 네이버나 카카오같은 각 나라마다의 포털사이트를 Spring을 다 제공해주기엔 너무 많기 때문에 대표적인 것만 있는 것이다. 그럼 이런 각 나라마다 포털사이트의 api를 사용하려면 그 포털사이트의 문서를 봐야 사용할 수 있다. 그럼 naverAPI를 받아오기 전에 yml설정부터 하면서 이해해야할 개념이 있다. 기본적으로 스프링 시큐리티가 OAuth2로그인을 사용할 때 OAuth2를 사용하기 위한 여러 가지 방식이 있다. Code방식 Client CredentialGrantTyp..

SpringbootSecurity 2021.09.01

SpringbootSecurity/Springboot로 페이스북 로그인 해보기

https://developers.facebook.com/?locale=ko_KR Facebook for Developers iOS 14에 대비한 파트너 준비 사항: Facebook 광고에 영향을 미칠 Apple iOS 14 요구 사항에 대해 자세히 알아보세요. FACEBOOK으로 빌드하기 Facebook의 추천 플랫폼으로 고객과 소통하고 효율을 높여보세요 developers.facebook.com 위 사이트에 들어가서 로그인을 한다. 로그인하면 상단 해더에 '내 앱'이라는 카테고리가 있는데 거기로 들어가서 앱을 아래와 같이 만든다. 시작하기 전에 기본적인 oauth로그인에 대한 코드나 내용은 이전 포스팅인 구글로그인편을 해 보고 오셔야 해당 포스팅을 이해하실 수 있습니다. 앱을 만들고 로그인 기능을 추..

SpringbootSecurity 2021.08.31