今回紹介するのは以下
・一時的なファイルの置き場とスティッキービット
・シンボリックリンクとハードリンク
■一時的なファイルの置き場とスティッキービット
例:一時的なファイルを配置する場所として適切なディレクトリ。
→/tmp
→/var/tmp
例:「/tmp」、「/var/tmp」ディレクトリに設定されているパーミッション。
→rwxrwxrwt
※全てのユーザーにすべての権限が与えられ、かつスティッキービット(t)が設定されている。
例:スティッキービット(Sticky bit)について、正しく説明しているもの。
→ファイルのオーナーとrootユーザーのみがファイルを削除できる。
例:ディレクトリ「subdir」に対してスティッキービット(Sticky bit)を設定するコマンドライン。
→chmod o+t subdir
例:コマンド「chmod 1777 /dir」の意味として正しいもの。
→「/dir」にはすべてのユーザーがファイルを配置できる。
→「/dir」に作成したファイルは、作成者かrootユーザーだけが削除できる。
※「1777」は、「777(全てのユーザーに対する読み取り、書き込み、実行権)」に加えてスティッキービット(Sticky bit)を設定する。
例:以下のディレクトリ「tmpdir」に対して可能な操作。
$ ls -ld tmpdir
drwxrwxrwt 2 user01 user 25 Nov 10 13:55 tmpdir
→ユーザーuser01は自分が作成したファイルを削除できる。
■シンボリックリンクとハードリンク
・「シンボリックリンク」とは元ファイルの場所を指し示すリンクのことです。特徴は以下です。
→Windowsでいうショートカットのような。
→異なるファイルシステム(パーティション)のファイルやディレクトリへリンクできる。
→ディレクトリに対するリンクが作成可能である
→元ファイルが削除されるとアクセスできなくなる。
・「ハードリンク」とはファイルの実体を直接参照するリンクのことです。特徴は以下です。
→異なるファイルシステム(パーティション)のファイルへリンクできない。
→ディレクトリのハードリンクは作成できない。
→元ファイルが削除されてもアクセスできる。
例:シンボリックリンクについて正しく述べているもの。
→ディレクトリのリンクを作成することができる
→異なるファイルシステムのファイルに対しても作成できる
例:以下の ls -l の結果について正しく述べているもの。
$ ls -l file
lrwxrwxrwx 1 user01 user 6 Nov 19 18:28 file -> ping-t.txt
→ファイル「file」は「ping-t.txt」のシンボリックリンク。
→ファイル「ping-t.txt」を更新すると「file」を参照した時に反映されている。
例:コマンド「ln -s /home/user01/file file.lnk」について正しい説明。
→シンボリックリンクを作成する
例:ディレクトリ「Dir1」のシンボリックリンク「Dir2」を作成するコマンドライン。
→ln -s Dir1 Dir2
※【書式】ln [-s] 元ファイルやディレクトリ リンクファイル
<図解:シンボリックリンクとハードリンク>
・元ファイル(File1)へのリンクのため、元ファイルが削除されるとアクセスできなくなる。
・元ファイル(File1)を更新すると、シンボリックリンクを参照した時に更新が反映されている。
・元ファイル(File1)へのリンクではなく、元ファイルが参照している実体ファイルへのリンク。