LPIC 101 umask値について
- フォーラムは新サイトへ移行しました。
- このフォーラムではゲスト投稿が禁止されています
LPIC 101 umask値について
msg# 1
skjkgg523
投稿数: 7
問題ID: 34226についてです。
問題文:「ファイルとディレクトリを新規作成した際のデフォルトのパーミッションを、それぞれ「600」と「700」にしたい。適切なコマンドは次のうちどれか。」
正解:「umask 077」
解説:
666 - マスク値 = ファイルのデフォルトのパーミッション
777 - マスク値 = ディレクトリのデフォルトのパーミッション
以上についてumask値を077に設定するとファイルのパーミションは666-77で589となり問題文の600にはならないかと思うのですがどなたかなぜ正解が077になるのか教えていただけませんでしょうか
宜しくお願い致します。
問題文:「ファイルとディレクトリを新規作成した際のデフォルトのパーミッションを、それぞれ「600」と「700」にしたい。適切なコマンドは次のうちどれか。」
正解:「umask 077」
解説:
666 - マスク値 = ファイルのデフォルトのパーミッション
777 - マスク値 = ディレクトリのデフォルトのパーミッション
以上についてumask値を077に設定するとファイルのパーミションは666-77で589となり問題文の600にはならないかと思うのですがどなたかなぜ正解が077になるのか教えていただけませんでしょうか
宜しくお願い致します。
Re: LPIC 101 umask値について
msg# 1.1
arashi1977
居住地: 広島
投稿数: 1715
問題IDがわかれば確認できるので、問題文、正解、解説まで転記する必要はないですよ。
引用:パーミッションは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」を意識してもう一度見てみると良いかと思います。
引用:
解説:
666 - マスク値 = ファイルのデフォルトのパーミッション
777 - マスク値 = ディレクトリのデフォルトのパーミッション
以上についてumask値を077に設定するとファイルのパーミションは666-77で589となり問題文の600にはならないかと思うのですがどなたかなぜ正解が077になるのか教えていただけませんでしょうか
参考の「数値表現」のところにもありますが、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」を意識してもう一度見てみると良いかと思います。
Re: LPIC 101 umask値について
msg# 1.1.1
skjkgg523
投稿数: 7
arashi1977さま ご回答いただきありがとうございます。
引用:
上記を元に改めて解説文を見直したところ理解できました。
類似の問題ID:34145で私が誤って覚えておりました10進数での考え方でたまたま問題と解答が合ってしまっていたことからずっと勘違いして覚えてしまっておりました。
今後はアドバイスいただきました「ビット」と「r=4 w=2 x=1」を意識して覚え直したいと思います。
ご回答ありがとうございました。
引用:
で、umaskは「どのビットを無視するか」というコマンドなんですね。
umask 077というのは「000 111 111」に変換され、1になっている部分が無視されるので「777→700」「666→600」とするようになるのです。
「r=4 w=2 x=1」を意識してもう一度見てみると良いかと思います。
上記を元に改めて解説文を見直したところ理解できました。
類似の問題ID:34145で私が誤って覚えておりました10進数での考え方でたまたま問題と解答が合ってしまっていたことからずっと勘違いして覚えてしまっておりました。
今後はアドバイスいただきました「ビット」と「r=4 w=2 x=1」を意識して覚え直したいと思います。
ご回答ありがとうございました。