[Linux] 파일 퍼미션 및 보안

[Linux] 파일 퍼미션 및 보안 updated_at: 2023-06-21 14:23

파일 퍼미션 및 보안

파일 퍼미션

각각의 파일 퍼미션에 대한 내용은 아래와 같다.
파일에 적용될때와 디렉토리에 적용될때의 내용이 약간씩 다르므로 주의해야 한다.

  • read - 파일의 내용을 읽기
  • write - 파일이나 디렉토리를 쓰거나 수정
  • execute - 파일을 실행하거나 디렉토리의 컨텐츠를 보기

파일 권한

각각의 퍼미션은 Owner(소유자), Group(그룹), WWW(일반) 으로 나뉜다.

일반적인 예

OWNER GROUP	-rw-r--r--.	main.file	소유자는 파일을 쓰고 읽지만 일반인 및 그룹은 파일을 읽기만 한다.
OWNER GROUP	drwxr-xr-x.	myfolder	소유자는 디렉토리를 생성 변경 가능하고, 일반인은 디렉토리의 컨텐츠를 보거나 읽을 수 있다.
WWW WWW	drwxr-xr-x.	myfolder	일반인은 컨텐츠를 읽고 쓰고 디렉토리를 생성할 수 있다	

For a file :

  • r = 파일의 내용을 읽을 수 있다
  • w = 컨텐츠의 내용을 변경할 수 있다.
  • x = "./<fileName>" 처럼 사용하여 파일을 실행할 수 있다

For a directory :

  • r = 디렉토리내의 파일(콘텐츠)의 리스트를 볼 수 있다.
  • w = 디렉토리내에서 파일 및 콘텐츠를 생성할 수 있다.
  • x = "cd <dirName>" 명령어를 이용해 디렉토리 내로 접근가능하다.

다음과 같이 하면 보안에 최대한 강한 퍼미션을 유지할 수 있다
일반 파일에는 x 권한은 되도록 삭제한다.(의심스러우면 모든 x 권한 삭제)

chmod 644	소유자가 파일을 생성할 경우
chmod 755	소유자가 디렉토리를 생성할 경우

아래처럼 확인하여 실행권한이 있는 파일을 찾아 필요없을 경우 해제한다.

find /dir -type f -executable

하위 디렉토리를 모두 755 퍼미션으로 변경

find /path/to/base/dir -type d -exec chmod 755 {} +
chmod 755 $(find /path/to/base/dir -type d)

find /path/to/base/dir -type d -print0 | xargs -0 chmod 755
find ./img -type d -print0 | xargs -0 chmod 755

하위 파일을 모두 644로 변경

find /path/to/base/dir -type f -exec chmod 644 {} +
chmod 644 $(find /path/to/base/dir -type f)
find /path/to/base/dir -type f -print0 | xargs -0 chmod 644"

# find ./ -type d -print0 | xargs -0 chmod 755
# find ./ -type d -print0 | xargs -0 chown www-data.www-data

특정 소유권을 다른 소유권으로 변경

chown --from=소유자.그룹 변경소유자.변경그룹 [Directory] -R
chown --from=ubuntu.ubuntu newowner.newgroup ./dir -R
평점을 남겨주세요
평점 : 5.0
총 투표수 : 1

질문 및 답글