'chmod u + x'대 'chmod + x'


112

차이점은 무엇이며 chmod u+x단지는 chmod +x? u+x스크립트를 실행 가능하게 만드는 데 사용 되는 수많은 자습서를 보았습니다 . 그러나를 생략 u해도 효과가없는 것 같습니다.

답변:


149

의 맨 페이지가 chmod그 내용 을 다룹니다.

  • u 는 사용자를 나타냅니다.
  • g 는 그룹을 나타냅니다.
  • o 다른 사람들을 나타냅니다.
  • 모두 약자.

chmod u+x somefile, 해당 파일의 실행 권한 만 소유자에게 부여하지만와 chmod +x somefile동일합니다 chmod a+x somefile.

chmod 매뉴얼 페이지는 다음과 같이 말합니다.

기호 모드의 형식은입니다 [ugoa...][[+-=][rwxXstugo...]...][,...]. 쉼표로 구분하여 여러 기호 작업을 제공 할 수 있습니다.

문자 'ugoa'의 조합은 파일에 대한 사용자의 액세스 권한을 변경합니다. 파일을 소유 한 사용자 (u), 파일 그룹의 다른 사용자 (g), 파일 그룹에없는 다른 사용자 (o), 또는 모든 사용자 (a). 이들 중 어느 것도 주어지지 않으면, 효과는 'a'가 주어진 것처럼 보이지만 umask에 설정된 비트는 영향을받지 않습니다.


a + x와 111의 차이점이 무엇인지 조금 궁금합니다. 두 가지를 모두 실행할 수 있습니다
TheBro21

1은 실행 권한을 나타내는 8 진 표기법이기 때문입니다. 111은 사용자, 그룹 및 기타 사용자를위한 실행 파일을 의미합니다.
Octavian Damiean 2016 년

대단한 답변
m4heshd

Umask가 효과를 만드는 것이 중요 chmod +x file다를를 chmod a+x file자세한 내용은 Ravexina의 답변을 참조 -.
Cinnam

19

그냥하고 +x모든 플래그에 적용됩니다 : [U] 버리는, [g] roup을, [O] thers.

man chmod자세한 내용을 보려면 입력 하십시오.


설명서를 먼저 확인했지만 설명을 건너 뛰고 옵션으로 넘어 가서 보지 못했음을 약속합니다. 나는 지금 그들을 본다 :-)
Nathan Schwermann

14

요구 사항

우선 아래 질문과 답변을 읽으십시오.

필요한 모든 부분을 이해하는 데 도움이됩니다.


짧은 버전

  • 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설정 한 후 파일 umask0003?

이전과 같은, 그것은 단지에 영향을 미치는 usergroup(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

7

chmod u+x 사용자가 파일을 실행할 수있게합니다 (그룹 소유자가 이미 실행할 수 있지만 "기타"일 수도 있지만 사용자 용으로 만 파일을 추가합니다).

chmod +x또는 chmod a+x( 'all plus executable bit')는 모든 사람이 파일을 실행 가능하게 만듭니다.

이 작업을 디렉토리에 수행하면 대신 디렉토리를 검색 할 수 있습니다. 즉, + x 권한이있는 디렉토리의 내용을 나열 할 수 있습니다.


죄송하지만이 일도 저에게 효과적이지 않았습니다. sudo로 시도했지만 내 컴퓨터에서 작동하지 않았습니다. askubuntu.com/questions/178231/how-to-set-permission-in-ubuntu
Anirudha Gupta

@AnkitGupta 당신이 무슨 말을하는지 모르겠습니다. 내 의견은 다른 Q & A에서 문제를 해결하기위한 것이 아닙니다. 답변을 명확하게 요구하십시오. 시도한 것을 말하도록 질문을 편집하십시오. 출력을 보여줍니다.
belacqua

1
  • chmod u+x fileumask(당신의 모드는 의문의 여지없이 설정됩니다) 무시하고 파일 소유자에게 실행 비트를 추가하는 것을 의미합니다 .

  • 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의 값을 고려하기 때문에 아무것도하지 않았습니다.

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