8진수 값으로 +X 표기 권한을 나타내는 것이 가능합니까? chmod(1) 매뉴얼 페이지는 다음과 같이 말합니다:
파일이 디렉터리이거나 이미 일부 사용자에 대한 실행 권한이 있는 경우에만 실행/검색
즉, chmod -R g+X
사용자, 그룹 또는 기타 사용자에 대해 실행 비트가 설정된 경우에만 그룹 실행 권한이 추가됩니다. 물론 find를 사용하여 이 작업을 수행할 수 있습니다.
find . -perm /ugo=x -exec chmod g+x {} \;
그러나 8진 모드를 사용하지 않고 동일한 작업을 수행하는 방법은 명확하지 않습니다.찾다또는시험먼저 파일 권한을 확인하세요. 이것이 가능합니까, 아니면 기호 및 8진수 권한이 겹치지 않는 영역이 있습니까?
답변1
짧은 이야기: 불가능합니다.
더 긴 이야기: 8진수 권한은 상태 저장입니다. 이 [+-][rwxXst]
기호는 operations
상태 변경의 최종 결과를 나타냅니다. 참고로 저거 =[rwxXst]
말고세트상태이며 Giles가 8진 모드라고 부르는 것과 동일합니다. 그 중 하나 X
는 유일한 조건부 연산이고 나머지는 무조건적 연산입니다.
파일에 8진수 권한이 있는 경우 chmod
최종 권한을 제공합니다.상태축어적 라이센스 비트. 작업을 사용할 때 원하는 것을 선택합니다.완벽한권한 비트에.
귀하의 질문은 모든 제곱근을 나타낼 수 있는 숫자가 하나 있는지 묻는 것과 같습니다. 대답은 분명히 '아니오'입니다: 모든 제곱근생산하다숫자(현학적: 상상적/비합리적일 수 있지만), 시작이 없음상태(번호), 어느 것인지 알 수 없습니다.
답변2
8진 모드는 절대적인 변화만 표현할 수 있기 때문에 기호 모드는 8진 모드보다 더 표현력이 뛰어납니다. 상대적 변경은 +X
모든 새 비트를 지정하지 않는 모드(즉 g+x
, a+rwx
setuid/setgid 비트를 제거하지 않는 모드)도 8진수 모드로 표시할 수 없음 을 의미할 뿐만 아니라 .
=
대신, 모든 8진수 패턴은 일반적 으로 4750
= u+rwxs,g=rx,o-rwxt
(또는 u=rwxs,g=rx,o=
기타 여러 조합) 등을 사용하여 기호 패턴으로 표시될 수 있습니다 .