LoginSignup
1
0

More than 3 years have passed since last update.

LPIC・ファイルの管理

Last updated at Posted at 2020-12-06

個人的なメモです。

ファイルのパーミッション

☆パーミッション

・ファイルやディレクトリに「誰に」「どのような操作を」許可するのかをそれぞれ個別に設定すること
・設定されたパーミッションは、「ls-l」コマンドで調べることができる

(例)「ls-l」コマンド実行
image.png
・上記のように「ls-l」コマンドを実行すると、パーミッション(アクセス権)、ファイルの所有者、所有するグループ名などが表示される

パーミッションの内容

パーミッションで表示される内容には、主に以下のような種類がある

(例)パーミッション(アクセス権)
image.png

①ファイルの種別・・・ファイルの種類を表すもので、パーミッションそのものではない。主な種類は以下

(表)ファイルの種別

主な種類 説明
- 通常ファイル
d ディレクトリ
l シンボリックリンク

②ユーザー(所有者)のパーミッション(アクセス権)
③グループのパーミッション(アクセス権)
④その他のユーザーのパーミッション(アクセス権)

どのような操作を許可するのかを表すのに、「r」「w」「x」を使用する。これらは、ファイルかディレクトリかによって意味が異なる

(表)「r」「w」「x」

種類 ファイルの場合 ディレクトリの場合
読み取り権(r) ファイルの内容を読むことができる。more,cat,cpなどが使用可能 ディレクトリの内容を表示することができる。lsなどが実行可能
書き込み権(w) ファイルの内容を編集することができる。viなどが使用可能  ディレクトリ内のファイルやディレクトリを作成や削除する子tができる。mkdir,touch,rmなどが使用可能
実行権(x) 実行ファイルとして実行ができる ディレクトリへ移動することができる。cdなどが使用可能

※ディレクトリに対する実行権では、他のディレクトリからcdコマンドで移動する際に、その移動先のディレクトリに実行権が付与されていないと移動できない
※許可しないことを表すには「-」

重要なコマンド

groupsコマンド・・・自分の所属グループを表示するコマンド

idコマンド・・・自分がどのユーザでログインしているか、またどのグループに所属しているのかを調べるコマンド

chmodコマンド・・・既存のファイルやディレクトリに設定されているパーミッションを変更するコマンド。変更できるのは、所有者またはユーザのみ

chownコマンド・・・指定されたファイルの所有者とグループを変更するコマンド。実行できるのはrootユーザのみ

chgrpコマンド・・・グループのみの変更するコマンド。rootユーザ以外でもそのグループに属しているユーザであれば実行可能

※rootユーザは、所有者が自分以外のファイルもグループを変更できる。また変更先のグループ名は、自分が所属していないグループでも指定可能である
※一般ユーザは、所有者が自分のファイルのみグループを変更できる。また変更先のグループ名は、自分が所属しているグループのみ指定可能である

(表)chmod、chown、chgrpコマンドで使用されるオプション

主なオプション オプション
-R ディレクトリに指定した場合、サブディレクトリを含め再帰的にパーミッションが変更される

シンボリックモードとオクタルモード

コマンドの引数で指定するモードは、シンボリックモードオクタルモードの2種類がある

シンボリックモード・・・文字や記号を用いてパーミッションを変更する

chmod (①ユーザ) (②操作) (③パーミッション)  ファイル名

①ユーザ

文字 説明
u 所有者
g グループ
o その他
a 全てのユーザ

②操作

記号 説明
+ 許可を与える
- 許可を削除する
= 許可を設定する

③パーミッション

文字 説明
r 読み取り
w 書き込み
x 実行権

オクタルモード・・・目的のパーミッションを8進数の数値を使って変更する
image.png

☆umask値

・アプリケーションによって指定されたパーミッションに対し、「ユーザ」「グループ」「その他」ごとに割り当てたくないパーミッションを指定したもの
・ユーザのデフォルトパーミッションはシェルに設定されたumask値で決まる
・umaskの値は親プロセスから子プロセスに引き継がれる

(表)デフォルトパーミッション

ファイル ディレクトリ
作成時にアプリケーションが指定するパーミッション 666 rw- rw- rw- 777 rwx rwx rwx
umask値 002 --- --- -w- 002 --- --- -w-
デフォルトのパーミッション 664 rw- rw- r-- 775 rwx rwx r-x

umaskコマンド・・・現在設定されているumask値を確認する

☆SUID、SGID、スティッキービット

種類 数値表現 文字列表現 ファイルの場合 ディレクトリの場合 使用例
SUID 4000 u+s コマンドが所有者の権限で実行される /usr/bin/passwd
SGID 2000 g+s コマンドが所有グループの権限で実行される 作成されるファイルやディレクトリはそのグループを継承する /usr/bin/write
スティッキービット 1000 o+t アクセス権が許可されていてもファイルの削除は行えないようにする設定 /tmp

ハードリンクとシンボリックリンク

lnコマンド・・・ファイルへのリンクを作成する。同一ファイルに異なる2つの名前を持たせることができる。したがって、データのコピーが行われているのではなく、同じデータを指している。リンクにはハードリンクシンボリックリンクの2種類がある

☆ハードリンク

(構文)
ln オリジナルファイル名 リンク名

・リンクファイルが使用するiノード番号はオリジナルファイルと同じ番号
・ディレクトリをもとにリンクファイルを作成することはできない
・iノード番号は同一ファイルシステム内でユニークな番号なので、異なるパーティションのハードリンクを作成することはできない
image.png

☆シンボリックリンク

(構文)
ln -s オリジナルファイル名 リンク名

・リンクファイルが使用するiノードはオリジナルファイル
・ディレクトリをもとにリンクファイルを作成可能
・オリジナルファイルと別のパーティションにリンクファイルを作成可能
・パーミッションの先頭は、ファイルタイプとしてシンボリックリンクファイルを表す「l」が表示される
image.png

コマンドとファイルの検索

☆ファイル検索コマンド

findコマンド・・・指定したディレクトリ以下で、指定した検索条件に合致するファイルを検索する。を利用することで様々な条件を指定できる。式は、オプション、条件式アクションから構成される

(構文)
find [オプション] [path] [式]

主な式 説明
-name 指定ファイル名で検索する
-type ファイルのタイプで検索する。d(ディレクトリ)、f(通常ファイル)、l(シンボリックリンクファイル)
-size 指定したブロックサイズで検索する
-atime 指定した日時をもとに、最終アクセスがあったファイルを検索する
-mtime 指定した日時をもとに、最終更新されたファイルを検索する
-uid ファイルの所有者のユーザIDを指定
-user ファイルの所有者のユーザ名またはユーザIDを指定
-perm ファイルのパーミッションを指定。パーミッションが完全に一致したファイルを検索
-print 検索結果を標準出力する
-exec command \; 検索後、コマンド(command)を実行する

※空白文字が入ってるファイル名をxargsコマンドに渡すときは、-print0オプションを使用

locateコマンド・・・findコマンドでは、オプションを指定する必要があるが、locateコマンドは、データベースを使用してインデックス検索を行っているため高速に検索できる。しかし、日々データベースの更新を行わないと検索対象外になるので、updatedbコマンドを使用する

(構文)
locate [オプション] パターン

updatedbコマンド・・・データベースの更新を行う。設定ファイルは/etc/updatedb.confファイル

(表)オプション

主なオプション 説明
-e データベースのファイルの一覧に取り込まないディレクトリパスを指定する
-o 更新対象のデータベース名を指定する。独自に作成したデータベースを指定したい場合に使用

※特定のディレクトリをデータベース作成の対象から外す場合は、「updatedb -e ディレクと名」とするか、/etc/updatedb.confファイルに記載する

☆その他検索コマンド

whichコマンド・・・指定されたコマンドがディレクトリに格納されいるかを、PATH環境変数で指定されたディレクトリをもとに探す

whereisコマンド・・・指定されたコマンドのバイナリ・ソース・マニュアルページの場所を表示する

typeコマンド・・・コマンドのタイプ(バイナリなのか、エイリアスなのか等の情報)を表示する

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0