"umask" 변수에 "7"보다 큰 숫자가 포함될 수 있나요?

"umask" 변수에 "7"보다 큰 숫자가 포함될 수 있나요?

내가 아는 한, 우리는 "umask"를 사용하여 다양한 보안 수준을 설정합니다.

마스크 값 보안 레벨 유효 사용 권한(디렉터리)
022 용인 755화
026 쉬움 751화
027 쉬움 750
077 심각한 700

umask를 028"7"보다 큰 숫자를 포함하도록 다른 값으로 설정할 수 있습니까?

답변1

셸의 umask명령은 권한 마스크를 기본 8진수로 처리합니다. 10진수(10자리)나 16진수(16진수)와 달리 8진수에는 0부터 7까지의 8자리 숫자만 포함됩니다.

따라서 아니요, umask 028셸에서는 사용할 수 없습니다. 의미가 없습니다. 물론 umask는 단지 비트 묶음, 숫자이며 10진수나 16진수로 표시될 수도 있습니다. 예를 들어 C 코드에서 022(octal)은 (decimal)과 동일하므로 18umask를 설정하는 시스템 호출은 022다음과 같이 작성할 수 있습니다 umask(18).

그러나 3개의 권한 비트( )가 있고 rwx3개의 비트가 8개의 서로 다른 값을 나타낼 수 있다는 점을 고려하면 8진수는 권한 비트를 나타내는 상당히 유용한 방법입니다.

또한 한 단어로 설명하는 대신 다른 사용자에게 부여된 권한에 대한 umask 값의 의미를 고려하는 것이 유용할 수 있습니다.

관련 정보