파일 시스템을 사용 권한 및 특성을 조절하는 수준의 상호 작용하는 시스템 프로세스할 수 있으로 파일과 디렉터리입니다.
권한 보기
를 사용하여 ls 명령의-l
을 볼 수있는 옵션이 사용 권한(또는 파일 모드)설정한 디렉터리 내용 예를 들어,
$ls-l/path/to/directory
첫 번째 열은 우리가 무엇에 집중해야합니다., Taking an example value of drwxrwxrwx+
, the meaning of each character is explained in the following tables:
d |
rwx |
rwx |
rwx |
+ |
The file type, technically not part of its permissions. See info ls -n "What information is listed" for an explanation of the possible values., |
소유자가 파일을 통해 가지고있는 권한은 아래에 설명되어 있습니다. | 그룹이 파일을 통해 가지고있는 권한은 아래에 설명되어 있습니다. | 다른 모든 사용자가 파일을 통해 가지고있는 권한은 아래에 설명되어 있습니다. | 대체 액세스 메서드가 파일에 적용되는지 여부를 지정하는 단일 문자입니다. 이 문자가 공백 일 때 대체 액세스 방법이 없습니다. A. 문자는 보안 컨텍스트가있는 파일을 나타내지 만 다른 대체 액세스 방법은 없습니다., 파일 다른 조합의 다른 접근 방법으로 표시된+ 문자,예를 들어의 경우 액세스 제어 목록이 있습니다., |
세 개의 각 권한이 화음(rwx
위의 예에서)을 만들 수 있습니다 다음 문자:
Character | 파일에 영향 | 에 효과 디렉터리 | |
---|---|---|---|
읽는 권한이(첫 번째 문자) | - |
파일을 읽을 수 없습니다., | 디렉토리의 내용을 표시 할 수 없습니다. |
r |
파일을 읽을 수 있습니다. | 디렉토리의 내용을 표시 할 수 있습니다. | |
쓰기 권한이(두 번째 문자) | - |
파일을 수정할 수 없습니다. | 디렉토리의 내용을 수정할 수 없습니다. |
w |
파일을 수정할 수 있습니다., | 디렉토리의 내용을 수정할 수 있습(새로 생성한 파일 또는 폴더 이름 변경 또는 삭제를 하고 기존 파일 또는 폴더);필요로 실행 권한을 설정할 수도 있는 그렇지 않으면 이 사용 권한 효과가 없습니다. | |
실행하는 허가(제자) | - |
파일을 실행할 수 없습니다. | cd 로 디렉토리에 액세스할 수 없습니다. |
x |
파일을 실행할 수 있습니다., | 디렉토리로 액세스 할 수 있습 cd;이 허가는 비트에서 연습할 수 있으로 간주됩”,”상속에서 상위 디렉토리에서 사실은 어떤 경우 폴더에 있는 경로가 있지 않x 비트가 설정된 최종 파일 또는 폴더에 액세스할 수 없거나,관계없이 사용 권한 참조하(7)더 많은 정보를 얻을 수 있습니다., |
|
s |
setuid 비트를 발견했을 때에 사용자는 인조;setgid 비트를 발견했을 때에는 인조 그룹,그것은에서 발견되지 않는 다른 사람이 화음;또한 그것이 의미하는x 설정한다. |
||
S |
과 같은s 지만,x 설정하지 않;드문에 일반 파일이고,쓸모없는에서 폴더에 있습니다., |
||
t |
The sticky bit; it can only be found in the others triad; it also implies that x is set. |
||
T |
Same as t , but x is not set; rare on regular files, and useless on folders. |
See info Coreutils -n "Mode Structure"
and chmod(1) for more details.,
namei -l path
로 경로를 따라 권한을 볼 수 있습니다.예
우리는 몇 가지 예를 볼을 명확히
drwx------ 6 archie users 4096 Jul 5 17:37 Documents
아치에는 풀에 액세스하는 문서 디렉토리에 있습니다. 그는 파일 권한에 관계없이 문서의 모든 파일을 나열,파일 생성 및 이름 바꾸기,삭제할 수 있습니다. 파일에 액세스하는 그의 능력은 파일의 권한에 따라 다릅니다.
dr-x------ 6 archie users 4096 Jul 5 17:37 Documents
아치 전체 액세스를 제외하고 그분을 만들 수 없습니다,이름을 변경,삭제 모든 파일입니다., 그는 파일을 나열 할 수 있으며(파일의 권한이 권한을 부여하는 경우)문서의 기존 파일에 액세스 할 수 있습니다.
d-wx------ 6 archie users 4096 Jul 5 17:37 Documents
아치 할 수 없’ls’문서에 그가 그의 이름을 알고있 기존 파일에 다음을 그 목록에,이름을 변경,삭제 또는(있는 경우 파일의 권한이 그에게 힘을 실어)액세스할 수 있습니다. 또한,그는 새로운 파일을 만들 수있다.
d--x------ 6 archie users 4096 Jul 5 17:37 Documents
아치에만 가능(는 경우 파일의 권한이 그에게 힘을 실어)그 파일에 액세스 문서에는 그는 알고 있습니다. 그는 이미 존재하는 파일을 나열하거나 그 중 하나를 생성,이름 바꾸기,삭제할 수 없습니다.,
을 염두에 두어야 하는 우리에 정교한 디렉토리 권한이고 그것은 개인으로 파일의 권한이 있습니다. 새 파일을 만들 때 변경되는 디렉토리입니다. 디렉토리에 쓰기 권한이 필요한 이유입니다.
우리는 또 다른 예를 살펴,이 시간의 파일,디렉토리가 아닌
-rw-r--r-- 1 archie users 5120 Jun 27 08:28 foobar
여기에 우리가 볼 수있는 첫 번째 문자가 아닌d
그러나-
. 그래서 우리는 그것이 디렉토리가 아니라 파일이라는 것을 압니다., 다음으로 소유자의 권한은rw-
이므로 소유자는 읽고 쓸 수 있지만 실행할 수는 없습니다. 이것은 이상하게 보일 수도 있는 소유자가 있지 않은 모든 세 권한,그러나x
권한이 필요하지 않습으로 그것은 텍스트/데이터 파일을 읽을 수 있는 텍스트 편집기와 같은 Gedit,EMACS,또는 같은 소프트웨어 R,과하지 않는 실행 자신의 오른쪽에(있다면 그것이 뭔가를 포함하 python 과 같은 프로그래밍 코드 그것은 잘 될 수 있다)., 그룹의 사용 권한을 설정하는r--
그룹는 능력이 있는 파일을 읽지만 쓰지/편집에서는 어떤 방법으로—그것은 본질적으로 같은 뭔가를 설정을 읽기 전용입니다. 다른 모든 사람들에게도 동일한 권한이 적용된다는 것을 알 수 있습니다.
사용 권한을 변경
chmod 은 명령에서 리눅스와 다른 유닉스 운영 체계를 변경할 수 있는 권한(또는 접속 모드)파일 또는 디렉토리에 있습니다.
텍스트 방법
한 권한을 변경 또는 액세스 모드의 파일을 사용하여 chmod 명령에서는 터미널도 있습니다., 아래는 명령의 일반적인 구조
chmod who=permissions filename
여기서who
은 어떤 범위에서의 편지,각각의 의미가 주어지고 있는 권한이 있습니다. 그들은 다음과 같습니다:
-
u
:파일을 소유 한 사용자. -
g
:파일이 속한 사용자 그룹입니다. -
o
:다른 사용자,즉 다른 모든 사용자. -
a
:위의 모든 사용이 입력하는 대신ugo
.,
사용 권한으로 동일에서 설명#보기 권한(r
,w
및x
).이제이 명령을 사용하는 몇 가지 예를 살펴보십시오., 가정되었다 보호의 문서 디렉토리고 싶어하지 못하도록 합니다 하지만,자신의 권한을 읽기,쓰기 및 실행(또는 이 경우 검색/모)의:그것
기:drwxr-xr-x 6 archie users 4096 Jul 5 17:37 Documents
$ chmod g= Documents$ chmod o= Documents
후:drwx------ 6 archie users 4096 Jul 6 17:32 Documents
여기에, 기 때문에 거부할 권한을 두지 않는 어떤 문자 한 후=
어디에 사용할 수있는 입력합니다. 지금 당신은 당신이 볼 수 있는 소유자만이 권한 있는rwx
과 다른 모든 권한은-
.,
이 되돌릴 수 있다:
기:drwx------ 6 archie users 4096 Jul 6 17:32 Documents
$ chmod g=rx Documents$ chmod o=rx Documents
후:drwxr-xr-x 6 archie users 4096 Jul 6 17:32 Documents
다음 예에서,권한을 부여하려는 읽기 및 실행 권한 그룹과 다른 이용자, 그래서 당신은 글자를 위해 권한(r
및x
)후=
없는 공간이 있습니다.
두 개 이상의who
문자를 동일한 명령 e 에 넣으려면이를 단순화 할 수 있습니다.,g:
$ chmod go=rx Documents
who
문자 또는 권한 문자chmod
명령할 수 있는chmod go=rx file
또는chmod og=xr file
. 그것은 모두 동일합니다.,ider 두 번째 예에서,당신은 가정을 변경하고 싶foobar
도록 파일을 읽고 쓸 수 있는 권한을 부여한 것이고,사용자 그룹에서users
할 수 있는 동료 작업에는foobar
,읽고 쓸 수도 있습니다하지만 다른 사용자를 읽을 수 있습니다:
기: -rw-r--r-- 1 archie users 5120 Jun 27 08:28 foobar
$ chmod g=rw foobar
후:-rw-rw-r-- 1 archie users 5120 Jun 27 08:28 foobar
이 첫 번째 예제와 같이지만,파일,디렉토리에 쓰기 권한을 부여(그래의 예를 제공하기 위해 부여하는 모든 허가).,
텍스트 방법을 바로 가기
chmod 명령을 추가할 수 있습니다 빼기의 권한에서는 기존의 설정을 사용하여+
또는-
대신=
. 이것은 다른 위에서 명령어는 기본적으로 다시 쓰기 권한을(예를 들어 사용 권한을 변경에서r--
을rw-
,당신은 여전히 포함할 필요가r
뿐만 아니라w
후=
에 chmod 명령을 호출을 기반으로 합니다., 당신이 놓쳤r
,그리r
권한으로 그들은 다시 쓰고와 함께=
. 를 사용하는+
및-
피하여 이에 추가하거나다에서 현재 설정한 권한).,>기:-rw-rw-r-- 1 archie users 5120 Jun 27 08:28 foobar
$ chmod a-w foobar
후:-r--r--r-- 1 archie users 5120 Jun 27 08:28 foobar
이 바로 가기는 다른 특별한X
모드:이제 실제 파일 형태, 하지만 그것은 종종에서 사용되는과 함께-R
옵션을 설정하는 실행 파일의 비트 단위 디렉토리고 그것을 떠나 변경하는 일반파일,예를 들어,
$ chmod -R a+rX ./data/
복사하는 권한을
을 말하는 것이 가능하 chmod 를 복사본을 권한 하나의 클래스에서 말한 소유자에게 그와 같은 권한 그룹 또는니다., 이렇게 하려면 대신r
,w
또는x
후=
넣고,다른 사람이 편지입니다. e.g:
기:-rw-r--r-- 1 archie users 5120 Jun 27 08:28 foobar
$ chmod g=u foobar
후:-rw-rw-r-- 1 archie users 5120 Jun 27 08:28 foobar
이 명령은 기본적으로 변환하여”사용 권한을 변경의 그룹(g=
), 로 소유하는 사용자가(=u
). 권한 집합을 복사 할 수 없으며 예를 들어 새 권한을 부여 할 수 없습니다,이 경우 chmod 는 오류를 발생시킵니다.
숫자 방법
chmod 는 숫자를 사용하여 권한을 설정할 수도 있습니다.
번호를 사용하는 다른 방법을 편집 할 수있는 권한 모든 소유자,그룹,같은 시간에 다른 사람뿐만 아니라,setuid,setgid,그리고 끈끈한 비트입니다. 이 기본 코드의 구조를 이다.
$ chmod xxx filename
여기서xxx
3-자리 숫자가 각각 자리에서 아무것도 할 수 있습니다 0~7., 첫 번째 숫자는 적용에 대한 사용 권한,소유자의 두 번째 자리에 적용한 권한을 위해 그룹,그리고 세 번째 숫자는 적용에 대한 사용 권한 모든 다른 사람입니다.
에 이 번호를 표기 값r
,w
,andx
자신의 숫자 값:
r=4w=2x=1
올라와 3-자리 숫자할 필요가 무엇을 고려할 권한의 소유자,그룹, 과 다른 모든이며,그 총 자신의 값이다., 당신이 원하는 그룹과 다른 사람을 그냥 읽기 및 실행 권한을 가지고 올 숫자 값이 다음과 같이
- 소유자:
rwx
=4+2+1=7 - 그룹:
r-x
=4+0+1=5 - 기타:
r-x
=4+0+1=5
$ chmod 755 filename
이것은 사용하는 것과 같은 다음과 같다:
$ chmod u=rwx filename$ chmod go=rx filename
을 보려면 기존의 권한 파일 또는 디렉토리에 숫자 형태,사용 통계분석(1)명령:
$ stat -c %a filename
어디%a 옵션을 지정한 출력에 숫자 형태입니다.,
대부분의 폴더와 디렉터리를 설정하는755
을 허용하는 읽기,쓰기,그리고 실행에 소유자에게 그러나 거부하 작성하는 다른 사람들,그리고 파일은 일반적으로644
을 허용하는 읽기와 쓰기에 대한 소유자이지만 그냥 읽고 다른 사람을 위해; 참조 마지막 주의 부족에x
사용 권한과 비 실행 파일이다:그것은 여기에 같은 일.,
이 방법이 작동되는지 확인하기 위해 예제와 함께 고려한 이전의 예에는 사용되지만,이 수치적 방법을 적용하는 대신:
기:-rw-r--r-- 1 archie users 5120 Jun 27 08:28 foobar
$ chmod 664 foobar
후: -rw-rw-r-- 1 archie users 5120 Jun 27 08:28 foobar
이들의 실행 수 것774
하고 싶은 경우에는 권한을 부여 실행가능한 권한을 소유자와 그룹이다. 또는 모든 사람이 읽기 권한 만 갖고 싶다면 번호는444
입니다., 치료하는r
으로 4,w
2,그리고x
1 은 아마도 가장 쉬운 방법은 작업에 대한 숫자값을 사용하는chmod xxx filename
지만,거기에 또한 이진법,각 권한 있는 이진호,그리고 다음 차례에 숫자로 변환됩니다. 그것은 조금 더 복잡하지만 여기에 완전성을 위해 포함되어 있습니다.,
이것을 고려한 권한 설정:
-rwxr-xr--
경우 1 에서 각각의 권한이 부여되 0 에 대한 모든 권한을 부여하지 않생은 다음과 같이 될 것이다:
-rwxrwxr-x 111111101
변환할 수 있습니다 다음 이러한 이진수:
000=0 100=4001=1 101=5010=2 110=6011=3 111=7
값의 위 따라서 775.
고려고 했습을 제거하는 쓰기 권한 그룹에서:
-rwxr-xr-x 111101101
값에 따라서 수 755 고 당신이 사용하는chmod 755 filename
제거하는 쓰기 권한이 있습니다., 당신은 당신이 사용하는 방법에 상관없이 같은 세 자리 숫자를 얻을 알 수 있습니다. 텍스트 나 숫자를 사용할지 여부는 개인적인 취향과 타이핑 속도에 따라 다릅니다. 복원하려는 경우 디렉토리 또는 파일을 기본값으로 사용 권한 예:읽기 및 쓰기(고 실행하는)사용 권한의 소유자이지만 거부에 쓰기 권한을 모두,그것은 빠를 수 있을 사용하는chmod 755/644 filename
. 그러나 변경하는 경우에는 권한을 뭔가 규범에서,그것은 간단하고 빠르게 사용하는 텍스트 방법과 반대로 변환하려고 그 숫자,이어질 수 있는 실수 있습니다., 경우에 따라 chmod 만 사용해야하는 사용자에 대해 두 가지 방법 중 하나의 속도에 실제로 큰 차이가 없다고 주장 할 수 있습니다.
사용할 수도 있습니다 숫자 메소드를 설정하는setuid
,setgid
,andsticky
비트를 사용하여 네 개의 자리입니다.
setuid=4setgid=2sticky=1
예를 들어,chmod 2777 filename
설정을 읽기/쓰기/실행에 대한 비트 모두에 사용할 수 있도록 설정setgid
비트입니다.
대량 chmod
일반적으로 디렉토리와 파일하지 않아야가 동일한 권한이 있습니다., 디렉토리 트리를 대량으로 수정해야하는 경우 찾기를 사용하여 하나 또는 다른 것을 선택적으로 수정하십시오.
chmod 만 디렉토리 755:
$ find directory -type d -exec chmod 755 {} +
chmod 파일만을 644:
$ find directory -type f -exec chmod 644 {} +
소유권을 변경하고
chown 변화의 소유자는 파일 또는 디렉토리보다 빠르고 쉽게 변경 권한 경우가 있습니다.
백업 데이터를 위해 gparted 로 새 파티션을 만드는 다음 예제를 고려하십시오. Gparted 는이 모든 것을 루트로 수행하므로 모든 것이 기본적으로 루트에 속합니다., 이 모든 잘 좋은하지만 마운트 된 파티션에 데이터를 쓰기에 올 때,권한은 일반 사용자에 대한 거부됩니다.
brw-rw---- 1 root disk 8, 9 Jul 6 16:02 sda9drwxr-xr-x 5 root root 4096 Jul 6 16:01 Backup
당신이 볼 수있는 장치에서/dev
에 의해 소유되는 루트로 마운트 위치에(/media/Backup
)., 을 변경하는 소유자의 마운트 위치 중 하나는 다음을 수행할 수 있습니다.
기:drwxr-xr-x 5 root root 4096 Jul 6 16:01 Backup
# chown archie /media/Backup
후:drwxr-xr-x 5 archie root 4096 Jul 6 16:01 Backup
이제 파티션을 할 수 있는 데이터가 작성하는 그것에 새로운 소유자로,아치, 을 변경하지 않고 사용 권한(소유자로 인조미rwx
사용 권한).이 작업을 수행하는 데 필요한 모든 작업을 수행 할 수 있습니다.
chown
을을 벗어 파일들을 다른 사용자.,액세스 제어 목록
액세스 제어 목록을 추가적으로 제공합,더 유연하게 권한 메커니즘에 대한 파일 시스템을 수 있도록 권한을 설정하려면 어떤 사용자나 그룹에게 어떤 파일입니다.
Umask
umask 유틸리티 사용을 제어하는 파일 생성 모드 마스크를 결정하는 초기 값이 파일의 권한 비트에 대한 새로 생성한 파일.,
파일의 속성
서 파일 모드 비트를 제어하는 사용자와 그룹의 읽기,쓰기를 실행한 사용 권한,여러 파일 시스템이 지원하는 파일의 속성을 사용한 사용자 정의 허용가능한 파일 작업입니다. 이 섹션에서는 이러한 특성 중 일부와 해당 속성으로 작업하는 방법에 대해 설명합니다.
chattr 및 lsattr
ext2 및 ext3 파일 시스템,e2fsprogs 패키지에 포함되는 프로그램 lsattr 및 chattr 는 목록을 변경하는 파일의 속성,각각합니다.,/li>
u
:삭제A
:없으로 파일 시 업데이트C
:없음에서 복사를 쓰D
: 동기 directory 업데이트S
:동기 업데이트T
:최상의 디렉토리 계층 구조예를 들어,설정하려는 경우 변경할 수 없는 비트에 어떤 파일에 다음과 같은 명령을 사용합니다:
# chattr +i /path/to/file
특성을 제거하려면에서 파일이 변경+
을-
.,
Extended attributes
From xattr(7):”Extended attributes are name:value pairs associated permitly with files and directories”. 보안,시스템,신뢰할 수있는 사용자 및 사용자의 네 가지 확장 속성 클래스가 있습니다.
확장 속성은 기능을 설정하는 데에도 사용됩니다.
사용자 확장 속성
사용자 확장 속성은 파일에 대한 임의의 정보를 저장하는 데 사용할 수 있습니다., To create one:
$ setfattr -n user.checksum -v "3baf9ebce4c664ca8d9e5f6314fb47fb" foo.txt
Use getfattr to display extended attributes:
$ getfattr -d foo.txt
# file: foo.txtuser.,3de557528">--preserve=mode,ownership,timestamps,xattr
mv
preserves by default1 tar
--xattrs
for creation and extractionbsdtar
-p
for extractionrsync --xattrs
- mv silently discards extended attributes when the target file system does not support them.,
텍스트 편집기로 확장 된 특성을 보존하려면 rename(2)을 사용하는 대신 저장시 파일을 자르도록 구성해야합니다.
팁과 트릭
유 root
사용하는
--preserve-root
플래그를 방지chmod
행동에서 반복하는/
. 이,예를 들어,하나를 방지하고 제거에서 실행 비트 시스템 전체에 따라서 깨는 시스템입니다. 이 플래그를 매번 사용하려면 별칭 내에서 설정하십시오. 참조.,참조
- wikipedia:Chattr
- Linux 파일 권한 혼란 part2
- Wikipedia:Extended file attributes#Linux
- Extended attributes:the good,the not so good,the bad.
- Linux 에서 파일 권한 백업 및 복원
- 왜”chmod-R777/”가 파괴적입니까?리>