Linuxのファイル管理†
パーミッション設定:所有者、所有グループ†
chown†
- chown <user-name>:<group-name> <file/dir-name> ※所有者と所有グループを変更
- chown <user-name> <file/dir-name> ※所有者を変更
- chown :<group-name> <file/dir-name> ※所有グループを変更
chgrp†
パーミッション設定:アクセス権†
chmod†
- ファイルのアクセス権
- 読み取り権限:ファイルを開いて中身を読み取ることの可否
- 書き込み権限:ファイルの内容を変更することの可否
- 実行権限:ファイルの実行の可否(スクリプト、バイナリのプログラムの実行の可否)
- ファイルが格納されているディレクトリの所有者または管理者権限を持つユーザーしか実行権限を付与できない。
- ディレクトリのアクセス権
- 読み取り権限:ディレクトリの内容の一覧表示の可否(ディレクトリ内のファイルを開く為には、ディレクトリが読み取り可能である必要がある)
- 書き込み権限:ディレクトリ内のファイルとサブディレクトリの作成・削除の可否
- 実行権限:ディレクトリ内に移動することの可否、またディレクトリ内のファイルへのアクセス(開く、実行など)の可否
- chmod <mode> <file-name>
- chmod <option> <mode> <file-name>
modeの指定:数値指定†
modeの指定:シンボル指定†
SUID†
- Set User ID ※実行時のユーザID指定
- ファイルへのSUIDの付与
- SUIDが付与されているファイルを実行すると、ファイルの所有者の権限で実行される
- ファイルの所有者の実行権の表現:s
- ファイルにSUIDを付与するコマンド
chmod u+s <file-name>
- 例:passwd コマンド
SGID†
- Set Group ID ※実行時のグループID指定
- ファイルへのSUIDの付与
- SGIDが付与されているファイルを実行すると、ファイルの所有グループの権限で実行されるようになる
- ディレクトリへのSUIDの付与
- SGIDが付与されているディレクトリ内にファイルやディレクトリが作成されると、所有グループにSGIDが付与されているディレクトリの所有グループが設定される。
- グループの実行権の表現:s
- ファイルにSGIDを付与するコマンド
chmod g+s <file-name>
スティッキービット†
- sticky bit
- ディレクトリへのスティッキービットの付与
- スティッキービットが付与されているディレクトリ内のファイルを、ファイルの所有者、ディレクトリの所有者、管理者権限以外は削除できない。
- ファイルの作成や書き込み権限があっても削除はできない。
- その他の実行権の表現:t
- ディレクトリにスティッキービットを付与するコマンド
chmod o+t <file-name>
- 例:/tmp ディレクトリ ※誰でも書き込みできるが、所有者以外は削除できない
umask†
- デフォルトのアクセス権を決めるumask値を表示・設定する
- umask ※表示
umask
- umask <mask-value> ※設定する
umask 0002
- umask値
- ファイル(666)やディレクトリ(777)からumask値を引いた値が、ファイルやディレクトリを作成した際のアクセス権限として設定される。
リンク†
unlink†
- リンクの削除
unlink <file_name_link>
alternatives†
- 複数のバージョンのツールがインストールされている環境でバージョンを切り替えて管理する
- /etc/alternatives ディレクトリ内のシンボリックリンクを使ってバージョンを切り替える
- udpate-alternatives コマンドはalternatives のシンボリックリンク
- 2つのモードがある
- auto : priority の高い方が自動で選択される
- manual : 手動で使用するバージョンを選択する
- バージョンの切り替え(Alternativesのデフォルト設定)
readlink†
readlink --canonicalize <command-path>
readlink -f $(which <command>)
関連サイト†
関連用語†