답변:
의 맨 페이지가 chmod
그 내용 을 다룹니다.
즉 chmod u+x somefile
, 해당 파일의 실행 권한 만 소유자에게 부여하지만와 chmod +x somefile
동일합니다 chmod a+x somefile
.
기호 모드의 형식은입니다
[ugoa...][[+-=][rwxXstugo...]...][,...]
. 쉼표로 구분하여 여러 기호 작업을 제공 할 수 있습니다.문자 'ugoa'의 조합은 파일에 대한 사용자의 액세스 권한을 변경합니다. 파일을 소유 한 사용자 (u), 파일 그룹의 다른 사용자 (g), 파일 그룹에없는 다른 사용자 (o), 또는 모든 사용자 (a). 이들 중 어느 것도 주어지지 않으면, 효과는 'a'가 주어진 것처럼 보이지만 umask에 설정된 비트는 영향을받지 않습니다.
chmod +x file
다를를 chmod a+x file
자세한 내용은 Ravexina의 답변을 참조 -.
그냥하고 +x
모든 플래그에 적용됩니다 : [U] 버리는, [g] roup을, [O] thers.
man chmod
자세한 내용을 보려면 입력 하십시오.
우선 아래 질문과 답변을 읽으십시오.
필요한 모든 부분을 이해하는 데 도움이됩니다.
chmod +x
동일하다 chmod ugo+x
(바탕 umask
값)chmod a+x
동일하다 chmod ugo+x
(고려하지 않은 umask
값)그 결과 chmod a+x
모든 사람 (소유자, 그룹, 기타)의 실행 비트를 쉽게 설정할 수 있습니까?
그러나 chmod +x
조금 까다로워서 umask
가치를 사용한다고 말하고 그 가치에 따라 x
허용되는 모든 사람에게 가치를 더합니다 .
umask
내 환경이 0002
다음 과 같은 경우 :
$ umask
0002
$ umask -S
u=rwx,g=rwx,o=rx
추가 것 x
이 똑같이이다 (대부분의 시스템의 기본 상황)이 상황에서, 사용자 (소유자), 그룹 및 다른 사람에게 chmod ugo+x
또는 동일 chmod a+x
하거나 더 자세한 형태 :
chmod u+x,g+x,o+x
의 연결 chmod u+x,g+x,o+x
과 출력 사이의 연결을 확인할 수 있습니까 umask -S
?
이제 umask
현재 셸을 0003
다음 과 같이 변경해 봅시다 :
$ umask 0003
$ umask
0003
$ umask -S
u=rwx,g=rwx,o=r
보시다시피 소유자와 그룹 만이 다른 사람이 아닌 실행 가능한 비트를 얻습니다. 이 수단은 chmod +x
지금까지와 동일 chmod u+x,g+x
하거나 chmod ug+x
.
내가 실행하면 어떻게됩니까 chmod +w
설정 한 후 파일 umask
에 0003
?
이전과 같은, 그것은 단지에 영향을 미치는 user
와 group
(3) 또한 쓰기 권한 (2)를 제거하기 때문에 파일의.
다음과 같은 비트를 제거 할 때도 동일한 효과가 있습니다 chmod -w
.
$ mkdir test
$ stat -c %A test
drwxrwxr-x
$ umask
0002
$ chmod +w test
$ stat -c %A test
drwxrwxr-x
$ chmod a+w test
$ stat -c %A test
drwxrwxrwx
$ chmod -w test
chmod: test/: new permissions are r-xr-xrwx, not r-xr-xr-x
$ stat -c %A test
dr-xr-xrwx
chmod u+x
사용자가 파일을 실행할 수있게합니다 (그룹 소유자가 이미 실행할 수 있지만 "기타"일 수도 있지만 사용자 용으로 만 파일을 추가합니다).
chmod +x
또는 chmod a+x
( 'all plus executable bit')는 모든 사람이 파일을 실행 가능하게 만듭니다.
이 작업을 디렉토리에 수행하면 대신 디렉토리를 검색 할 수 있습니다. 즉, + x 권한이있는 디렉토리의 내용을 나열 할 수 있습니다.
chmod u+x file
는 umask
(당신의 모드는 의문의 여지없이 설정됩니다) 무시하고 파일 소유자에게 실행 비트를 추가하는 것을 의미합니다 .
chmod +x file
는 실행 비트를 소유자, 그룹 및 기타에 추가하면서 umask
( umask
모드를 먼저 확인한 다음 적용하십시오. umask의 값에 따라 다른 효과가있을 수 있음)을 고려합니다.
두 개의 파일을 만들어 봅시다 :
$ touch file1 file2
$ ls -l file1 file2
-rw-rw-rw- 1 ravexina ravexina 0 Aug 5 01:45 file1
-rw-rw-rw- 1 ravexina ravexina 0 Aug 5 01:45 file2
이제 umask
실행 비트를 제거하기 위해 "111"로 설정했습니다 umask 111
.
$ chmod u+x file1
$ chmod +x file2
$ ls -l file1 file2
-rwxrw-rw- 1 ravexina ravexina 0 Aug 5 01:47 file1
-rw-rw-rw- 1 ravexina ravexina 0 Aug 5 01:47 file2
보시다시피 chmod
무시 umask
되고 file1은 소유자를 위해 실행 가능한 비트를 얻었지만 두 번째는 umask의 값을 고려하기 때문에 아무것도하지 않았습니다.