0313

유영·2023년 3월 13일
0

PHP

목록 보기
51/57

권한설정

ftp는 root
ftp-simple-config파일 확인
username을 estudy => root로 변경

리눅스의 퍼미션(권한)을 조정하기

리눅스는 여러사용자가 들어와 사용하는 멀티 유저 시스템
여러 사용자가 들어오면 서버에 올려진 비밀자료 열람과 그것을 변조,수정,삭제를 할 우려가 높아진다. 왜냐면 여러사람들이 사용하는 컴퓨터이기에.
퍼미션은 말그대로 시스템에서 유지되는 권한기능입니다..
참고로 윈도우도 퍼미션기능이 있긴하지만,
여러사용자들이 들어오는 서버용이 아니기에 리눅스처럼 활성화되어있지않습니다.

drwxr-xr-x 2 root root 4096 Apr 22 16:59 conory
파일Type 퍼미션정보 링크수 소유자 소유그룹 용량 생성날짜 파일이름

파일 Type : "d" -> 디렉토리 , "l" -> 링크파일 , "-" -> 일반파일 등등..
퍼미션정보 : 해당 파일에 어떠한 퍼미션이 부여되어있는 지 표시!
링크수 : 해당 파일이 링크된 수! 링크는 윈도우의 "바로가기"와 같습니다.
"in [대상파일][링크파일]" 명령으로 링크파일을 만듭니다.
소유자 : 해당 파일의 소유자이름! (누구껀지?)
소유그룹 : 해당 파일을 소유한 그룹이름! 특별한 변경이 없을 경우 소유자가 속한 그룹이 소유그룹으로 지정됩니다.
용량 : 파일의 용량!
생성날짜 : 파일이 생성된 날짜!
파일이름 : 파일이름

  • 퍼미션 종류 , () 괄호에 있는 것이 해당 퍼미션 기호
    읽기 ( r ) : 파일의 읽기권한
    쓰기 ( w ) : 파일의 쓰기권한
    실행 ( x ) : 파일의 실행권한

  • 퍼미션의 사용자지정
    소유자 : 소유자에 대한 퍼미션지정
    그룹 : 소유그룹에 대한 퍼미션지정
    공개 : 모든사용자들에 대한 퍼미션지정

  • 각 퍼미션 기호를 숫자로 변환 합니다. ( r = 4 , w = 2 , x = 1 )
    예) r - x 인 경우 4 0 1

  • 변환한 숫자를 합산합니다.
    예) 4 0 1 인 경우 4+0+1 = 5

  • 이런식으로 하나의 퍼미션을 숫자값으로 변환하면 됩니다..
    예) rwxr-xr-x 이면 rwx r-x r-x 세자리씩 끊고, 4+2+1 | 4+0+1 | 4+0+1 숫자변환 뒤 합산하면 "755" 라는 퍼미션값이 나옵니다.

  • 그래서 " chmod 755 conory.text " 명령을 실행하면 conory.text 파일이 755에 해당되는 퍼미션으로 변경됩니다.
    그리고 디렉토리도 이 방법으로 퍼미션을 변경할 수 있습니다.

  • 디렉토리의 경우 "-R" 옵션을 사용하면 하위 디렉토리의 모든 디렉토리및 파일의 퍼미션이 변경됩니다.
    예) " chmod -R 777 conory " conory 디렉토리의 하위에 위치한 모든 파일및 디렉토리 퍼미션이 777로 변경됩니다.

  • 소유자 변경하기
    파일의 소유자 양도를 해야 될 경우 소유자 변경을 할 수 있습니다.
    아래 명령으로 손쉽게 변경할 수 있습니다.

chown [변경할 소유자][변경할 파일]

이 명령으로 소유자뿐만 아니라 소유그룹도 변경할 수 있습니다.
[변경할 소유자]란에 ".그룹이름" 형식으로 입력하면 됩니다. " .conory "
예를 들어 conory.text의 소유자를 "conory"로, 소유그룹을 "conory2"로 동시에 변경할 경우 " chown conory.conory2 conory.text "


  • korea_members테이블 만들고 설정하기
    INSERT INTO korea_members (idx, uid, pwd, name) VALUES (NULL, 'newmr', PASSWORD('1111'), '');

-mysqli_real_escape_string
php에서 제공하는 함수로 MYSQL과 커넥션을할때 String을 Escape한 상태로 만들어준다.

사용법 :
mysqli_real_escape_string(connection, escapestring);

  • MYSQL 과 연결하는 connection과 escape형태로 만들어줄 string을 입력한다.

Escape string이란?
우리가 string을 입력할때 Tom's cat 이란 입력을 하면 '는 sql문에 앞서 있던 ' 와 중첩이 될 수 있다.
이러한 문제를 막기위해 \n, \r \" 처럼 구별해주는 형태로 만들어주는 것을 Escape string 이라고 한다.

mysqli_real_escape_string 을 통해 injection 공격을 방지하며 입력받을 수가 있다.
$_POST 로 넘어오는 인자값들을 직접 받지않고
mysqli_real_escape_string 을 통해 filtering 된 인자로 받아준다.

<form> 태그의 enctype 속성은 폼 데이터(form data)가 서버로 제출될 때 
해당 데이터가 인코딩되는 방법을 명시합니다.
이 속성은 <form> 요소의 method 속성값이 “post”인 경우에만 
사용할 수 있습니다.

기본문법
  <form enctype="속성값">

application/x-www-form-urlencoded 
: 기본값으로, 모든 문자들은 서버로 보내기 전에 인코딩됨을 명시함.

multipart/form-data
: 모든 문자를 인코딩하지 않음을 명시함.
이 방식은 <form> 요소가 파일이나 이미지를 서버로 전송할 때 주로 사용함.

text/plain	
: 공백 문자(space)"+" 기호로 변환하지만, 나머지 문자는 모두 인코딩되지 않음을 명시함.

0개의 댓글