"chmod 666"의 의미는 무엇입니까?


47

Linux를 사용하고 있습니다. 의 의미는 chmod 666무엇입니까?


28
일명 사단의 명령.
Moab

6
그게 당신을 귀찮게 (또는 당신이 그 숫자를 기억하기 위해 귀찮게 할 수 없다면) 당신은 그것을로 쓸 수도 있습니다 chmod a=rw.
starblue

세번째 논증이 없기 때문에 쓸모없는 명령 ^^
kokbira

또한 보안 결함 (모든 사용자가 파일 / 폴더를 쓸 수 있음) 또는 쓸모없는 파일 / 폴더 권한을 생성 할 수 있습니다
kokbira

답변:


112

chmod 파일 / 폴더에서 명령 변경 속성 :

  • chmod 666 file/folder 모든 사용자가 읽고 쓸 수는 있지만 파일 / 폴더를 실행할 수는 없습니다.
  • chmod 777 file/folder 모든 사용자에 대한 모든 조치를 허용합니다.
  • chmod 744 file/folder사용자 (소유자) 만 모든 작업을 수행 할 수 있습니다. 그룹 및 다른 사용자는 읽기만 허용됩니다.

    permission to:  user(u)   group(g)   other(o)     
                    /¯¯¯\      /¯¯¯\      /¯¯¯\
    octal:            6          6          6
    binary:         1 1 0      1 1 0      1 1 0
    what to permit: r w x      r w x      r w x
    
    binary         - 1: enabled, 0: disabled
    
    what to permit - r: read, w: write, x: execute
    
    permission to  - user: the owner that create the file/folder
                     group: the users from group that owner is member
                     other: all other users
    

또는 이진 또는 8 진으로 생각할 필요없이보다 직관적 인 구문으로 명령을 실행할 수 있습니다 (그러나 숫자 구문에 대한 지식은 매우 중요합니다). chmod u=rw, g=rw, o=rw file/folder

chmod명령을 사용하여 권한 변경을 수행하려면 3 개 이상의 인수가 필요하므로 chmod 666권한을 변경하기 위해 명시적인 파일 / 폴더가 없으면 아무것도 수행되지 않습니다.

또한 안전하지 않은 문제가 발생하지 않거나 단순히 쓸모없는 권한 변경 인 경우 비판해야합니다. chmod 666파일 / 폴더가 모두에게 쓰기를 허용하고 실행되지 않기 때문입니다.


5
"10 진"이 아니라 "8 진"뿐입니다. 어쨌든 +1.
벤 Voigt

1
첫 번째 글에서 언급 된 세 번째 요점이 잘못되었습니다. chmod 711은 소유자 만 모든 작업을 수행 할 수 있으며 그룹 및 기타는 읽기만 허용됩니다! 010 011 100 101 110 111 8 진수 001 또는 1은 실행 권한을 나타냅니다. 8 진수 7, 111은 읽기 쓰기 및 실행 권한을 나타냅니다. 따라서 711은 소유자의 경우 rwx, 그룹 및 기타의 경우 x입니다.

3
어쨌든 7로만 진행되므로이 ​​경우 8 진수와 10 진수 사이에는 차이가 없습니다. : /
Rob

예, @Yash, 원래 게시물 이후 1 년, 2 개월 및 18 일 후 누군가가 그 오류를 보았습니다 :) 예를 들어 744로 수정합니다.
kokbira

1
@KyleVassella owner는 파일 또는 폴더의 소유자이며 일반적으로 파일 또는 폴더를 만듭니다. group파일 또는 폴더와 관련된 사용자 그룹, 일반적으로 소유자가 속한 그룹입니다. 따라서 rootbira이고 내 groop이 rootusers이고 해당 그룹에도 있고 다른 모든 SU 포럼 구성원이 다른 그룹에 있다고 가정하십시오. 파일을 작성하고 chmod 750으로 파일을 작성하면 파일을 읽고, 쓰고, 실행하고, 읽고 실행하며 SU 사용자는 아무것도하지 않습니다. – 그것은 우리의 비밀입니다
kokbira

7

정말 평범하게 말하면 : 파일 소유자, 파일 소유자 그룹 및 컴퓨터를 사용하는 다른 모든 사람이 파일을 읽고 쓸 수있게합니다 (모두). 디렉토리에 적용하면 누구나 디렉토리의 파일을 읽거나 (파일 내용 목록 가져 오기) 디렉토리에서 파일을 작성 (작성, 편집) 할 수 있지만 디렉토리에서 파일을 실행할 수는 없습니다.

chmod작동 방법에 대한 자세한 내용 은 이 유용한 자습서를 확인하십시오 .


2
... 모든 사람이 파일을 읽고 쓸 수는 있지만 실행할 수는 없으며, 모든 사람이 디렉토리에서 파일을 읽고 쓸 수는 있지만 모든 파일을 나열하지는 않겠습니까?
Earlz

2
@earlz의 말과 함께 dir에 쓰기는 파일을 편집 할 수있는 것이 아니라 (파일에 perms를 쓰는 것) 단지 새로운 항목 (dirs, files, symlinks 등)을 만들 수 있음을 의미합니다. 또한 완전성을 위해 dirs를 언급하는 것이 좋지만 666은 dir에 적합하지 않습니다. 소유자를 위해 x를 제거하지 마십시오.
Rich Homolka

1
@Earlz : 감사합니다. 나는 항상 디렉토리에 사용자를 위해 rw-를 설정하지 않기 때문에 666이 dirs에 대해하는 일을 항상 잊어 버린다. :)
Ian C.

7

다른 답변에서 언급했듯이 chmod 는 변경 모드를 의미합니다. 소유자, 그룹 및 기타 사용자 범주에 대한 읽기, 쓰기 및 실행 권한에 영향을줍니다. 명령 뒤에 오는 숫자 (이 경우 666)는 명령이 실행되는 파일에 대해 해당 권한이 수정되는 방법을 나타냅니다 (666의 경우 소유자, 그룹 및 기타 사용자에게 읽기 및 쓰기 권한은 있지만 실행 권한은 없음) .

숫자를 다른 값으로 변경하면 파일의 권한이 효과적으로 변경됩니다. 위에서 언급 한 링크에는 사용 권한 체계를 얻기 위해 어떤 값을 입력해야하는지 파악할 수있는 작은 도구가 있습니다. 또한 명령에 사용 가능한 스위치 옵션과 몇 가지 예를 통해 작동 방식을 더 잘 이해하는 데 도움이됩니다.


1
좋은 사이트입니다. 북마크에 표시됩니다. 감사!
Kirk

5

chmod 명령 (변경 모드에서 축약 됨)은 운영자가 시스템에 파일에 대해 얼마나 많은 액세스를 허용해야하는지 알려주는 유닉스 명령입니다. 명령 chmod 666은 모든 사용자에게 읽기 및 쓰기 권한이 있음을 의미합니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.