Linux 파일 사용 권한

Linux 파일 권한 – 1.0

Linux에서의 파일 소유권 및 사용 권한의 기본 사항. 파일이나 디렉토리의 소유자, 파일 사용 권한의 작동 방식 및보기 방법을 배우고 기본 파일 사용 권한을 직접 설정하는 방법에 대해 알아보십시오.

권한 및 소유권 – 그 이유는 무엇입니까? >

자신의 Linux 시스템에서 일부 파일에 액세스 할 수없는 경우 일반적으로 잘못 구성된 파일 액세스 권한 때문입니다. 당신이 당신의 리눅스 박스의 유일한 사용자라면, 당신 자신의 펭귄 OS에 대한 당신의 접근을 제한하는 이러한 모든 권한 (또는 권한 부족)을 갖는 이유가 무엇인지 궁금 할 것입니다. 그러나 머리를 떼기 전에 Linux는 다중 사용자 환경으로 설계되었음을 염두에 두어야합니다. 두 명 이상의 사용자가있는 환경에서는 어떤 파일이 귀하의 것이고 누가 그 파일을 조작 할 수 있는지를 결정하기위한 보안 시스템을 갖추는 것이 중요합니다.

일반 데스크톱 시스템의 유일한 사용자 인 경우에도 파일 권한은 외부인과 자신의 실수로부터 중요한 파일을 안전하게 유지하는 데 도움이됩니다. 🙂

 

파일 소유권 이해하기 >

디렉토리를 포함하여 Linux 시스템의 모든 파일은 특정 사용자 및 그룹이 소유합니다. 따라서 파일 사용 권한은 사용자, 그룹 및 기타 사용자에 대해 별도로 정의됩니다.

사용자 : 파일을 소유 한 사람의 사용자 이름입니다. 기본적으로 파일을 만드는 사용자는 해당 소유자가됩니다.

그룹 : 파일을 소유 한 사용자 그룹입니다. 파일을 소유 한 그룹에 속한 모든 사용자는 파일에 대해 동일한 액세스 권한을 갖습니다. 예를 들어 다른 사용자는 액세스 할 수 없지만 특정 파일에 액세스하려면 여러 사용자가 필요한 프로젝트가있는 경우 유용합니다. 이 경우 모든 사용자를 동일한 그룹에 추가하고 필요한 파일이 해당 그룹의 소유인지 확인하고 그에 따라 파일의 그룹 권한을 설정합니다.

다른: 파일의 소유자가 아니며 파일과 동일한 그룹에 속하지 않는 사용자입니다. 즉, "기타"범주에 대한 권한을 설정하면 기본적으로 다른 모든 사람에게 영향을줍니다. 이러한 이유로 사람들은 "기타"에 대한 권한 설정을 의미 할 때 "세계"권한 비트 설정에 대해 자주 이야기합니다.

 

파일 사용 권한 이해 >

Linux에는 읽기, 쓰기 및 실행의 세 가지 유형의 액세스 권한이 있습니다. 이러한 권한은 파일의 소유자, 그룹 및 기타 모든 사용자에 대해 별도로 정의됩니다.

읽기 권한. 일반 파일에서 읽기 권한 비트는 파일을 열고 읽을 수 있음을 의미합니다. 디렉토리에서 읽기 권한은 디렉토리 내용을 나열 할 수 있음을 의미합니다.

쓰기 권한. 일반 파일에서 이것은 파일을 수정할 수 있음을 의미합니다. 즉, 파일에 새 데이터를 쓸 수 있습니다. 디렉토리의 경우 쓰기 권한은 디렉토리에서 파일을 추가, 제거 및 이름을 바꿀 수 있음을 의미합니다. 즉, 파일에 쓰기 권한 비트가있는 경우 파일 내용을 수정할 수 있지만 파일의 권한이있는 경우에만 파일 이름을 바꾸거나 삭제할 수 있습니다. 예배 규칙서 그렇게하도록하십시오.

사용 권한을 실행하십시오. 일반 파일의 경우 파일을 프로그램 또는 쉘 스크립트로 실행할 수 있습니다. 디렉토리에서 실행 권한 ( "검색 비트"라고도 함)을 사용하면 디렉토리의 파일에 액세스하고 입력 할 수 있습니다. cd 예를 들어 명령. 그러나 실행 비트를 사용하면 디렉토리에 들어갈 수 있지만 해당 디렉토리에 대한 읽기 권한이없는 경우 내용을 나열 할 수 없습니다.

 

파일 사용 권한을 보는 방법 >

긴 디렉토리 목록을 작성하여 파일의 액세스 권한을 볼 수 있습니다. ls -l 명령. 다음과 같이 긴 디렉토리 목록이 표시됩니다.

me@puter: /home/writers$ ls -l
total 17
drwxr-xr-x 3 nana writers 80 2005-09-20 21:37 dir
-rw-r----- 1 nana writers 8187 2005-09-19 13:35 file
-rwxr-xr-x 1 nana writers 10348 2005-07-17 20:31 otherfile

무엇의 출력을합니까 ls -l 평균? 멍청한 점보처럼 보이는 첫 번째 열은 파일 유형과 권한을 보여줍니다. 두 번째 열에는 링크 (파일을 참조하는 디렉토리 항목) 수, 세 번째 열은 파일 소유자, 네 번째 열에는 파일이 속한 그룹이 표시됩니다. 다른 열에는 파일 크기 (바이트), 마지막 수정 날짜 및 시간, 파일 이름이 표시됩니다.

첫 번째 열은 파일의 권한을 보여주고 멍청한 점보처럼 보이는 열은 XNUMX 개의 개별 그룹으로 구성되어 있지만 확실히 구성되어 있지는 않습니다.

첫 번째 그룹은 하나의 문자로만 구성되며 파일 유형을 표시합니다. 예를 들면 d 디렉토리를 의미하며 - 일반 파일을 의미하므로 예제 출력을 살펴보면 dir 디렉토리이고, file 과 otherfile 정규 파일입니다.

첫 번째 문자는 다음 중 하나 일 수 있습니다.

d = 디렉토리
- = 정규 파일
l = 심볼릭 링크
s = Unix 도메인 소켓
p = 명명 된 파이프
c = 문자 장치 파일
b = 장치 파일 차단

다음 XNUMX 개의 문자는 각각 XNUMX 개의 문자로 구성된 XNUMX 개의 그룹으로 나누어 진 파일의 권한을 보여줍니다. 세 문자의 첫 번째 그룹은 다음에 대한 읽기, 쓰기 및 실행 권한을 보여줍니다. 사용자, 파일의 소유자. 다음 그룹은 다음에 대한 읽기, 쓰기 및 실행 권한을 보여줍니다. 그룹 파일의 마찬가지로 세 글자의 마지막 그룹은 other, 다른 사람들. 각 그룹에서 첫 번째 문자는 읽기 권한, 두 번째 쓰기 권한 및 세 번째 권한을 의미합니다.

캐릭터는 기억하기 쉽습니다.

r = 읽기 권한
w = 쓰기 권한
x = 실행 권한
- = 권한 없음

이것은 실제로 무엇을 의미합니까? 예를 들어 보겠습니다. 우리가 처음에했던 가상의 디렉토리 목록을 기억하십니까? 출력은 다음과 같습니다.

drwxr-xr-x 3 nana writers 80 2005-09-20 21:37 dir
-rw-r----- 1 nana writers 8187 2005-09-19 13:35 file
-rwxr-xr-x 1 nana writers 10348 2005-07-17 20:31 otherfile

우리가 이미 알아 차 렸던 것처럼, dir 첫 번째 열은 a로 시작하기 때문에 디렉토리입니다. d. 이 디렉토리의 소유자는 user입니다. nana 그룹 소유자는 writers. 처음 세 글자, rwx, 디렉토리 소유자를 나타냅니다. nana 이 경우 디렉토리에 대한 전체 액세스 권한이 있습니다. 사용자 nana 해당 디렉토리의 파일을 액세스,보기 및 수정할 수 있습니다. 다음 세 글자, r-x, 그룹에 속한 모든 사용자 writers 디렉토리에 대한 읽기 및 실행 권한이 있어야합니다. 디렉토리로 변경하고 파일을 실행하고 그 내용을 볼 수 있습니다. 그러나 쓰기 권한이 없기 때문에 디렉터리 콘텐츠를 변경할 수 없습니다. 마지막으로 마지막 세 문자, r-x, 표시되지 않은 모든 사용자가 nana 또는 그룹에 속하지 않습니다 writers, 디렉토리에서 읽기 및 실행 권한을가집니다.

어때요 file? 첫 번째 열은 -파일은 사용자가 소유 한 일반 파일입니다. nana 및 그룹 writers이 예의 디렉토리와 같습니다. 처음 세 글자, rw-소유자가 파일에 대한 읽기 및 쓰기 액세스 권한이 있음을 나타냅니다. 다음 3 명의 특성에 따르면, r--, 그룹에 속한 사용자 writers 파일을 볼 수는 있지만 수정하거나 실행할 수는 없습니다. 마지막 세 글자, ---아무도 파일에 대한 액세스 권한이 없음을 나타냅니다.

비슷하게 볼 수 있습니다. otherfile 일반 파일이며 소유자는 파일에 대한 모든 액세스 권한을 가지고 있지만 다른 모든 사용자는 파일을 읽고 실행할 수 있지만 수정 할 수는 없습니다.

 

파일 권한 설정 방법 – 기호 모드 >

파일 사용 권한을 chmod 명령. 루트 사용자와 파일 소유자 모두 파일 권한을 설정할 수 있습니다. chmod 기호와 숫자의 두 가지 모드가 있습니다.

기호 모드는 기억하기 매우 쉽습니다. 먼저 사용자 (u), 그룹 (g), 기타 (o) 또는 세 가지 (a) 모두에 대한 권한을 설정할지 여부를 결정합니다. 그런 다음 권한을 추가 (+)하거나 제거 (-)하거나 이전 권한을 지우고 새 권한을 추가 (=)합니다. 다음으로 읽기 권한 (r), 쓰기 권한 (w) 또는 실행 권한 (x)을 설정합니다. 마지막으로 chmod 변경하려는 파일의 권한.

몇 가지 예를 들어 보겠습니다. 다음과 같은 일반 파일이 있다고 가정합니다. testfile, 파일에는 모든 그룹에 대한 전체 액세스 권한이 있습니다 (긴 디렉토리 목록에는 -rwxrwxrwx 파일의 권한으로).

모든 권한을 지우지 만 모두에게 읽기 권한을 추가하십시오.
chmod a=r testfile
명령 후 파일의 권한은 다음과 같습니다. -r--r--r--

그룹에 대한 실행 권한을 추가합니다.
chmod g+x testfile
이제 파일의 권한은 -r--r-xr--

파일 소유자에 대한 쓰기 및 실행 권한을 모두 추가하십시오. 동시에 둘 이상의 권한을 설정하는 방법에 유의하십시오.
chmod u+wx testfile
이 후, 파일 권한은 -rwxr-xr--

파일의 소유자와 그룹 모두에서 실행 권한을 제거하십시오. 다시 한 번 두 가지를 동시에 설정하는 방법에 유의하십시오.
chmod ug-x testfile
이제 사용 권한은 -rw-r--r--

요약하면 기호 모드에서 파일 권한을 설정하는 방법에 대한 빠른 참조를 살펴보십시오.

어느 사용자입니까?
u 사용자 / 소유자
g 그룹
o other
a 모든
무엇을해야 하는가?
+ 이 권한을 추가하십시오.
- 이 허가를 제거하십시오
= 이 권한을 정확하게 설정하십시오.
어떤 권한?
r 읽기
w 쓰다
x 실행

 

파일 권한 설정 방법 – 숫자 모드 >

다른 모드에서는 chmod 숫자 모드를 사용할 수 있습니다. 숫자 모드에서 파일 권한은 문자로 표시되지 않습니다. 대신 세 자리 XNUMX 진수로 표시됩니다.

= 판독 (r)
2 = 쓰기 (w)
1 = 실행 (x)
0 = 권한 없음 (-)

원하는 권한 비트를 얻으려면 그에 따라 숫자를 더합니다. 예를 들어, rwx 권한은 4 + 2 + 1 = 7, rx는 4 + 1 = 5, rw는 4 + 2 = 6입니다. 소유자, 그룹 및 다른 사용자에 대해 별도의 권한을 설정하기 때문에 이러한 모든 그룹의 권한을 나타내는 세 자리 숫자가 필요합니다.

예를 들어 보겠습니다.
chmod 755 testfile
이것은 testfile의 권한 -rwxr-xr-x. 소유자는 전체 읽기, 쓰기 및 실행 권한 (7 = 4 + 2 + 1)을 가지며 그룹은 읽기 및 실행 권한 (5 = 4 + 1)을 가지며 세계는 읽기 및 실행 권한도 가지게됩니다 .

다른 예를 보겠습니다.
chmod 640 testfile
이 경우, testfile의 권한은 -rw-r-----. 소유자는 읽기 및 쓰기 권한 (6 = 4 + 2), 그룹은 읽기 권한 만 (4), 다른 그룹은 액세스 권한 (0)을 갖지 않습니다.

숫자 모드는 기호식 모드만큼 쉽지는 않지만 숫자 모드를 사용하면 파일 권한을보다 빠르고 효율적으로 설정할 수 있습니다. 숫자 모드로 파일 사용 권한을 설정하는이 빠른 참조는 다음과 같이 도움이 될 수 있습니다.

어느 번호 요?
0 -
1 -엑스
2 -w-
3 -wx
4 아르 자형-
5 rx
6 rw-
7 rwx