
나는 알고 chmod 777
있다읽다,쓰다, 그리고실행하다~을 위한사용자,그룹, 그리고다른 사람
하지만 내가 그냥 하면 어쩌지 chmod 7
?
그게 rwx
그 사람에게만 해당되는 건가요?사용자?
답변1
Ramesh의 답변은 완벽하게 정확하지만 파일 모드에 대한 더 자세한 설명을 제공하고 싶었습니다.
755
및 같은 숫자는 777
특별해 보이고 파일 모드에서만 의미가 있을 수 있지만 실제로는 매우 기본적입니다.
이 숫자는 실제로 8진수입니다. 10진수는 10진수, 16진수는 16진수, 2진수는 2진수, 8진수는 8진수입니다. 즉, 계산하는 대로 진행됩니다 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 ...
. 따라서 숫자는 007
단지 8진수입니다 7
. 8진수 755
는 숫자일 뿐이며 493
10진수와 동일합니다.
이제 8진수를 다른 진수와 구별하는 방법은 8진수 앞에 0
. 그래서 말하는 755
것은 8진수이므로 실제로는 로 참조해야 합니다 0755
. 이 chmod
명령은 파일 모드를 참조하는 가장 일반적인 방법이므로 모든 입력 숫자가 8진수라고 가정합니다.
이제 파일 모드에서 8진수를 사용하는 이유는 무엇입니까? 우선 모드가 다음과 같은 비트마스크일 뿐이라는 점을 이해해야 합니다.
111111111111 - 12 binary bits
============
1 - Other execute
1 - Other write
1 - Other read
1 - Group execute
1 - Group write
1 - Group read
1 - User execute
1 - User write
1 - User read
1 - Sticky bit
1 - Set group ID
1 - Set user ID
"기타", "그룹", "사용자" 각각에 대해 3비트가 있다는 점에 유의하세요. 이진수 111
는 이며 7
, 이는 가장 높은 한자리 8진수 값입니다. 따라서 8진수 번호 매기기를 사용하면 다른 그룹, 사용자 권한 각각에 한 자리 숫자와 함께 고정+setuid+setgid에 대한 추가 숫자가 부여됩니다.
chmod 7
따라서 이를 통해 "무엇인가 " 라는 원래 질문으로 돌아갈 수 있습니다 .
글쎄, 이제 우리는 그것이 단지 8진수이고 비트마스크라는 것을 알았으므로 이것을 알아낼 수 있습니다. 8진수 7
는 2진수입니다 111
. 위의 비트 위치를 사용하여 '기타' 비트 3개를 모두 설정하고 '기타' 실행, 읽기 및 쓰기 액세스 권한을 부여하는지 확인할 수 있습니다. 그리고 이것은 단지 숫자이기 때문에 다른 모든 비트는 0이고 설정되지 않습니다.
답변2
그 반대입니다. rwx
에 대한 허가를 부여할 것입니다 .다른 사람.
touch samplefile
ls -l samplefile
-rw-rw-r-- 1 ramesh ramesh 0 Oct 16 22:29 samplefile
이제 명령을 실행하면 다음과 같이 출력됩니다.
chmod 7 samplefile
ls -l samplefile
-------rwx 1 ramesh ramesh 0 Oct 16 22:29 samplefile
의 매뉴얼 페이지에서 chmod
,
숫자 모드는 1~4개의 8진수(0-7)이며 값 4, 2, 1의 비트를 더하여 파생됩니다. 생략된 숫자는 선행 0으로 간주됩니다.
이제 다음과 같은 명령을 실행하여 동일한 내용을 확인할 수 있습니다.
chmod 47 samplefile
ls -l samplefile
----r--rwx 1 ramesh ramesh 0 Oct 16 22:29 samplefile
보시다시피 chmod 47
파일을 사용하면읽다허가그룹그리고읽다,쓰다그리고실행하다허가다른 사람.