これが本当か偽なのか教えてくれる人がいますか?
ファイルのinodeにファイルの内容を含むブロックのアドレスがありますか?
また、Permission コマンドには、owner(r,w) g(r) の条件で既存のファイルの権限を変更する権限があるかどうかを尋ねる質問があります。だから私はそれがうまくいくと思いましたが、chmod 640 filename.txt
明らかにchmod u+rw g+r filename.txt
640万が正しいです。 u+rwが答えの一部ではない理由を知っている人はいますか?
答え1
あなたの質問を正しく理解している場合は、状況によって異なると言いたいと思います。 Inodeは通常12個のデータブロックに接続できます。Wikipediaの記事で:
In the past, the structure may have consisted of eleven or thirteen
pointers, but most modern file systems use fifteen pointers. These
pointers consist of (assuming 15 pointers in the inode):
- Twelve pointers that directly point to blocks of the file's data
(direct pointers)
- One singly indirect pointer (a pointer that points to a block of
pointers that then point to blocks of the file's data)
- One doubly indirect pointer (a pointer that points to a block of
pointers that point to other blocks of pointers that then point to
blocks of the file's data)
- One triply indirect pointer (a pointer that points to a block of
pointers that point to other blocks of pointers that point to other
blocks of pointers that then point to blocks of the file's data)
したがって、ファイルが12ブロック*(ブロックサイズ)未満の場合、Inodeはブロックに直接接続されます。ファイルが12ブロックより大きい場合は、間接ブロックと二重間接ブロックの組み合わせを使用します。
以下を使用して、ファイルが消費するブロック数を確認できますstat
。
例 stat コマンド #1
% stat /bin/ls
File: `/bin/ls'
Size: 117144 Blocks: 232 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 2496176 Links: 1
Access: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2013-04-17 16:24:20.593606056 -0400
Modify: 2010-11-03 07:43:02.000000000 -0400
Change: 2011-09-09 20:25:22.133239242 -0400
例 stat コマンド #2
% stat /etc/httpd/conf/httpd.conf
File: `/etc/httpd/conf/httpd.conf'
Size: 34417 Blocks: 72 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 3147109 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2012-09-26 21:04:47.303641015 -0400
Modify: 2010-10-27 06:01:44.000000000 -0400
Change: 2010-12-18 19:30:00.719999998 -0500
chmodの問題
あなたの質問については、chmod
空白の代わりにカンマで記号権限(u + rg + r)を区切る必要があると思います。
% chmod u+rw,g+r filename.txt
引用する
以下は、inodeをよりよく理解するために読むことができるinodeのいくつかの追加リソースです。
答え2
Inodeは通常、直接ポインタを使用してデータブロックへのポインタを格納します。これが十分でない場合は、間接ポインタと二重間接ポインタを使用してください。
したがって、小さなファイル(12ブロック)でのみ機能すると言えます。持つファイルの内容を含むブロックのアドレス。
答え3
はい、inodeにはディスク上の「ホストされた」ファイルのブロックリストが含まれています。デフォルトでは、inodeにはファイルに関するすべての情報が含まれています。とは別に名前 - この名前はディレクトリ(いわゆる「特殊ファイル」)のinode番号と「ペアです」。
2番目の質問については少し不明です。ファイルの所有者ですか?所有者であれば、ファイルの権限を変更できます。
以前に(umask)権限を設定した方法によっては、正しい場合や間違っている場合があります。あなた次へ追加所有者に対するrw権限とグループに対する読み取り権限がありますが、削除しません。既存の他人の許可。また、実行権限を削除しません。 「=」は権限を明示的に設定するため、「+」(または「-」)の代わりに「=」を使用することをお勧めします。
より正確な方法は次のとおりです。
chmod u=rw,g=r,o= ファイル
または:
chmod a=,u+rw,g+r ファイル(最初にすべての権限を空白のままにする)
この場合、最も簡単な方法は、おそらく以下を使用することです。
chmod 640ファイル
少し練習してみると、8進数で権限を計算するのは難しくありません。