Re: LPIC 101 umask値について

この質問の投稿一覧へ

なし Re: LPIC 101 umask値について

msg# 1.1
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2020-10-10 20:50
arashi1977  長老 居住地: 広島  投稿数: 1715
問題IDがわかれば確認できるので、問題文、正解、解説まで転記する必要はないですよ。
引用:
解説:
666 - マスク値 = ファイルのデフォルトのパーミッション
777 - マスク値 = ディレクトリのデフォルトのパーミッション

以上についてumask値を077に設定するとファイルのパーミションは666-77で589となり問題文の600にはならないかと思うのですがどなたかなぜ正解が077になるのか教えていただけませんでしょうか
パーミッションは10進数ではなく8進数(というか、2進数の加算)です。
参考の「数値表現」のところにもありますが、r=4 w=2 x=1 となっているのですがこれは3ビットの数字をそれぞれに割り当てているだけです。
「2進数の101=10進数の5」みたいな話です。
なので、666を「10進数の666(6百6十6)」とすると間違いのもとなのです。

で、umaskは「どのビットを無視するか」というコマンドなんですね。
umask 077というのは「000 111 111」に変換され、1になっている部分が無視されるので「777→700」「666→600」とするようになるのです。

「r=4 w=2 x=1」を意識してもう一度見てみると良いかと思います。

投稿ツリー

  >フォーラム検索へ


Copyright (c) 2020 Ping-t All rights reserved.