トップページ > コンテンツ > ネットワーク関連メモ > ネットワーク運用編 > UNIXディレクトリ構成

全部は書ききれないので、一部抜粋。
記載例は元々CENT-OS6ベースで書いていたが、
CENT-OS7とか各種モジュールもちょいちょい入れはじめたので、
ごちゃ混ぜ状態に。。。まぁファイルを探す目安程度になれば。

第1階層 第2階層 第3階層 第4階層 説明
bin(コマンド系)
boot(起動ファイル) vmlinuz-カーネル名 カーネル本体
grub grub.conf ブートローダーの設定ファイル(CentOS6の場合)
grub2 grub.cfg ブートローダの設定ファイル(CentOS7の場合)。このファイルを直接編集は非推奨。設定を変更したい場合、/etc/default/grubを編集する
initramfs[xxxx].img mini root用のファイルフォーマット。ルートディレクトリをcpioという形式でgzipでアーカイブ化してある。
initrd[xxxx].img initrd(多様なシステム構成に対応して、linuxが起動するための仕組み。カーネルに無いモジュールを読み込んだり)。
dev(デバイスファイル)
disk by-uuid この階層配下のファイルリンクをls -l等で見ることでディスクに紐づくUUIDを知ることができる
fd ファイルディスクリプタ
0 標準入力。/dev/pts/Xを指す
1 標準出力。/dev/pts/Xを指す
2 標準エラー出力。/dev/pts/Xを指す
hd IDEのハードディスク
mapper 論理ボリューム(LV)を表す。[ボリュームグループ名]-[論理ボリューム]という名前で、カーネルが管理する便宜上のデバイスをマッピング管理しているdm-Xへのリンクが貼られている。直接触ることはあまり無い
null データを捨てるという意味
pts 端末にSSH接続してきたユーザとやり取りをするファイル。
/dev/pts/0や/dev/pts/1等は仮想ターミナルを表す。
コマンド結果のリダイレクト先を/dev/pts/0などに指定すると、その番号のターミナルでサーバにアクセスしているユーザに対し、結果を表示できる
random 乱数生成機
sd SCSIまたはSATAのハードディスク
stdin 標準入力。/proc/self/fd/0を指すシンボリックリンク(OS等いにより差し先は異なる。)
stdout 標準出力。/proc/self/fd/1を指すシンボリックリンク(OS等いにより差し先は異なる。)
stderr 標準エラー出力。/proc/self/fd/2を指すシンボリックリンク(OS等いにより差し先は異なる。)
zero /dev/nullと似ているが、ddコマンドを使ってみると0x00埋めするという違いに気づける模様。
etc(設定ファイル) aliases Sendmail用ファイル
anacrontab クーロン(定期的にジョブを実行するもの)の設定。
※crontabの場合システム停止時はジョブを実行しないが、
anacrontabは一定時間後にジョブ実行が可能
at.allow atコマンドを許可するユーザを記述する
at.deny atコマンドを拒否するユーザを記述する
audit auditd.conf audit(コマンドログやファイル変更の記録)の設定ファイル。改ざん検知とかに使える。
audit.rules audit(コマンドログやファイル変更の記録)におけるログ出力方針等のルールを規定
avahi コンピュータのホスト名の自動解決等を提供する。Zeroconfの実現方式の一つで、DNSにもちょっと似ている。
bashrc bashシェルを起動した時に読み込まれる設定ファイル。あまり弄ることは無い気はする。
cron.allow cronを許可するユーザを記述する
cron.deny cronを拒否するユーザを記述する
cron.d 自動的に実行するジョブを格納。
他にもcronを実行するタイミングに合わせて、cron.daily,cron.hourly,cron.monthly,cron.weeklyなどがある。
crontab root権限でクーロン(定期的にジョブを実行するもの)実行するための設定。ユーザ権限で実行する場合は/var/spool/cron配下をcrontabコマンドで編集する
crypttab システムの暗号化に関する設定
default 各種コマンドの設定値が置かれている
dhcpd.conf DHCPサーバの設定ファイル
environment システムの環境設定を記載するファイル
exports NFSの設定
filesystems AIXにおける、システム起動時にマウントされるデバイスの設定
firewalld ファイアウォール設定。CENT OS7からiptablesからfirewalldに変更になった。
fstab BSDにおける、システム起動時にマウントされるデバイスの設定。mountコマンドが手動なのに対し、ここで設定すると自動でマウントできる。
group ユーザグループを管理:ユーザ名、グループ名
gshadow グループパスを管理:ユーザ名、パスワード
host.allow,host.deny アクセス許可・拒否するクライアント設定
host.conf,nsswitch.conf 名前解決を決定するものにはhostsファイルと
resolv.conf(DNSサーバ)があるが、
どちらの名前解決を優先して実施するかを決めるファイル。
hostname ホスト名を記載。CentOS7以降はnmcli generalで設定する。
hosts IPとホスト名の対応表
httpd conf httpd.conf Apache動作設定ファイル。
conf.d ssl.conf SSL設定ファイル
logs access_log Apacheのアクセスログ
logs error_log Apacheのエラーログ
idmapd.conf NFSv4の設定ファイル。サーバとクライアントでドメイン名を合わせて設定しておく必要有
init.d /etc/rc.d/init.dへのシンボリックリンク
inittab init(システム起動時)の際の動作の設定。CentOS7とかではsystemctl set-default ターゲット名等で編集
inputrc キーバインドの設定を変更する場合等に編集するファイル。入力補完などで便利。
issue ログイン完了前に表示するシステムバナー
kdump.conf カーネルダンプの設定
ld.so.conf 共有ライブラリの検索パス設定。システム全体として/usr/lib/や/lib以外に共有ライブラリを置く場合に設定する。設定する時には、ldconfigコマンドを実行して、/etc/ld.so.cacheを生成し有効化する。個人ごとに設定する場合は、環境変数のLD_LIBRARY_PATHに登録することが多い(例えば、共有ライブラリとして上記場所以外に/usr/local/libを指定する等)。
logrotate.d サービスごとのログの保存期間を設定する
login.defs shadowログインに関する設定を記載。パスワードポリシーを設定可能。既存のユーザには適用されないので、必要に応じてchageコマンド等も活用すること。
logrotate.conf ログをいつまで保存しておく等、ログのローテーションを決めるファイル。
logrotate.dフォルダ配下ではサービスごとのログのローテーションを定義するが、こちらは全サービス共通の設定ファイルという位置づけ。
mke2fs.conf mke2fsコマンドのパラメータ設定
modprobe.conf モジュールドライバを指定する。
motd ログイン完了後に表示するシステムバナー
mtab マウント状態が書かれたファイル
my.cnf MySQLの設定
named.conf DNS(マスター、ゾーンサーバの設定)
networks ネットワーク名とアドレスの対応関係を記載
ntp.conf NTPの設定ファイル。どのNTPサーバを参照するかを記載する。
pam.d su suを実行できるユーザを制限したりできる
system-auth OS全体の認証(ssh,ログイン等)を設定する。色々なアプリのパスワードを統合するOS版シングルサインオンがイメージ近いかも。ちなみにデフォルトではshadowログインと同様で、パスワードポリシーを設定可能。
password-auth ミドルウェアの認証を設定する。
passwd ユーザ情報を管理。このファイルは直接書き換えてはいけない。書き換える場合はvipw等を使う。
pki tls openssl.cnf openssl(HTTPS)の設定ファイル
postfix main.cf,master.cf Postfix設定ファイル
ppp pppoe.conf pppoeの設定ファイル
profile ログインシェルの環境変数を記載するスクリプト
profile.d xxxx.sh アプリケーションごとの設定を記載。/etc/profileで呼び出すように設定されている。
rc.d init.d サービス関連のスクリプトがあり、/etc/rc.d/サービス名 startのような形で起動できる。このファイルを直接編集することは推奨されない。chkconfigやinsservコマンドを使用しよう。
rc3.d このフォルダ内のファイルの番号からサービス起動順序が分かる
rc.local linux起動時に自動起動するものを記述
resolv.conf DNSサーバの情報を記述
rsyncd.conf rsyncデーモンの動作を設定するファイル
samba smb.conf Sambaの設定ファイル
security access.conf pam認証によるsshのアクセス制限の設定ファイル
limits.conf PAM認証の設定ファイルでユーザやグループごとに適用するリソース制限を記述
opasswd 過去に使用したパスワードが保存されているファイル
selinux config SElinuxの設定ファイル
targeted contents¥files SElinuxのファイルアクセス権と言える、SElinuxコンテキストのポリシーを決めているファイル
sevices サービス名と対応するポート番号の設定
shadow ユーザパスを管理:ユーザ名、パスワード
shells 実行可能なシェルを設定
skel ユーザ追加時のユーザディレクトリの雛形を担う
smartd.conf smartd(HDDの自己診断機能)の設定ファイル
squid squid.conf プロキシの設定ファイル
ssh sshd_config sshの設定ファイル(サーバ側[sshを受け取る])。sshの認証キーはssh-keygenコマンドで生成できる。
ssh_config sshの設定ファイル(クライアント側[sshを送る])
ssl
sudoers sudoの実行可能ユーザ等の設定。編集する際にはvisudoコマンドを利用する。尚、このファイルを直接編集する時(非推奨)はうっかりroot権限で入れなくならないようにroot権限のパスワードを控えておくと良い。
sysconfig システムの構成を制御するようなファイルが置かれている。
CentOS7からはここにあるファイルを直接変更するのでなくnmcli等を使うようになった。
network ホスト名とかゲートウェイ情報
network-scripts ifcfg-eth0 ネットワークインタフェースの設定
ifcfg-lo ローカルインタフェースの設定
route-eth0 スタティックルートの設定
ifcfg-bondX bondingドライバを使って複数NIC(eth0,eth1等)を束ねる時の設定
ifcfg-brX bridgeの設定
iptables ファイアウォールの設定。このファイルに書き込むことで再起動後もiptableの設定は残ったままとなる。尚、このファイル自体を直接書き換えることは少なく、通常は/etc/init.d/iptables saveコマンドを実行する。
selinux SELINUXの設定
sysstat リソース状態の保存期間を設定する
syslog.conf,rsyslog.conf ログ設定ファイル
sysctl.conf Linuxカーネルパラメータの設定ファイル
systemd system xxxx.service サービスとして動作させるUnitの定義ファイル。
以下の準に優先される。
1./etc/systemd/system
2./run/systemd/system
3./lib/systemd/system
4./usr/lib/systemd/system
system-generators システム環境に応じて、動的にUnitファイルを生成するgenerator群
tmpfiles.d 一時ファイルの生成・削除等に関する設定ファイル。/usr/lib/tmpfiles.dよりも優先される。
udev rules.d このフォルダ配下にある設定ファイルに従って、デバイスファイルを作成する。例えばネットワークインタフェース名を変えるようなことも出来る。無い場合は/usr/lib/udev/rules.dのデフォルトルール付でデバイスファイルが生成される。
vsftpd vsftpd.conf vsftpdの設定ファイル
xinetd.conf telnetやssh等複数サービスの設定を行うファイル
xinetd.d telnet telnetの設定ファイル
yum pluginconf.d redhat系の場合、ここにサブスクリプション用のリポジトリ設定ファイルがある
yum.conf yumの構成設定ファイル。yumの際のプロキシ設定もここで行う。
yum.repos.d xxxxx.repo yum installする時等に使用するリポジトリ
ゾーンファイル dnsの正引き逆引きの設定ファイル
エイリアスファイル
home(ホームディレクトリ) .bash_history historyコマンド実行時に参照されるコマンド履歴
.bash_login .bash_profileが無い時に読み込まれる
.bash_profile ログインした時に読み込まれるbashの環境設定。exportして環境変数を決めるのに使う。
.bash_rc bash起動ごとに読み込まれるbashの環境設定。
.profile .bash_loginが無い時に読み込まれる
.ssh authorized_keys SSHで公開鍵認証をする際には個人ユーザの公開鍵をここに記載する
config ssh接続の際のポート指定や鍵名指定がデフォルトでない場合に役立つ。
lib(共有ライブラリ)
modprobe.d modprobeコマンドの設定ファイル
modules /boot/vmlinuz*に対応するカーネルモジュール
カーネルバージョン modules.dep モジュールの依存関係のリスト。modprobeコマンドが依存関係を調べるのに使用される
systemd system サービスとして動作させるUnitの定義ファイル。
以下の準に優先される。
1./etc/systemd/system
2./run/systemd/system
3./lib/systemd/system
4./usr/lib/systemd/system
lost+found(壊れてしまったファイル)
media(外部メディア)
mnt(マウント)
net
opt(追加アプリ)
proc(プロセス情報) プロセス等の情報をファイルとして仮想的に扱うためのディレクトリ
数字(プロセスID) プロセスIDに紐づく固有の情報
fd プロセスのファイルディスクリプタの向き先
status プロセスの状態
bus pci devices PCIデバイスの情報が載っている。通常はlspciコマンドなどで確認する。
cgroups システムリソース(CPUやメモリ等)の割当、優先度の変更等を行う
cpuinfo マシンのプロセッサ情報
filesystems マウントする時のファイルシステムのリスト
pid http://ja.wikipedia.org/wiki/Procfsを参照のこと。
meminfo メモリ使用状況を見れる。freeコマンドでも確認可。
modules linuxカーネルのモジュール情報
mounts カーネルが出力するマウント状態
mdstat RAID状態を見れる。mdadmコマンドでも確認可。
net ネットワーク関連の情報が入っている
partitions partition情報
sys カーネル・パラメータを収容するディレクトリ。/sbin/sysctl -aで閲覧可能。
swaps 有効になっているスワップを見れる。freeコマンドでも確認可。
version カーネルのバージョン情報
root(rootのホームディレクトリ)
run 実行時の変数等を格納する場所
systemd system サービスとして動作させるUnitの定義ファイル。
以下の準に優先される。
1./etc/systemd/system
2./run/systemd/system
3./lib/systemd/system
4./usr/lib/systemd/system
sbin(システム管理コマンド等)
init SysVinitの本体。/etc/inittabの設定内容に従って、サービス起動処理を行う。
nologin サーバデーモン等ログインできて欲しくないユーザに指定させるシェル
srv FTP,wwwで利用するユーザ用スペース
sys(仮想ファイルシステム:sysfs) /procと似た情報が入る。主にハードウェアデバイス情報等
block カーネルが認識するブロックデバイス
sda queue/scheduler ディスクIOのスケジューラ。IOのチューニング等で設定する。参考:http://tfcenturion.hatenablog.com/entry/2015/11/07/091307
class net 仮想/論理/物理のデバイス情報が分かる
デバイス名/address MACアドレス
tmp(一時ファイル)
usr(プログラム類) libexec postfix master postfixの中心プログラム
bin OS標準等の一般的なコマンド類置き場
smbpasswd Sambaユーザ作成実行ファイル
sbin(システム管理コマンド等) デーモン類等 各種サービスの本体
include プログラムのヘッダファイル等
lib ライブラリファイル
modules カーネル・バージョン カーネルが起動時に読み込むモジュール
systemd system システムデフォルトのサービスとして動作させるUnitの定義ファイル。
以下の準に優先される。
1./etc/systemd/system
2./run/systemd/system
3./lib/systemd/system
4./usr/lib/systemd/system。ユーザ定義で追加・修正等の変更を施す場合は、ここのファイルを/etc/systemd/systemにコピーしてから変更する。
systemd systemdの本体
tmpfiles.d tmpファイルのデフォルト設定。ユーザ定義で追加・修正を施す場合は、/etc/tmpfiles.d配下にconfファイルを作成し、編集する。
udev rules.d 動的にデバイスファイルを扱うためのルールファイル。
libexec コマンドから内部的に呼ばれる補助コマンドの置き場
local(ローカルで必要なコマンド、ライブラリ等) bin OS標準外の実行ファイル置き場。/usr/binが正式版の位置づけなら、こちらは評価版の位置づけ。
lib
share ドキュメントファイル等
src ソースコード置き場
kernels カーネルのソースコード
var(変化するデータ類) www html html保存先
cache 一時的な記憶場所。
yum yumがリポジトリからダウンロードしたデータを配置する
crash システムクラッシュ時のdumpデータ
named ゾーンデータベースファイル
lib アプリケーションやシステムが持つデータ類
dhcpd dhcpd.leases DHCPサーバが貸出を行ったIPアドレス等の情報を記録したログ
rpm rpm関連のデータを格納するデータベース
local /usr/local用のログ保存場所
lock ファイルの読み書きのロックファイル
log ログファイル系
opt /optの動的ファイル置き場
run 特定プロセスのプロセス番号を含んだファイル。プロセスにシグナルを送る際に、psコマンドでプロセス番号を調べずに済む
utmp ログインしているユーザ情報を記載しており、wやwhoコマンド実行時の参照先
spool cron user名 ユーザ権限で実行させるcron。crontabコマンドで本ファイルを更新する。
tmp システム関連の一時ファイル置き場
最終更新:2021年01月24日 11:26