Unix에서 " +x " 인수는 무엇을 의미합니까? (권한 관련)?

Unix에서 " +x " 인수는 무엇을 의미합니까? (권한 관련)?

저는 Ubuntu를 사용하고 있는데 누군가가 sudo chmod " +x ".

권한을 or +x와 같은 매우 일반적인 것으로 변경하는 것인지 아니면 완전히 다른 것으로 변경하는 것인지는 확실하지 않습니다 .777775

+x unix구글 과 에 해보았 +x linux으나 빠른 검색에서도 관련 자료를 찾을 수 없었습니다.

내가 수행한 명령은 다음과 같습니다(따라서 4단계에서 멈췄습니다).

  1. wget 설치
  2. 달리다wget http://files.drush.org/drush.phar
  3. 달리다sudo mv drash.phar /usr/local/bin/drush
  4. 달리다sudo chmod +x /usr/local/bin/drush
  5. 시험drush

답변1

x명령이 파일의 실행 권한을 설정하는 데 사용하는 실행 모드(숫자 형식일 수도 있음)를 상징적으로 표현한 것입니다 chmod(디렉토리의 경우 검색 가능 모드를 설정함). +실행 가능 모드를 설정하고 -설정을 해제합니다.

chmod의 매뉴얼 페이지에서:

기호 모드의 형식은 다음과 같습니다 [ugoa...][[+-=][perms...]...]. 여기서 perms는 집합에서 0개 이상의 문자이거나 rwxXst집합에서 단일 문자 입니다 ugo. 여러 기호 모드를 쉼표로 구분하여 지정할 수 있습니다.

자세한 내용은 다음 링크를 참조하세요.chmod

답변2

+x참조하는 " "는 에 대한 기호 모드 인수입니다 chmod. 주어진 대로 chmod가 Gnu Coreutils에서 왔다고 가정하면 해당 인수는 chmod가 쉘에 설정된 실행 가능 비트를 제외하고 사용자, 그룹 및 기타에 대한 실행 가능 비트를 설정하도록 지시합니다.우마스크. 따라서 umask가 0077(일반적인 경우)인 경우 해당 명령은 파일을 소유한 사용자에 대해서만 실행 가능 비트를 설정합니다. umask가 0007(일반적인 경우)인 경우 파일을 소유한 사용자와 그룹이 이를 실행할 수 있습니다.

의도된 효과는 모든 사용자가 파일을 실행할 수 있도록 하는 것일 가능성이 높습니다. 모든 실행 비트가 설정되도록 지정하여 기호 모드를 사용하여 이를 달성할 수 있습니다.

chmod a+x filename

또는 원하는 권한을 명시적으로 지정하여:

chmod 0755 filename

기호 모드는 놀랍도록 유용한 단축키이지만 해당 동작의 대부분은 POSIX에 의해 "구현 정의"로 남아 있습니다. 따라서 이식 가능한 스크립트 및 지침에 대한 숫자 모드와 해당 의미를 기억하는 것도 유용합니다.

답변3

chmod는 두 가지 방법으로 권한을 부여할 수 있습니다:
1) 숫자 사용(예: chmod 744 파일은 사용자에게 wrx 파일을 만들고 그룹 및 기타 사용자에게는 r 파일을 만듭니다)
2) 특정 범주에 대한 특정 권한
(예: chmod +x는 모든 실행 권한을 제공합니다)
귀하의 경우에는 귀하의 사용자와 그의 그룹이 (아마도) 모든 사람이 아닌 실행 권한이 필요할 것이라고 생각합니다. 몇 가지 예가 더 있습니다.

 chmod u=rx file        (Give the owner rx permissions, not w)
 chmod go-rwx file      (Deny rwx permission for group, others)
 chmod g+w file         (Give write permission to the group)
 chmod a+x file1 file2  (Give execute permission to everybody)
 chmod g+rx,o+x file    (OK to combine like this with a comma)

관련 정보