8진수 값으로 +X 표기 권한을 나타내는 것이 가능합니까?

8진수 값으로 +X 표기 권한을 나타내는 것이 가능합니까?

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+rwxsetuid/setgid 비트를 제거하지 않는 모드)도 8진수 모드로 표시할 수 없음 을 의미할 뿐만 아니라 .

=대신, 모든 8진수 패턴은 일반적 으로 4750= u+rwxs,g=rx,o-rwxt(또는 u=rwxs,g=rx,o=기타 여러 조합) 등을 사용하여 기호 패턴으로 표시될 수 있습니다 .

관련 정보