사용자에 대한 umask 설정

사용자에 대한 umask 설정

umask출력을 0022 대신 22로 만들려면 어떻게 해야 합니까 ?

서버 1:

user@vxs-app01> umask
22

서버 2

user@vxs-app02> umask
0022

답변1

나:
    1센트가 있는데 0.01달러로 교환하고 싶어요.

환전소 계산원:
    음…, 똑같습니다.

22와 0022는 (같은 염기를 가지고 있다고 가정한다면) 같은 숫자라는 걸 알고 계시죠? 그렇지 않다면 나는 말한다.

22와 0022는 같은 숫자입니다(같은 염기를 가지고 있다고 가정하는 경우).

이것이 귀하의 질문에 대한 답변입니까? 그렇지 않다면,

  1. 당신은 보여

    user@vxs-app01$ umask
    22
    

    이해했나요? 이런 일이 발생하는 시스템에 대해 알려주십시오.

    좋아요, 분명히 당신은 어떤 시스템을 다루고 있는지 우리에게 말하고 싶지 않을 것입니다. 내 대답은 다음 단락에서 내가 논의한 내용 중 하나(또는 조합)를 볼 수 있다는 것입니다.

    • 서버 1은 별칭이 지정되었거나 umask쉘 함수로 재정의되었을 수 있습니다. type umask확인하려면 입력하세요  .
    • 두 시스템은 서로 다른 쉘 또는 서로 다른 버전의 쉘을 가질 수 있습니다.
      • zshumask는 앞에 0이 하나만 표시되는 것 같습니다. 그래서 그것은 그것을 설명 022하지만, 그것은 단순한 설명 그 이상입니다 22.
      • csh그리고 tcsh앞에 0이 없이 umask를 표시하는 것 같습니다. 그러나 이는 csh, , 및 기타 POSIX 친화적인 쉘과는 완전히 다릅니다 tcsh. 서버 1이 실행 중이거나 이면 이를 알 수 있습니다.bashkshzshcshtcsh
      • 서버 1은 로컬로 수정된 셸을 실행 중일 수 있습니다.
  2. 22가상의 예로 Server1의 출력을 표시하는 경우 를 입력하면 이를 얻을 수 있습니다 printf '%o\n' "$(umask)". 이는 원시 출력 umask(앞에 0이 있음)을 가져와 기본 형식인 8진수(아니요선행 0). 그런 다음 별칭이나 셸 함수에 넣을 수 있습니다.

  3. 쉘이 입력한 대로 정확하게 umask 값을 기억하도록 하려면 다음을 수행하십시오.

    $ umask 0022
    $ umask
    0022
    
    $ umask 22
    $ umask
    22
    
    $ umask 022
    $ umask
    022
    

    그게 더 어려울 거예요. 더 쉬운 방법은 그것을 마무리하는 쉘 함수를 작성하는 것입니다 umask. 그게 당신이 원하는 거라면,

    • 어떻게 하면 좋을지 알아보고,
    • 실패할 경우 원하는 것과 시도한 것이 무엇인지 명확하게 설명하기 위해 질문을 편집해 주시면 답변을 드릴 수 있습니다.


    더 어렵지만 더 안정적인 방법은 소스 코드를 구해 bash수정하는 것입니다.

관련 정보