답변:
의 맨 페이지가 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의 값을 고려하기 때문에 아무것도하지 않았습니다.