#author("2025-04-26T23:30:55+09:00","default:k1rou","k1rou") #author("2025-04-26T23:43:25+09:00","default:k1rou","k1rou") *Linuxのファイル管理 [#k4600b66] -[[Linuxコマンド]] *パーミッション設定:所有者、所有グループ [#af8ced45] **chown [#gb500542] -chown <user-name>:<group-name> <file/dir-name> ※所有者と所有グループを変更 -chown <user-name> <file/dir-name> ※所有者を変更 -chown :<group-name> <file/dir-name> ※所有グループを変更 -chown <option> <user-name> <directory-name> chown -R <user-name> <directory-name> ※指定したディレクトリ配下を変更 **chgrp [#f2a6cf15] -chgrp <group-name> <file/dir-name> ※所有グループを変更 -chgrp <option> <group-name> <file/dir-name> chgrp -R <group-name> <directory-name> ※指定したディレクトリ配下を変更 *パーミッション設定:アクセス権 [#rfc72d02] **chmod [#g49e4583] -ファイルのアクセス権 --読み取り権限:ファイルを開いて中身を読み取ることの可否 --書き込み権限:ファイルの内容を変更することの可否 --実行権限:ファイルの実行の可否(スクリプト、バイナリのプログラムの実行の可否) ---ファイルが格納されているディレクトリの所有者または管理者権限を持つユーザーしか実行権限を付与できない。 -ディレクトリのアクセス権 --読み取り権限:ディレクトリの内容の一覧表示の可否(ディレクトリ内のファイルを開く為には、ディレクトリが読み取り可能である必要がある) --書き込み権限:ディレクトリ内のファイルとサブディレクトリの作成・削除の可否 --実行権限:ディレクトリ内に移動することの可否、またディレクトリ内のファイルへのアクセス(開く、実行など)の可否 ***書式 [#a80d96ea] -chmod <mode> <file-name> -chmod <option> <mode> <file-name> --chmod -R <mode> <directory-name> chmod -R 777 <directory-name> ※ディレクトリ配下の権限を変更 ***modeの指定:数値指定 [#yc703c8a] -2進数 --000 〜 111 -10進数 --0 〜 7 ※読取、書込、実行 chmod 777 <file-name> --4000 ※SUID chmod 4711 <file-name> --2000 ※SGID chmod 2711 <file-name> --1000 ※スティキービット chmod 1777 <directory-name> ***modeの指定:シンボル指定 [#ib9473a7] -<対象><操作><許可条件> --対象:u/g/o/a(所有者、グループ、その他、全て) --操作:+/-/=(追加、削除、権限を指定) --許可条件:r/w/x(読取、書込、実行) --許可条件:s(SUID,SGID) --許可条件:t(スティッキービット) --許可条件:X(実行権限が付与されているファイル,ディレクトリの実行) --許可条件:u/g/o(所有者、グループ、その他) chmod u+w <file-name> ※所有者に書き込み権限を追加する chmod go+r <file-name> ※グループとその他に読み取り権限を追加する chmod go+r <file-name> ※グループとその他の読み取り権限を削除する ***SUID [#pe94d764] -Set User ID ※実行時のユーザID指定 -ファイルへのSUIDの付与 --SUIDが付与されているファイルを実行すると、ファイルの所有者の権限で実行される -ファイルの所有者の実行権の表現:s -ファイルにSUIDを付与するコマンド chmod u+s <file-name> -例:passwd コマンド ***SGID [#v6ae5519] -Set Group ID ※実行時のグループID指定 -ファイルへのSUIDの付与 --SGIDが付与されているファイルを実行すると、ファイルの所有グループの権限で実行されるようになる -ディレクトリへのSUIDの付与 --SGIDが付与されているディレクトリ内にファイルやディレクトリが作成されると、所有グループにSGIDが付与されているディレクトリの所有グループが設定される。 -グループの実行権の表現:s -ファイルにSGIDを付与するコマンド chmod g+s <file-name> ***スティッキービット [#vbb55bd9] -sticky bit -ディレクトリへのスティッキービットの付与 --スティッキービットを設定したディレクトリでは、書き込み権限があっても、自分以外のユーザーが所有するファイルを削除できない。 --スティッキービットが付与されているディレクトリ内のファイルを、ファイルの所有者、ディレクトリの所有者、管理者権限以外は削除できない。 --ファイルの作成や書き込み権限があっても削除はできない。 -その他の実行権の表現:t -ディレクトリにスティッキービットを付与するコマンド chmod o+t <file-name> -例:/tmp ディレクトリ ※誰でも書き込みできるが、所有者以外は削除できない **umask [#h3dee37a] -デフォルトのアクセス権を決めるumask値を表示・設定する -umask ※表示 umask -umask <mask-value> ※設定する umask 0002 -umask値 --ファイル(666)やディレクトリ(777)からumask値を引いた値が、ファイルやディレクトリを作成した際のアクセス権限として設定される。 *リンク [#v5453219] **ln [#o467643f] -リンクの作成 ln <file_name_origin> <file_name_link> ※ハードリンクを作成 ln -s <file_name_origin> <file_name_link> ※シンボリックリンクを作成 ls -li ※iノード番号を確認 cp -d <file_name_symbolic_link> <file_name_link> ※シンボリックリンクをコピー(-dを付けないとリンク元のファイル本体をコピーする) **unlink [#l13fc8dd] -リンクの削除 unlink <file_name_link> **alternatives [#wdc12760] -複数のバージョンのツールがインストールされている環境でバージョンを切り替えて管理する -/etc/alternatives ディレクトリ内のシンボリックリンクを使ってバージョンを切り替える -udpate-alternatives コマンドはalternatives のシンボリックリンク -2つのモードがある --auto : priority の高い方が自動で選択される --manual : 手動で使用するバージョンを選択する -参照 alternatives --list ※設定済の一覧を表示 alternatives --display <command> -バージョンの切り替え(Alternativesのデフォルト設定) --対話形式 alternatives --config <command> --非対話形式 alternatives --set <command> <refer-path> -設定(Alternativesに登録・削除) --登録 alternatives --install <link-path> <command> <refer-path> <priority> --削除 alternatives --remove <command> <refer-path> -手動/自動の切り替え alternatives --auto <command> alternatives --manual <command> -設定ファイル /etc/alternatives/ /var/lib/alternatives/ **readlink [#h00ffb34] readlink --canonicalize <command-path> readlink -f $(which <command>) *関連サイト [#e3a3e60e] -「シンボリックリンクの削除」に unlinkコマンドを使う理由(2022.10.01) - beyond~ https://beyondjapan.com/blog/2022/10/why-sl-unlink/ -CentOSのalternativesでJavaのバージョン管理 - TASK NOTES~ https://www.task-notes.com/entry/20150530/1432954800 *関連用語 [#xb39bdfb] -[[Linuxコマンド]] -[[FHS]] -Filesystem Hierarchy Standard