리눅스 명령: CHMOD. chmod 명령 - 권한 변경 Chmod 구문

파일 권한 변경

통사론:

chmod[-fv] [-R [-H | -L | -피]] 모드 파일 ... chmod[-fv] [-R [-H | -L | -P]] [-a | +a | =a] ACE 파일 ... chmod[-fhv] [-R [-H | -L | -P]] [ ACL_옵션] 파일 ...

옵션:

-아르 자형 재귀. 폴더에 사용됩니다. 지정된 개체뿐만 아니라 모든 중첩 개체에 대한 권한을 변경합니다.
-RH 다음의 심볼릭 링크를 따르세요. 명령줄. 기본적으로 심볼릭 링크는 처리되지 않습니다.
-R -L 모든 심볼릭 링크가 처리됩니다.
-R -P 링크 트리는 처리되지 않습니다. 기본 설정.
-V 말 수가 많은. 수정된 모든 파일을 표시합니다.
-v -v 매우 장황한 모드. 이전 권한과 새 권한은 8진수(숫자) 및 알파벳 표시 모드로 표시됩니다.
-에프 파일 권한을 변경할 수 없는 경우 진단 메시지를 표시하지 않습니다.
ACL_옵션(ACL - 사용자 그룹에 대한 액세스 제어 목록) ACL_manipulation_options

액세스 권한:

접근 권한은 8진수 체계에 따라 알파벳 코드 또는 숫자로 지정될 수 있습니다.

디지털 인증을 통한 관리:

3비트는 권한을 제어하는 ​​데 사용됩니다.

  • 첫째는 읽을 권리다.
  • 두 번째는 글을 쓸 권리이다
  • 세 번째 - 실행권
조금씩 숫자 문자 코드 권리에 대한 설명
000 0 권리 없음
001 1 집행권만
010 2 쓰기 전용
011 3 녹음 및 공연 권리
100 4 읽기 전용
101 5 읽고 실행할 수 있는 권리
110 6 실행 없이 읽고 쓸 수 있는 권리
111 7 모든 권리

이러한 파일 권한은 세 가지 유형의 액세스에 대해 설정됩니다.

  • 주인을 위해
  • 그룹을 위해
  • 다른 사람들을 위해

결과적으로 명령은 다음과 같습니다.

$ chmod 444 파일 - 모든 사람에게 읽기 전용 권한

$chmod 755 파일 - 소유자는 모든 권한을 갖고(7), 다른 사용자는 읽고 실행만 합니다(5)

$chmod 066 file - 소유자는 파일에 대한 권한이 없으며(0), 다른 모든 사람은 실행 없이 읽기 및 쓰기 권한을 가집니다.

알파벳 액세스 권한을 사용한 관리:

기호 코드를 사용하여 권한을 지정하는 형식

[누가...][[+-=][권리...]...][,...]

WHO 문자의 조합이다 "우고아"가리키는 사용자파일이나 폴더에 대한 액세스 권한이 변경될 사람

  • 사용자가 소유자입니다
  • g 사용자 그룹
  • o 다른 사용자
  • a(all)는 모든 사람을 위한 ugo와 유사합니다.

건강하세요, 블로그 독자 여러분! 우리 모두는 호스팅 서버에 있고 사이트에 속한 모든 사람이나 폴더가 무단 액세스로부터 최대한 보호되기를 바랍니다.

이러한 보호는 호스터의 90%가 모든 파일과 디렉터리에 대한 액세스 권한을 규제할 수 있는 Unix 계열 운영 체제를 사용한다는 사실로 인해 보장됩니다. 내 프로젝트 중 일부가 위치한 호스팅 공급자의 서버도 예외는 아닙니다.

그건 그렇고, 제공된 링크를 따라 관심을 가지십시오. 하지만 계속하자. Unix에 확립된 규칙은 많은 사람들에게 익숙한 수술실에서의 작업 규칙과 다릅니다. 윈도우 시스템, 이 측면의 보호가 그다지 강력하지 않은 경우 때로는 시스템의 바이러스 감염 형태로 비참한 결과를 초래합니다.

사용자를 위한 CHMOD 및 파일 및 폴더(디렉토리)에 대한 액세스 권한

Unix가 관리하는 시스템에서는 상황이 다르며 장기간에 걸쳐 여러분의 힘든 작업 결과를 이용하려는 악당의 삶을 심각하게 복잡하게 만들 수 있는 기회가 있습니다. 즉, CHMOD 액세스 권한을 올바르게 구성하십시오. 우리의 임무는 파일 및 폴더에 액세스할 수 있는 최소한의 권한을 부여하는 것입니다. 그럼에도 불구하고 사이트의 올바른 작동을 방해하지 않습니다.

진지하게 강화할 기회를 활용하지 않는 것은 죄입니다. 물론 이 경우 일부 파일을 편집하는 데 시간이 조금 더 걸리지만 여기서는 시스템 보안 최적화 중 하나를 선택해야 합니다. 아래에서는 CHMOD(액세스 권한)에 대한 정보를 체계화하려고 합니다. 웹마스터가 알아야 할 몇 가지 뉘앙스가 있습니다. 그럼 시작해 보겠습니다.

액세스 권한은 사용자 그룹마다 다릅니다. 연결이 시도되면 서버는 특정 사용자를 어떤 그룹에 할당할지 결정합니다. 모든 사용자는 세 가지 범주로 나뉩니다.

  1. "사용자" - 파일 소유자
  2. "그룹" - 소유자가 속한 그룹의 구성원 중 하나
  3. "world" - "나머지 세계", 즉 다른 모든 사용자

사용자 이름과 비밀번호를 사용하여 서버에 연결하고 로그인하면 다음으로 식별됩니다. "사용자"(u) 다른 사람이 FTP를 통해 연결하면 다음과 같이 감지됩니다. "그룹"(g) 사용자가 브라우저를 사용하는 경우 해당 카테고리에 속합니다. "세계"(영형).

이제 파일 및 디렉토리에 대한 CMOD 액세스 권한에 대해 알아보십시오. 본질적으로 명칭은 동일하지만 약간 다릅니다. 파일 권한:

  • r (읽기) - 파일 데이터를 읽을 수 있는 권한
  • w(wright) - 콘텐츠를 변경할 수 있는 권한(콘텐츠 편집만 가능 - 쓰기는 가능하지만 삭제할 수는 없음)
  • x (eXutive) - 파일을 실행할 수 있는 권한

폴더(디렉토리)에 대한 액세스 권한:

  • r - 폴더를 읽을 수 있는 권한(디렉토리의 내용, 즉 포함된 파일 목록을 얻을 수 있음)
  • w - 내용을 변경할 수 있는 권한(디렉토리에서 개체를 생성하고 삭제할 수 있는 권한, 파일을 쓸 수 있는 권한이 있으면 자신에게 속하지 않은 개체도 삭제할 수 있음)
  • x - 특정 디렉터리에 대한 액세스 권한(여기서 특이한 점은 디렉터리의 "깊숙한" 위치에 있는 파일에 대해 필요한 모든 권한을 가지고 있더라도 해당 경로에 있는 하나 이상의 하위 디렉터리에 대한 액세스 권한이 없는 경우에도 마찬가지입니다. 이 개체에 액세스할 수 없습니다)

하이픈 "-"는 권리가 없음을 나타냅니다. 이러한 모든 권한은 관리자가 할당하며, 관리자는 비밀번호를 입력하여 이 기회를 얻습니다. 특정 리소스 파일에 대한 CHMOD 액세스 권한에 대해 가능한 최대 제한을 설정할 수 있다면 바이러스 프로그램이 "더러운 행위"를 수행하는 위험을 실질적으로 제거할 수 있습니다.

명확성을 위해 파일 소유자가 읽기, 쓰기, 실행 등 가능한 모든 권한을 갖고 있는 경우의 예를 고려해 보겠습니다. 범주 g(그룹)에 할당된 사용자는 읽기 및 쓰기 전용이고, 다른 모든 사용자(w)는 읽기 권한만 가집니다. 그러면 CHMOD 항목은 "rwx rw- r- -"과 같습니다.

디지털 용어로 표시된 파일 및 폴더에 대한 액세스 권한: CHMOD(777, 755, 444)

그러나 실제 활동에서 웹마스터는 디지털 용어로 특정 액세스 권한을 할당해야 하는 경우가 더 많습니다.

  • r (읽기) - 4
  • w (기록) - 2
  • x (성능) - 1
  • - (권한 없음) - 0

이제 "rwx rw- r- -" 액세스 권한을 할당하기 위해 위의 예를 다시 살펴보겠습니다. 각 사용자의 권한을 표시하기 위해 해당 권한 추가가 사용됩니다(r 읽기 + w 쓰기 + x 실행). 따라서 파일 소유자 u(사용자)에 대한 항목의 일부 - "rwx"는 7(4+2+1)로 변경됩니다. 그룹 g(그룹)의 구성원인 경우 - 6(4+2+0)의 "rw-" 및 기타 사용자의 경우 o(world) - 4(4+0+0)의 "r- -"입니다. 요약하자면 다음은 CHMOD 액세스 권한 값을 문자와 숫자로 표현한 요약표입니다.


이제 모든 사용자 그룹의 전체 CHMOD 권한을 숫자 형식으로 반영하는 또 다른 표를 제시하겠습니다.


이는 웹마스터 작업에서 가장 자주 사용되는 주요 조합입니다. 나머지는 유추에 의해 형성됩니다. 사이트 또는 블로그 관리자이지만 FTP 프로토콜을 통해 연결하지 않고 프로젝트 작업을 수행하는 경우에도 "기타 사용자" 그룹에 속합니다. 이 경우 이 모드에서 사이트를 작업할 때 CHMOD 값의 마지막 숫자를 고려해야 합니다.

일반적으로 파일이 있는 서버에 있습니다. 워드프레스 블로그, 폴더의 액세스 권한은 755이고 그 일부인 파일은 644로 설정됩니다. 이는 리소스가 HTML 파일을 사용하여 구축된 경우에 해당됩니다. 그러나 현대에서는 CMS(콘텐츠 관리 시스템)가 리소스를 구축하는 데 널리 사용됩니다. WordPress를 포함하는 웹사이트입니다. 그리고 여기에는 "world" 사용자 그룹이 작성해야 하는 개체가 있을 수 있습니다. 이미지를 포함하여 콘텐츠가 다운로드되는 폴더가 있을 수 있습니다.

따라서 특정 파일에 대한 CHMOD 권한 할당은 차별화되어야 합니다. FTP를 통해 사이트 관리에 로그인하면 모든 작업을 수행할 수 있지만 대부분의 경우 우리는 프로젝트를 통해 작업하며 이 경우 권한이 너무 높거나 반대로 액세스 권한이 있는 경우 문제가 발생할 수 있습니다. 또는 다른 파일(폴더)을 과소평가하면 보안 위협이 커집니다. 따라서 위의 내용을 바탕으로 다음과 같은 몇 가지 권장 사항을 결정할 수 있습니다. 실용적인 응용 프로그램 WordPress 블로그용 CHMOD:

777 - 파일이 지속적으로 기록되고 삭제되는 폴더용(캐싱 폴더용)
755 - 파일이 지속적으로 기록되지만 삭제되지 않는 폴더와 관련
666 - 수시로 항목을 추가해야 하는 파일(예: .htaccess 파일)
644 - 읽기 전용 파일(.php, .html 등)

FileZilla FTP 관리자를 사용하여 CHMOD 권한을 구성하는 방법

리소스 작업 시 일부 변경이 필요한데 편집이 금지되어 있어 변경이 불가능한 경우에는 FTP로 호스팅 서버에 접속하여 접근권한을 777로 변경해 주셔야 합니다. 단, 파일을 변경한 후 , 이전 CHMOD를 다시 설정하는 것이 좋습니다.

이제 를 사용하여 이 작업을 수행하는 방법에 대해 자세히 알아 보겠습니다. 이렇게 하려면 프로그램을 열고 FTP를 통해 호스팅 서버에 연결하세요. 왼쪽에 « 원격 서버» 먼저 속성이 편집될 파일을 표시합니다.

그리고 마우스 오른쪽 버튼을 누르면 나오는 컨텍스트 메뉴에서 "파일 권한". 그 후 대화 상자가 나타납니다 "파일 속성 변경":

여기서는 선택한 (또는 선택한) 파일에 필요한 CHMOD 값을 할당합니다. 그러나 이는 파일 또는 파일 그룹을 선택한 경우에만 해당됩니다. 디렉터리(폴더)에 대한 CHMOD 값을 설정하거나 변경하려는 경우 "파일 속성 변경"을 선택하면 위와 다소 다른 아날로그 창이 나타납니다.

봐, 그들이 여기에 나타났어 추가 세팅. 해당 라인 옆의 체크박스를 선택하면 "하위 디렉터리로 리디렉션", 이는 지정된 액세스 권한이 이 디렉터리에 중첩된 디렉터리(폴더) 또는 파일에 적용된다는 의미입니다. 아래 상자를 선택하면 찾은 설정 그룹이 활성화되고 모든 파일 및 디렉터리, 첨부 파일만 또는 디렉터리에만 설정을 적용하는 방법도 선택해야 합니다.

오늘은 파일 및 폴더에 대한 접근 권한(읽기)에 대해 이야기하고 싶습니다. 이 개념은 Linux(Unix)에서 웹마스터링의 세계로 들어왔습니다. 유사한 시스템, 대부분의 호스팅 사이트가 운영됩니다.

그리고 Chmod라는 이름 자체는 다양한 개체에 대한 액세스 권한을 할당할 수 있는 Linux 프로그램의 이름입니다. 그리고 귀하의 웹 사이트는 다양한 변형의 Linux(Unix)를 실행하는 서버에 설치되므로 웹 사이트의 개체 작업에는 Linux(Unix) 운영 체제에 의해 설정된 규칙이 적용됩니다.

Windows에서는 사실상 모든 파일이 최대 권한으로 설정되어 있으며, 이는 실제로 컴퓨터를 지배하게 되고 결과적으로 바이러스 백신 회사의 소유자가 굶어 죽는 것을 방지합니다. Linux(Unix) 시스템에서는 상황이 다릅니다. 모든 것이 더 복잡하지만 동시에 더 안전합니다. 모든 것을 정확하고 적절하게 구성하면 웹 사이트의 보안을 크게 높일 수 있습니다.

파일 및 폴더에 대한 액세스 권한의 기본 개념

모든 것을 우연에 맡기고 필요한 권한을 설정하지 않으면 리소스가 해킹되거나 악성 코드에 감염될 가능성이 매우 높아집니다. 모든 데이터를 수행했다면 좋지만 그렇지 않다면 어떨까요?!

그러므로 지체하지 않고 즉시 하는 것이 더 좋다 긴 상자, 미니멀리즘 원칙에 따라 엔진의 모든 중요한 개체에 대한 Chmod를 구성하고 변경합니다. 저것들. 웹사이트의 올바른 운영에 필요한 최소한의 권리를 개체에 부여합니다..

정확히 무엇을 설정하고 어떻게 설정하는지 이해하기 위해 먼저 문제의 본질을 이해합시다. 그럼 시작해 보겠습니다. 파일과 디렉터리에 대한 액세스 권한이 분리되어 있습니다. 동일하게 지정되었지만 의미는 약간 다릅니다.

차례로 파일과 관련하여 다음이 가능합니다.

  • r - 데이터를 읽을 수 있는 권한입니다.
  • w - 내용을 변경합니다(기록 - 내용만 변경하고 삭제하지는 않음).
  • x - 파일을 실행합니다.

파일 실행 기능을 자세히 살펴보겠습니다. 사실 Linux에서는 모든 파일을 실행할 수 있습니다. 그것이 경영진인지 여부는 확장에 의해 결정되지 않습니다(확장 개념은 파일 시스템 Unix) 및 액세스 권한 Chmod를 사용합니다. 파일에 실행 권한 “X”가 설정되어 있으면 해당 파일을 실행할 수 있다는 의미입니다.

디렉토리와 관련하여 다음이 가능합니다.

  1. r - 디렉토리를 읽을 수 있는 권한(디렉토리의 내용을 읽을 수 있습니다. 즉, 디렉토리에 있는 개체 목록을 가져올 수 있습니다)
  2. w - 디렉토리의 내용을 변경합니다(그 안에 객체를 생성하고 삭제할 수 있으며, 쓰기 권한이 있는 경우 자신에게 속하지 않은 파일도 삭제할 수 있습니다).
  3. x - 디렉토리에 들어갑니다(항상 먼저 확인되며, 디렉토리 체인에 깊이 묻혀 있는 객체에 대해 필요한 모든 권한이 있지만 적어도 하나의 디렉토리에 액세스할 수 있는 "X" 속성이 없는 경우에도 마찬가지입니다). 파일을 저장하는 방법이 있으면 절대 파일을 볼 수 없습니다)

Linux 시스템에서는 이 모든 것이 컴퓨터의 기본 관리자에 의해 배포되며, 비밀번호를 입력하여 액세스할 수 있습니다. 그리고 대부분의 개체에 읽기 전용 권한이 있는 경우 바이러스는 해당 컴퓨터에서 실제로 아무 작업도 수행하지 않습니다. 그들은 거기에 글을 쓸 수도 없고 성취될 수도 없을 것입니다. 이것이 바로 우리 사이트의 개체에 필요한 Chmod를 설정하여 달성해야 하는 결과입니다.

사용자 그룹에 대한 권한

권한 자체는 객체에 액세스하는 사람에 따라 세 가지 범주로 나뉩니다.

  • "user" - u(직접 파일 소유자)
  • "그룹" - g(소유자와 동일한 그룹의 구성원)
  • "세계" - o (기타 모든 것)

서버는 귀하가 서버에 연결할 때 귀하를 할당할 사용자 그룹을 결정합니다. 예를 들어 FTP를 통해 서버에 연결하는 경우 사용자 이름(및 비밀번호)으로 로그인하면 서버가 사용자를 "사용자"("u)" 그룹에 할당합니다.

FTP를 통해 서버에 연결하는 다른 사용자는 "그룹"("g") 그룹에 할당되고, 브라우저를 사용하여 웹사이트를 방문하는 방문자는 "world"("o") 그룹에 할당됩니다. .

세 가지 범주 "u", "g" 및 "o"에 대해 세 가지 가능한 값 "r", "w" 및 "x"의 변형 및 Chmod를 파일에 정의. 카테고리를 지정하지 않은 경우 하이픈 "-"으로 대체됩니다. 권한은 주어진 순서에 따라 순차적으로 지정됩니다.

  1. 먼저 소유자의 권리 - "u"
  2. 그런 다음 그룹의 경우 - "g"
  3. 그리고 마지막에는 - 다른 모든 사람들을 위해 - "o"

서버가 방문자를 특정 그룹에 할당한 후 개체에 대해 작업할 수 있는 권한을 부여합니다. 그 후 방문자는 파일을 읽고, 쓰고, 실행할 수 있습니다(그의 그룹이 이 개체로 수행할 수 있는 작업에 따라 다름). .

디렉토리의 내용을 보려면 읽기 속성 "r"(서버가 방문자를 할당한 그룹에 대한)이 있어야 합니다. 기존 파일이나 폴더에 파일이나 폴더를 만들려면 다음이 필요합니다. 기존 디렉토리"w" 항목에 대한 속성이 있습니다.

명확성을 위해 파일 소유자(“사용자” - “u”)가 모든 권한(읽기, 쓰기, 실행)을 갖고 있고 다른 모든 사용자에게는 읽기 권한만 있는 예를 살펴보겠습니다. 이러한 Chmod 항목은 "rwx r-- r--"과 같습니다.

자세히 살펴보겠습니다. "rwx"(이 레코드는 소유자인 "u"에 대한 개체에 대한 권한을 지정합니다. - "u"), "r--"(이 레코드는 동일한 개체에 대한 권한을 지정하지만 방문자가 할당된 경우 서버에 의해 그룹으로 - " g"), "r--"(이 항목은 다른 모든 사용자의 개체에 대한 권한을 설정합니다 - "o").

파일 권한과 폴더 권한의 차이점은 무엇입니까?

3개의 사용자 그룹과 3개의 사용자 그룹이 있는 것으로 나타났습니다. 가능한 조치개체와 함께. 아직 혼란스러우신가요? 위에서 말한 모든 것을 태블릿 형태로 선반에 올려 놓으십시오. 먼저, 이들이 어떻게 다른지 살펴보겠습니다.

또한 다양한 Chmod 조합을 보여주는 표시도 있습니다. 다른 유형사물:

아무것도 할 수 없어

디렉터리 및 하위 디렉터리에 대한 액세스가 거부되었습니다.

콘텐츠를 보고 변경할 수 있습니다.

디렉토리 파일을 추가, 삭제, 변경할 수 있습니다.

파일이 바이너리인 경우 실행

사용자는 할 수 있습니다 바이너리 파일그가 알고 있는 존재, 카탈로그에 들어가거나 열람하는 것은 금지되어 있습니다

숫자로 표현되는 Chmod(777, 400, 666, 755, 444)

여기서는 액세스 권한을 설명하기 위해 라틴 문자와 하이픈을 사용하는 항목을 사용하는 것을 볼 수 있지만 아마도 이미 다음과 같은 사실을 접했을 것입니다. Chmod는 일반적으로 디지털 방식으로 지정됩니다., 예를 들어 잘 알려진 조합인 777은 모든 사람에게 모든 것을 허용합니다.

실제로 권한은 숫자로도 표시됩니다.

  1. r(읽기)은 4로 대체됩니다.
  2. w(레코드)는 2로 대체됩니다.
  3. x(실행)는 1로 대체됩니다.
  4. 0은 아무것도 하지 않음을 의미합니다(알파벳 표기법에서 하이픈으로 표시됨).

조금 더 일찍 설명했던 녹음 예제로 돌아가 보겠습니다: rwx r-- r--. 방금 설명한 규칙에 따라 문자와 하이픈을 숫자로 대체하고 동시에 각 트리플의 숫자를 더하면 이 항목의 디지털 형식인 ​​744를 얻게 됩니다.

저것들. 이 숫자의 합은 파일이나 폴더와 관련된 Chmod를 표시하는 것으로 나타났습니다. 예를 들어:

  • 7(rwx) = 4 + 2 +1(전체 권한)
  • 5 (r-x)= 4 + 0 + 1 (읽기 및 실행)
  • 6(rw-) = 4 + 2 + 0(읽기 및 쓰기)
  • 4 (r--) =4 + 0 + 0 (읽기 전용)
  • 등.

이 표는 디지털 방식으로 기록된 권한의 가능한 모든 조합을 보여줍니다.

이제 사용자 그룹과 관련된 숫자 표기의 다양한 조합을 살펴보겠습니다.

"소유자"

"그룹"

"나머지"

공연하다

공연하다

공연하다

귀하 자신(FTP를 통해 사이트에 액세스하는 경우 제외) 및 귀하의 리소스에 대한 다른 모든 방문자는 "단어" 그룹(다른 모든 사람)에 속하므로 웹 사이트에서 작업하려면 먼저 마지막(세 번째)을 살펴봐야 합니다. ) 이 항목의 숫자입니다.

사용자가 사이트에서 작업할 때 스크립트 파일이 "실행"되려면 "4"(r-- – 읽기 전용)(5,6,7)부터 시작하여 해당 파일에 대한 권한을 설정하면 충분합니다. 하지만 이는 보안 측면에서 중복됩니다.

이 스크립트 파일이 있는 디렉터리의 경우 최소값을 "5"(r-x - 디렉터리로 이동하여 내용을 읽을 수 있으며 삭제하거나 추가할 수 없음)로 설정해야 합니다. 7도 작동하지만 보안 측면에서 중복됩니다.

일부 데이터(예: 방문자가 입력한 데이터)를 읽을 뿐만 아니라 "쓰기"하는 스크립트가 필요한 경우 "폴더"에 대한 최소 권한은 여전히 ​​"5"이지만 "파일"에 대한 최소 권한은 "5"입니다. 이미 "6"(읽기 및 쓰기)이 필요합니다.

아마도 웹 사이트 엔진의 콘텐츠를 복사한 서버에서 다음 Chmod가 개체에 설치될 것입니다.

다음으로 구성된 리소스가 있는 경우 HTML 페이지, 그러면 우리는 모든 것을 그대로 둘 수 있습니다. 그러나 최신 사이트는 엔진을 기반으로 구축되었으며 "세계" 그룹(o(기타 모든 항목))의 방문자를 대신하여 작성해야 하는 개체가 있을 수 있습니다. 이는 페이지 캐싱에 사용되는 디렉토리이거나 사이트 작업 시 이미지 등이 로드되는 디렉토리일 수 있습니다.

FTP를 통해 사이트에 액세스하면 이러한 파일이나 디렉터리에 쓸 수 있다는 것은 말할 필요도 없지만 일반 사용자로 웹 인터페이스를 사용하면 문제가 발생할 수 있습니다. 따라서 특정 권리의 설정은 선택적으로 접근해야 합니다.

파일을 작성해야 하지만 정기적으로 지울 필요는 없는 모든 디렉토리에 대해

파일을 쓰고 삭제해야 하는 폴더(예: 캐시)

을 위한 단순 파일, 읽기 전용(.html, .php 등)

기록해야 할 수 있는 파일(예: .dat 데이터베이스 사용)

PHP를 사용하여 Chmod를 할당하는 방법

이 모든 것이 실제로 귀하의 웹사이트에 어떻게 구현될 수 있습니까? 원칙적으로 모든 것이 간단합니다. 액세스 권한을 할당하려면 다음을 수행할 수 있습니다.

그러나 Chmod를 파일로 변경할 수 없는 경우 PHP 도구를 사용하여 해당 파일을 할당해 볼 수 있습니다. 다음 코드를 사용할 수 있습니다.

file_name_x.php 및directory_name_x를 모드를 변경하려는 파일 및 폴더의 실제 이름으로 바꿔야 합니다. 따라서 파일의 경우 666으로 설정되고 디렉터리의 경우 - 777로 설정됩니다. 텍스트 메모장(권장)을 사용하여 이 PHP 코드를 파일에 배치하고 확장자 .php를 지정합니다(예: prava.php).

FTP를 통해 prava.php를 작동하지 않는 디렉토리에 복사하세요. 정규 수단액세스 권한을 할당합니다. 안에 주소 표시 줄브라우저에서 prava..php의 경로를 작성하고 "시작"을 누르거나 키보드에서 Enter를 누르십시오. 이제 PHP를 사용하여 권한이 완전히 변경됩니다.

Joomla의 경우 설치 직후 777을 다음 디렉터리로 설정할 수 있습니다.

관리자/백업/관리자/캐시/관리자/구성 요소/관리자/모듈/관리자/템플릿/캐시/ 구성 요소/이미지/이미지/배너/이미지/스토리/언어/언어/en-GB/언어/ru-RU/미디어/ 모듈/플러그인/플러그인/콘텐츠/플러그인/검색/플러그인/시스템/템플릿/

Joomla용 확장 기능을 모두 설치하고 최종 설정을 지정한 후에는 사이트 보안을 강화하기 위해 위 디렉터리 대부분에 Chmod가 적용됩니다. 755로 돌아가기. 캐시, 백업 및 사진이 포함된 디렉터리의 경우 777을 남겨 두어야 합니다.

sitemap.xml을 제외하고 사이트 루트에 위치한 엔진 파일의 경우 444(모든 방문자 그룹에 대해 읽기 전용)로 설정하는 것이 좋습니다. settings.php에서는 때로는 400으로 설정하는 것이 권장되기도 합니다.

SMF 및 WordPress 엔진의 개체에 대한 액세스 권한 설정과 관련하여 정확히 동일한 조언을 드릴 수 있습니다. 가능하다면 영구적으로 두는 것이 좋습니다. 디렉토리 755의 경우(위에 언급된 캐시, 사진, 백업 디렉터리 및 필요에 따라 기타 항목 제외) 파일 - 644.

사이트 루트의 파일에 444를 설정하는 것이 좋습니다.

사이트에서 작업할 때 일부 파일에 설정을 쓸 수 없거나 특정 종류의 디렉터리를 생성할 수 없는 문제가 발생하는 경우 일시적으로 해당 파일에 대해 더 큰 권한(예: 777)을 설정한 다음 모든 것을 반환할 수 있습니다. (안전을 위해) 돌아오세요. 그리고 어떤 상황에서도 남겨서는 안 된다(사이트 작업의 용이성을 위해) Chmod가 부당하게 부풀려졌습니다.

행운을 빕니다! 블로그 사이트 페이지에서 곧 뵙겠습니다.

당신은 관심이 있을 수도 있습니다

텍스트 인코딩 ASCII(Windows 1251, CP866, KOI8-R) 및 유니코드(UTF 8, 16, 32) - 크래커 문제를 해결하는 방법
OpenServer - 최신 로컬 서버컴퓨터에 WordPress를 설치하는 데 사용되는 예
URL 주소란 무엇이며, 사이트의 절대 링크와 상대 링크는 어떻게 다릅니까?
사이트 및 온라인 상점별 Yandex 검색
Yandex 및 Google용 xml 형식의 사이트맵 사이트맵 - Joomla 및 WordPress 또는 온라인 생성기에서 사이트맵을 만드는 방법

(파일 권한의 초기 값은 rwxrwxrwx - 모든 사용자에 대한 전체 액세스입니다.) 모든 사용자 및 그룹에 대한 파일 실행 권한 제거:

$chmod a-x 파일(rw-rw-rw-)

그룹 및 다른 사용자의 파일 쓰기를 취소하려면 다음을 수행하십시오.

$ chmod go-w 파일(rw-r–r–)

소유자별 파일 실행 권한:

$ chmod u+x 파일(rwxr–r–)

그룹에 파일 소유자와 동일한 권한 부여:

$ chmod g=u 파일(rwxrwxr–)

그룹 사용자 및 다른 사용자의 파일 읽기 및 쓰기를 취소합니다.

$ chmod go-rw 파일(rwx–x-)

절대 모드에서 chmod 명령을 사용하는 예

모든 사용자 및 그룹이 파일을 읽고, 쓰고, 실행할 수 있는 권한(모든 권한):

$ chmod 777 파일(rwxrwxrwx)

소유자, 그룹 및 기타 사용자에 대한 읽기 및 쓰기 권한을 설정합니다.

$ chmod 666 파일(rw-rw-rw-)

소유자에게는 전체 파일 액세스 권한을, 그룹 및 다른 사용자에게는 읽기 전용으로 설정:

$ chmod 744 파일(rwxr–r–)

파일 소유자에게 파일에 대한 전체 액세스 권한을 설정하고 그룹 및 다른 사용자에 대한 액세스를 거부합니다.

$ chmod 700 파일(rwx--)

파일 소유자에게는 읽기 및 쓰기 권한을 설정하고 그룹 및 기타 사용자에게는 읽기 전용 권한을 설정합니다.

$ chmod 644 파일(rw-r–r–)

파일 소유자와 그의 그룹에 대한 읽기 및 쓰기 권한을 설정하고 다른 사람의 액세스를 거부합니다.

$ chmod 640 파일(rw-r-–)

모든 사용자 및 그룹에 대한 읽기 권한으로 파일 액세스 설정:

$ chmod 444 파일(r–r–r–)

읽기, 쓰기, 소유자별 실행, 그룹별 및 기타 읽기, 실행에 대한 파일 권한:

$ chmod 755 파일(rwxr-xr-x)

사용자 및 다른 사람에게 파일에 대한 읽기 및 실행 액세스를 허용하고 그룹에 대한 액세스를 거부합니다.

$ chmod 505 파일(r-x-r-x)

현재 디렉터리의 모든 파일에 권한을 할당하려면 할당한 권한 뒤에 *(별표)를 붙이면 됩니다.

$chmod 755 *

이 명령을 실행하면 소유자는 현재 디렉터리의 모든 파일에 대한 모든 권한(읽기, 수정, 실행)을 갖게 되며, 그룹과 다른 사용자는 읽기 및 실행 권한만 갖게 됩니다. 작업을 재귀적으로 전파하려면(모든 하위 디렉터리 포함) -R 옵션을 사용하세요.

$ chmod -R 777 *

위 명령을 실행하면 현재 디렉터리의 모든 하위 디렉터리를 반복적으로 "탐색"하고 모든 사용자 및 그룹에 전체 액세스 권한을 할당하게 됩니다. 이 문서에서는 chmod 명령을 사용하는 방법에 대한 몇 가지 예를 다룹니다. Linux의 chmod 명령 및 권한에 대해 자세히 알아보려면 이 문서를 살펴보세요.

디렉터리에 대한 권한만 변경(재귀적으로)

$ 찾기 /path/to/base/dir -type d -exec chmod 755() +

$ chmod 755 $(find /path/to/base/dir -type d)

$ chmod 755 `find /path/to/base/dir -type d`

$ 찾기 /path/to/base/dir -type d -print0 | xargs -0 chmod 755

파일에 대한 권한만 변경(재귀적으로)

$ 찾기 /path/to/base/dir -type f -exec chmod 644() +

$ chmod 644 $(find /path/to/base/dir -type f)

$ chmod 0755 `find ./ -type f`

$ 찾기 /path/to/base/dir -type f -print0 | xargs -0 chmod 644

폴더 및 파일에 대한 Chmod 구문

정확히 무엇을 구성하고 어떻게 구성하는지 이해하기 위해 먼저 Chmod 문제의 본질을 이해해 보겠습니다. 그럼 시작해 보겠습니다. 액세스 권한은 파일용 Chmod와 디렉터리용 Chmod로 구분됩니다. 동일하게 지정되었지만 의미는 약간 다릅니다.

파일에 대한 액세스 권한(Chmod)은 다음과 같이 나뉩니다.

    r - 데이터를 읽을 수 있는 권한입니다.

    w - 내용을 변경할 수 있는 권한입니다(쓰기 - 내용만 변경하고 삭제할 수는 없음).

    x - 파일을 실행할 수 있는 권한입니다.

파일의 실행권한에 대해 자세히 살펴보겠습니다. 사실 Linux(Unix)에서는 모든 파일을 실행할 수 있습니다. 실행 가능 여부는 확장자에 따라 결정되지 않습니다(확장자의 개념은 파일에 없음). 유닉스 시스템) 및 액세스 권한 Chmod를 사용합니다. 파일에 "X" 권한(chmod x)이 있으면 해당 파일을 실행할 수 있다는 의미입니다.

이제 폴더(디렉토리)에 대한 액세스 권한(Chmod)에 대해 설명합니다.

    r - 디렉토리를 읽을 수 있는 권한(디렉토리의 내용을 읽을 수 있습니다. 즉, 디렉토리에 있는 개체 목록을 가져올 수 있습니다)

    w - 디렉토리의 내용을 변경할 수 있는 권한(이 디렉토리에서 객체를 생성 및 삭제할 수 있으며, 쓰기 권한이 있는 경우 자신에게 속하지 않은 파일도 삭제할 수 있음)

    x - 디렉토리에 들어갈 수 있는 권한(이 권한은 항상 먼저 확인되며, 디렉토리 체인 깊숙이 묻혀 있는 개체에 대해 필요한 모든 권한을 가지고 있더라도 "X" 권한은 없습니다. 이 파일 경로에 있는 하나 이상의 디렉터리에 액세스하면 절대로 해당 파일에 접근할 수 없습니다.)

안에 리눅스 시스템(Unix) 이러한 모든 권한은 컴퓨터의 기본 관리자가 배포하며, 비밀번호를 입력하여 액세스할 수 있습니다. 그리고 대부분의 개체에 읽기 전용 액세스 권한(Chmod)이 있는 경우 바이러스는 해당 컴퓨터에서 사실상 아무 관련이 없습니다. 그들은 거기에 글을 쓸 수도 없고 성취될 수도 없을 것입니다. 이것이 바로 우리 사이트의 개체에 대한 액세스 권한(Chmod)을 설정하여 달성해야 하는 결과입니다.

사용자 그룹에 대한 Chmod 구문

액세스 권한 자체(Chmod)는 개체에 액세스하는 사람에 따라 세 가지 범주로 나뉩니다.

    “user” - u(파일의 직접적인 소유자)

    "그룹" - g(소유자와 동일한 그룹의 구성원)

    "세계" - o (기타 모든 것)

서버는 귀하가 서버에 연결할 때 귀하를 할당할 사용자 그룹을 결정합니다. 예를 들어 FTP를 통해 서버에 연결하는 경우 사용자 이름(및 비밀번호)으로 로그인하면 서버가 사용자를 "사용자"("u)" 그룹에 할당합니다. FTP를 통해 서버에 연결하는 다른 사용자는 "그룹"("g") 그룹에 할당되고, 브라우저를 사용하여 사이트를 방문하는 사용자는 "world"("o") 그룹에 할당됩니다. .

세 가지 범주 "u", "g" 및 "o"에 대한 세 가지 가능한 값 "r", "w" 및 "x"의 변형에 따라 파일에 대한 Chmod가 결정됩니다. 카테고리를 지정하지 않은 경우 하이픈 "-"으로 대체됩니다. 액세스 권한(Chmod)은 지정된 순서에 따라 순차적으로 지정됩니다.

    먼저 소유자의 권리 - "u"

    그런 다음 그룹의 경우 - "g"

    그리고 다른 모든 사람들을 위한 오른쪽 끝에 - "o"

서버가 사용자를 특정 그룹에 할당한 후 개체에 대해 작업할 수 있는 권한을 부여합니다. 그 후 사용자는 파일을 읽고, 쓰고, 실행할 수 있습니다(그의 그룹이 이 개체로 수행할 수 있는 작업에 따라 다름). 폴더의 내용을 보려면 "r" 읽기 속성(서버가 사용자에게 할당한 그룹의 경우)이 있어야 합니다. 기존 파일이나 폴더에 파일이나 폴더를 만들려면 "w" 항목에 Chmod 특성이 있어야 합니다.

명확성을 위해 파일 소유자(“사용자” - “u”)가 모든 권한을 갖는 예를 살펴보겠습니다. 즉, 읽고, 쓰고, 실행할 수 있는 권한이 있고, 다른 모든 사용자는 읽을 수 있는 권한만 있습니다. 이러한 Chmod 항목은 "rwx r-- r--"과 같습니다. 자세히 살펴보겠습니다. "rwx"(이 레코드는 소유자인 "u"에 대한 개체에 대한 권한을 지정합니다. - "u"), "r--"(이 레코드는 동일한 개체에 대한 권한을 지정하지만 사용자가 할당된 경우 서버에서 그룹 - "g "), "r--"(이 항목은 다른 모든 사용자의 개체에 대한 권한을 지정합니다 - o").

Chmod 파일과 폴더의 차이점은 무엇입니까

아무것도 할 수 없어

디렉터리 및 하위 디렉터리에 대한 액세스가 거부되었습니다.

콘텐츠를 보고 변경할 수 있습니다.

폴더 파일을 추가, 삭제, 변경할 수 있습니다.

파일이 바이너리인 경우 실행

사용자는 자신이 알고 있는 바이너리 파일을 실행할 수 있지만 디렉터리에 들어가거나 읽을 수는 없습니다.

숫자로 표현된 Chmod 구문(777)

여기서 라틴 문자와 하이픈을 사용하는 항목은 액세스 권한을 설명하는 데 사용되지만 Chmod는 일반적으로 잘 알려진 조합인 Chmod 777과 같이 일반적으로 디지털 형식으로 지정된다는 사실을 이미 접했을 것입니다. 모두에게. 실제로 액세스 권한(Chmod)도 숫자로 표시됩니다.

    w(레코드)는 2로 대체됩니다.

    x(실행)는 1로 대체됩니다.

0은 아무것도 하지 않음을 의미합니다(알파벳 표기법에서 하이픈으로 표시됨). 제가 조금 더 일찍 제공한 액세스 권한 작성 예제인 rwx r-- r--로 돌아가겠습니다. 방금 설명한 규칙에 따라 문자와 하이픈을 숫자로 대체하고 동시에 각 트리플의 숫자를 더하면 이 항목의 디지털 형식인 ​​744를 얻게 됩니다. 이 숫자의 합은 파일이나 폴더에 대한 Chmod를 표시하는 것으로 나타났습니다. 예를 들어:

    7(rwx) = 4 + 2 +1(전체 권한)

    5 (r-x)= 4 + 0 + 1 (읽기 및 실행)

    6(rw-) = 4 + 2 + 0(읽기 및 쓰기)

    4 (r--) =4 + 0 + 0 (읽기 전용)

이 표는 디지털 방식으로 작성된 가능한 모든 Chmod 조합을 보여줍니다.

이제 사용자 그룹과 관련하여 다양한 Chmod 조합을 숫자로 살펴보겠습니다.

""소유자""

""그룹""

""나머지""

공연하다

공연하다

공연하다

귀하 자신(FTP를 통해 사이트에 액세스하는 경우 제외) 및 귀하 사이트의 다른 모든 방문자는 "단어" 그룹(다른 모든 사람)에 속하므로 웹사이트 작업을 하려면 먼저 마지막(세 번째) 그룹을 살펴봐야 합니다. ) Chmod 번호. 사용자가 사이트에서 작업할 때 스크립트가 "파일을 실행"하려면 "4"(r-- – 읽기 전용)부터 시작하여 해당 사이트에 대한 액세스 권한(Chmod)을 설정하면 충분합니다. 5,6,7도 적합하지만 보안 측면에서 불필요합니다.

이 스크립트 파일이 있는 "폴더"의 경우 최소값을 "5"로 설정해야 합니다(r-x - 폴더로 이동하여 해당 내용을 읽을 수 있으며 삭제하거나 추가할 수 없습니다). 7도 작동하지만 보안 측면에서 중복됩니다. 일부 데이터(예: 사용자가 입력한 것)를 읽을 뿐만 아니라 "쓰기"하는 스크립트가 필요한 경우 "폴더"에 대한 최소 권한은 여전히 ​​"5"이지만 "파일"에 대한 최소 권한은 "5"입니다. 이미 "6" "(읽기 및 쓰기) 권한이 필요합니다.

아마도 웹 사이트 엔진의 콘텐츠를 복사한 서버에서 다음 Chmod가 개체에 설치될 것입니다.

폴더 755

소유자(사용자)는 모든 작업을 수행할 수 있고 그룹 및 기타 모든 사람은 폴더를 읽고 입력할 수만 있지만 디렉터리에서 파일 쓰기, 이름 변경 및 삭제는 금지됩니다. (rwxr-xr-x)

파일 644

HTML로만 구성된 웹사이트가 있다면 모든 것을 그대로 놔둘 수 있습니다. 그러나 최신 사이트는 엔진을 기반으로 구축되었으며 "세계" 그룹(o(기타 모든 항목))의 사용자를 대신하여 작성해야 하는 개체가 있을 수 있습니다. 이는 페이지 캐싱에 사용되는 폴더이거나 사이트 작업 시 사진 등이 로드되는 폴더일 수 있습니다. FTP를 통해 사이트에 액세스하는 경우 이러한 파일이나 폴더에 항목을 생성할 수 있다는 것은 말할 필요도 없습니다. 하지만 일반 사용자로서 웹사이트 인터페이스를 사용하면 문제가 발생할 수 있습니다. 따라서 특정 Chmod 설치는 선택적으로 접근해야 합니다.

chmod 명령은 파일이나 디렉터리의 권한을 변경하는 데 사용됩니다.

Linux 및 기타 Unix 계열에서 운영체제각 파일에는 해당 파일에 액세스할 수 있는 사람과 방법을 결정하는 일련의 규칙이 있습니다. 이러한 규칙을 파일 권한 또는 파일 모드라고 합니다. 명령 이름 chmod는 "모드 변경"을 의미하며 파일에 액세스하는 방법을 결정하는 데 사용됩니다.

안에 일반적인 견해 chmod 명령은 다음과 같습니다:

chmod 권한 옵션 파일 이름

만약에 옵션지정되지 않은 경우 chmod는 지정된 파일의 권한을 변경합니다. 파일 이름, 다음에 지정된 권한에 대해 권한.

권한파일 소유자("사용자"), 파일을 소유한 그룹 구성원("그룹") 및 기타 모든 사람("기타")에 대한 액세스 권한을 정의합니다. 이러한 권한을 표시하는 방법에는 기호(영숫자 문자) 또는 8진수(숫자 0~7)를 사용하는 두 가지 방법이 있습니다.

귀하가 myfile이라는 파일의 소유자이고 해당 권한을 다음과 같이 설정한다고 가정해 보겠습니다.

  1. 사용자 ( ser)는 읽을 수 있습니다( 아르 자형 ead), 쓰기 ( 의례) 및 실행( 엑스 ecute) 그 사람;
  2. 그룹 구성원( g그룹)은 ( 아르 자형 ead) 및 실행( 엑스 ecute) 그 사람;
  3. 뿐만 아니라 다른 사람들 ( 영형 thers)는 읽기만 가능합니다( 아르 자형에드) 그 사람.

이 명령은 다음과 같습니다:

chmod u=rwx,g=rx,o=r myfile

이 예에서는 기호 권한 표기법을 사용합니다. u, g, o 문자는 "사용자", "그룹" 및 "기타"를 나타냅니다. 등호("=")는 "권한을 이런 식으로 설정"을 의미하고 문자 "r", "w", "x"는 각각 "읽기", "쓰기", "실행"을 의미합니다. 쉼표는 다양한 권한 클래스를 구분하며 그 사이에는 공백이 없습니다.

다음은 8진수 권한 표기법을 사용하는 동등한 명령입니다.

chmod 754 마이파일

여기서 숫자 7, 5, 4는 각각 사용자, 그룹, 기타 순서대로 개별적으로 권한을 나타냅니다. 각 숫자는 숫자 4, 2, 1 및 0의 조합입니다.

  • 4는 "읽다"를 의미합니다.
  • 2는 "쓰기"를 의미합니다.
  • 1은 "실행"을 의미합니다.
  • 0은 "권한 없음"을 의미합니다.

따라서 7은 권한 4 + 2 + 1(읽기, 쓰기 및 실행), 5는 4 + 0 + 1(읽기, 쓰기 없음, 실행), 4는 4 + 0 + 0(읽기, 없음)의 조합입니다. 쓰기만 하고 실행은 하지 않음).

chmod 구문

chmod ... 모드[,MODE]... 파일... chmod ... 8진 모드 파일... chmod ... --reference=RFILE 파일...

chmod 옵션

-씨, --변경--verbose와 비슷하지만 실제로 변경이 이루어진 경우에만 자세한 출력을 생성합니다.

-에프, --조용한, --조용한무음 모드; 대부분의 오류 메시지를 억제합니다.

-V, --말 수가 많은상세 모드; 처리된 각 파일에 대한 진단 메시지를 표시합니다.

--보존하지 않는 루트기본 설정인 "/"(루트 디렉터리)를 특별한 방식으로 처리하지 마세요.

--보존 루트"/"에 대해 재귀적으로 작업하지 마세요.

--참조=RFILE지정된 MODE를 무시하고 RFILE 파일의 권한과 일치하도록 권한을 설정합니다.

-아르 자형, --재귀적파일과 디렉터리를 재귀적으로 변경합니다.

--돕다도움말 메시지를 표시하고 종료합니다.

--버전버전 정보를 인쇄하고 종료합니다.

기술적 설명

chmod는 MODE에 따라 지정된 각 FILE의 파일 모드를 변경합니다. MODE는 변경 내용을 기호로 표현하거나 새 모드 비트에 대한 비트 패턴을 나타내는 8진수일 수 있습니다.

기호 모드 형식:

[[+-=]...]

여기서 perms는 r, w, x, X, s 및 t 세트의 0개 이상의 문자이거나 u, g 및 o 세트의 문자 1개입니다. 여러 문자 모드를 쉼표로 구분하여 지정할 수 있습니다.

파일에 대한 사용자 액세스를 변경하는 문자 u, g, o와 컨트롤의 조합: 해당 파일을 소유한 사용자(u), 파일 그룹의 다른 사용자(g), 파일 그룹에 속하지 않은 다른 사용자(o) 또는 모든 사용자(a). 이 중 아무것도 지정되지 않으면 a가 지정된 것과 같은 효과가 있지만 umask에 설정된 비트는 영향을 받지 않습니다.

(+) 연산자를 사용하면 선택한 파일 모드 비트가 각 파일의 기존 파일 모드 비트에 추가됩니다. "-"를 사용하면 삭제됩니다. 및 "="를 사용하면 해당 비트가 추가되고 언급되지 않은 비트가 제거됩니다. 단, 변경할 수 없는 사용자 설정 디렉터리 비트와 그룹 ID는 영향을 받지 않습니다.

문자 r, w, x, X, s 및 t는 영향을 받는 사용자에 대한 파일 모드 비트를 선택합니다. 즉, 읽기(r), 쓰기(w), 실행(x), 파일이 디렉터리이거나 이미 다음 권한이 있는 경우에만 실행됩니다. 일부 사용자(X)에 대한 실행 실행 시 사용자 또는 그룹 ID, 제한된 삭제 플래그 또는 고정 비트(t)를 설정합니다. 디렉터리의 경우 X 및 X 런타임 매개변수는 디렉터리 내용을 볼 수 있는 권한을 결정합니다.

이러한 문자 중 하나 이상 대신 u, g 또는 o 문자 중 하나를 지정할 수 있습니다. 파일을 소유한 사용자에게 부여된 권한(u), 파일 그룹의 구성원인 다른 사용자에게 부여된 권한(g) ) 및 사용자에게 부여된 권한은 이전 두 범주(o) 중 하나에 속하지 않습니다.

숫자 모드 - 값 4, 2, 1이 포함된 비트를 추가하여 얻은 1~4개의 8진수(0-7). 누락된 숫자는 선행 0으로 간주됩니다. 첫 번째 숫자는 지정된 사용자 ID(4), 지정된 그룹 ID(2) 및 제한된 삭제 또는 고정 속성(1)을 선택합니다. 두 번째 숫자는 읽기(4), 쓰기(2) 및 실행(1) 작업을 소유한 사용자의 액세스 권한을 선택합니다. 세 번째는 동일한 값을 가진 파일 그룹의 다른 사용자에 대한 액세스 권한을 선택합니다. 네 번째는 파일 그룹에 속하지 않은 다른 사용자에 대한 것이며 동일한 값을 갖습니다.

chmod는 심볼릭 링크의 권한을 변경하지 않습니다. chmod 시스템 호출은 권한을 변경할 수 없습니다. 그러나 심볼릭 링크 권한은 전혀 사용되지 않으므로 이는 문제가 되지 않습니다. 그러나 명령줄에 지정된 각 기호 링크에 대해 chmod는 권한을 다음으로 변경합니다. 지정된 파일. 대조적으로, chmod는 재귀적 디렉토리 탐색 중에 발견된 기호 링크를 무시합니다.

Setuid 및 Setgid 비트

chmod는 사용자에게 적절한 권한이 없는 경우 파일의 그룹 ID가 사용자의 유효 그룹 ID 또는 사용자의 보조 그룹 ID 중 하나와 일치하지 않는 경우 일반 파일의 set-group-ID 비트를 지웁니다. 추가 제한으로 인해 MODE 또는 RFILE의 set-user-ID 및 set-group-ID 비트가 무시될 수 있습니다. 이 동작은 기본 chmod 시스템 호출의 정책과 기능에 따라 달라집니다. 의심스러운 경우 시스템 동작을 확인하십시오.

chmod는 별도로 지정하지 않는 한 디렉토리의 set-user-ID 및 set-group-ID 비트를 유지합니다. u+s 및 g-s와 같은 기호 모드를 사용하여 비트를 설정하거나 지울 수 있으며 숫자 모드를 사용하여 비트를 설정할 수 있지만 지울 수는 없습니다.

제한된 제거 플래그(또는 "고정 비트")

제한된 삭제 플래그 또는 고정 비트는 파일 유형에 따라 해석이 달라지는 단일 비트입니다. 이렇게 하면 파일이나 디렉터리를 소유하지 않은 사용자가 디렉터리에 있는 파일을 삭제하거나 이름을 바꾸는 것을 방지할 수 있습니다. 이는 제한된 디렉터리 삭제 플래그라고 하며 일반적으로 /tmp와 같은 누구나 쓸 수 있는 디렉터리에서 찾을 수 있습니다. 일부 이전 시스템의 일반 파일의 경우 이 비트는 텍스트 이미지스왑 장치에 프로그램을 설치하여 시작 시 더 빠르게 로드됩니다. 이것을 끈적한 비트라고 합니다.

파일 권한을 보는 방법

파일 권한을 나열하는 빠르고 쉬운 방법은 ls 명령의 longlist(-l) 옵션을 사용하는 것입니다. 예를 들어 file.txt에 대한 권한을 보려면 다음 명령을 사용할 수 있습니다.

Ls -l 파일.txt

다음과 같은 출력이 표시됩니다.

chmod 사용 예

chmod 644 파일.htm

file.htm 파일에 대한 권한을 "소유자는 읽고 쓸 수 있습니다."로 설정합니다. 그룹은 읽기만 할 수 있습니다. 다른 사람들은 읽기만 할 수 있어요.”

Chmod -R 755 마이파일

재귀적으로(-R) myfiles 디렉터리와 모든 해당 폴더 및 파일에 대한 권한을 모드 755로 변경합니다. 사용자는 읽고, 쓰고, 실행할 수 있습니다. 그룹 구성원과 다른 사용자는 읽고 실행할 수 있지만 쓸 수는 없습니다.

Chmod u=rw example.jpg

소유자가 파일을 읽고 쓸 수 있도록 example.jpg 소유자의 권한을 변경합니다. 그룹이나 다른 사람의 권한을 변경하지 않습니다.

Chmod u+s comphope.txt

comphope.txt 파일의 "Set-User-ID" 비트를 설정하여 이 파일에 액세스하려는 사람은 누구나 해당 파일의 소유자인 것처럼 액세스할 수 있습니다.

Chmod u-s comphope.txt

위 명령의 반대입니다. SUID 비트를 지웁니다.

Chmod 755 파일.cgi

file.cgi에 대한 권한을 "소유자에 의한 읽기, 쓰기 및 실행"과 "그룹 및 기타 모든 사람에 의한 읽기 및 실행"으로 설정합니다.

Chmod 666 파일.txt

file.txt의 권한을 "모두 읽기/쓰기"로 설정합니다.

Chmod a=rw file.txt

기호 표기법을 사용하여 위 명령과 동일한 작업을 수행합니다.

관련 명령

chown- 파일이나 디렉터리의 소유자를 변경합니다.
getfacl- 파일 액세스 제어 목록을 표시합니다.
ㅋㅋㅋ- 디렉토리의 내용 목록입니다.