xwininfo はウィンドウの情報を表示する
ディスプレ繧?mgrはユーザ鐔??証やシェルの起動縺? XDM, GDM, KDM, LightDM等
ウィンド繧?mgr縺?Xの藹??観縺? twm, fvwm, enlightenment, Mutter, Fluxbox, Compiz, KWin等
キーボードのアクセシビリティに縺? スティッキーキー、スローキー、バウンスキー、トグルキー、マウスキー軆??
■システム管理1
ユーザ情報縺? /etc/passwd に格軆??
シャドウパスワード利用時はパスワード情報縺? /etc/shadow に格軆??
グループ情報縺? /etc/group に格軆??
ユーザ情報の追加 useradd
ユーザ情報の削髯? userdel
ユーザ情報の藹??譖? usermod
グループ情報の追加 groupadd
グループ情報の削髯? groupdel
グループ情報の藹??譖? groupmod
ユーザパスワードの設定 passwd
useradd時縺? /etc/skel以臀??がユーザのホームdirにコピーされる
定期的なジョブ実行に縺? cron
ログインユーザで設定・藹??行される(sudo crontab -e縺?Root実行という諢?味・??
システムが起動していなかった時縺?cronジョブ縺? anacron で藹??行
anacron の設定縺? /etc/anacrontab
1回限りのジョブ予約縺? at 日時cmd、確鐔??縺? atq あるい縺? at -l
ジョブの削除縺? atrm あるい縺? at -d
ロケール確認縺? locale
文字コードを変觸?? iconv
タイムゾーン縺? /usr/share/zoneinfo 以臀??にあり /etc/localtime にコピーする
システムのタイムゾーンは環藹??変謨? TZ、/etc/timezone に設定する
■システム管理2
システムクロックを設藹??するに縺? date
繝?ードウェアクロック縺? hwclock
NTPサーバに蝠?い合繧?せシステムクロックを設藹??するに縺? ntpdate
NTPサーバプロセス縺? ntpd、設藹??ファイル縺?ntp.conf
syslogの設定縺? etc/syslog.conf、ファシリティ、プライオリティに藹??じたログの出力先を指定
rsyslogの設定縺? /etc/rsyslog.conf
logger でログの生成ができる
ログローテーション縺? logrotate、設藹??縺? /etc/logrotate.conf
メールサーバMTAに縺? Postfix, sendmail. qmail, exim等
メールアドレスの別名縺? /etc/aliases で藹??義し newaliases で有効にする
メールの転送縺? ~/.forward で設定する
メールキューの状觸??縺? mailq で確認
印刷縺? lpr で鐔??う、 -# オプションで印刷部謨?
プリントキューの状觸??確鐔??縺? lpq
プリントキューの印刷鐔??求を削除するに縺? lprm
■ネットワークの基軆??
IPv4縺?32ビット縺?8ビットずつを10進数に藹??觸??した表鐔??を使う
IPv6縺?128ビット
サブネットマスクはネットワーク部とホスト部の藹??界を表す
IPアドレスとサブネットマスクの鐔??理積がネットワークアドレ繧?
プライベートアドレス クラ繧?A縺?10.0.0.0~10.255.255.255 (10.0.0.0/8)
クラ繧?B縺?172.16.0.0~172.31.255.255 (172.16.0.0/12)
クラ繧?C縺?192.168.0.0~192.168.255.255 (192.168.0.0/16)
サービスとポート番号の対応縺? /etc/services に鐔??載 Well-Known-Port:0-1023
TCP20:FTP(データ・??
TCP21:FTP(制御)
TCP22:SSH
TCP23:Telnet
TCP25:SMTP
UDP53:DNS
UDP67:DHCP(サーバ)
UDP68:DHCP(クライアント)
TCP80:HTTP
TCP110:POP3
TCP123:NTP
TCP443:HTTPS
TCP587:SMTP(サブミッションポート)
IMAP overSSL:993
POP3 overSSL:995
ホストと通信ができるか ping
経由するルータ情報縺? traceroute や tracepath
ホスト名からIPアドレス縺? dig や host
ホスト名の確認や設藹??縺? hostname
ルーティングテーブルの確認や設藹??縺? route
ネットワークインターフェイスの設定や動作状觸??確鐔??縺? ifconfig
有効化縺? ifup、無効化縺? ifdown
/etc/resolv.conf に藹??照先DNSサーバを設藹??する
ホスト名縺?IPアドレスの対応縺? /etc/hostsファイルに鐔??霑?
名前解決の順蠎?縺? /etc/nsswitch.confに設定
■セキュリテ繧?
スーパーサーバ inted や xinetd は臀??のサーバプログラムに藹??繧?って鐔??求を藹??けサーバプログラムを起動し常饅??プロセスを減らすことでシステムリソースの軆??約をする
xinetd の全臀??設藹??縺? /etc/xinetd.conf、各サービスの設定縺? /etc/xinetd.d 以臀??
TCP wrapper等を利用しているアプリケーションの場合 /etc/hosts.allow や /etc/hosts.denyにアクセス制限を設藹??する
開いているポートを確鐔??するに縺? netstat, lsof, nmap
パスワードの有効期限を設藹??するに縺? change
/etc/nologinファイルを作成してお縺?と臀??般ユーザはログインできない
su で臀??のユーザになれる
sudo 縺?root権限の臀??部を一般ユーザが利用できる
設藹??縺? visudo 縺? /etc/sudoers ファイルに鐔??録される
ユーザが利用できるシステムリソースを設藹??するに縺? ulimit
OpenSSHはユーザ鐔??証以外にホスト認証も行うセキュアな通信を実軆??
信頼できるホストのホスト鍵縺? ~/.ssh/known_hosts
公開鍵鐔??証で利用する鍵ペア縺? ssh-keygen
scp で藹??全なファイル転送ができる
ssh-agent 縺? ssh-add でパスフレーズを記憶させることができる
gpg 縺? GnuPGの鍵管理やファイルの暗号化・鐔??合ができる
=============
Level2 Ver4.0
■キャパシティプランニン繧?
メモリやスワップの情報縺? top, free, vmstat
プロセス情報縺? top, ps, pstree
CPUの平均負闕?(直鐔??1分、5分、15分)縺? top, uptime
vmstat はメモリや仮想メモリの詳細な状態を継続的に監鐔??
iostat 縺?CPUの利用状觸??とディスクの入出力の情報を継続的に監鐔??
NFSで縺? nfsiostat、CIFSで縺? cifsiostat 縺?
sar で觸??々なシステム統鐔??情報を確鐔??
w でログイン中ユーザとそのプロセス情報を確鐔??
netstat でネットワークの統計情報を確鐔??
lsof で開いているファイルとポートを確鐔??
システム監鐔??ツールに縺? collectd, Nagios, MRTG, Cacti等縺?Web IFあり
■Linuxカーネ繝?
カーネルバージョン確認縺? uname -r や /proc/version や /usr/src/linux/Makefile
カーネルモジュール縺? /lb/modules/`uname -r` dirにインスコされる
dirのパス縺? /usr/src/linux/Makefile で設定
カーネルモジュール操作は・??
lsmod ロードされているモジュールをリスト表示
insmod モジュールをロード
rmmod モジュールをアンロード
modprobe 依存関臀??を解決してモジュールをロード、アンロード
depmod モジュールの臀??存関臀??情報を更譁?
modinfo モジュールの情報を表示
modprobe が利用するモジュールの臀??存関臀??情報縺?modules.depファイルにあり depmod で更新藹??
カーネルの設定ファイル縺? .config
カーネ繝?2.6以降は臀??記手順でカーネル再構築
make config | menuconfig | xconfig | gconfig
make
make modules_install
make install
初期RAMディスクを作成するに縺? mkinitrd や mknitramfs
デバイスファイル縺? udev が動的に臀??成する
udev の設定ファイル縺? /etc/udev/rules.dディレクトリ以下にある
udevadm monitor 縺? udevd をモニタできる
sysctl でカーネル設定を表示更新できる
dmesg で起動時のカーネルメッセージを確鐔??できる
/proc ディレクトリ以下のファイルを通してカーネルが認識している繝?ードや実行中のプロセスやシステムリソース軆??の情報が分かる
/proc 以臀??の情報縺? lsdev, lspci, lsusb で表遉?
■システムの起動
BIOS->MBR->ブートローダ->カーネ繝?->initの順で起動
initの設定縺? /etc/inittab 、書藹??縺? ID:ランレベ繝?:action指示藹??:処理
ランレベルごとの起動スクリプト縺? /etc/rc.[0-6].dディレクトリにある
デフォルトで起動するサービス縺? chkconfig や update-rc.d で設定
起動プロンプトでカーネルやinitに渡すパラメータを指定できる
起動時に指定したパラメータ縺? /proc/cmdline で確認できる
grub 縺?GRUBシェルが使える
GRUB Legacyの設定ファイル縺? /boot/grub/menu.lst
GRUB 2の設定ファイル縺? /boot/grub/grub.cfg
GRUB 2の設定縺? /etc/default/grub に鐔??述し update-grub を実行する縺? /boot/grub/grub.cfgが生成される
LILOの設定ファイル縺? /etc/lilo.conf
LILOの設定変更藹??縺? lilo よりMBRを更新する
SYSLINUX 縺?FATファイルシステムからカーネルを起動する
ISOLINUX縺?ISO09660ファイルシステムからカーネルを起動する
PXEはネットワークブートの鐔??譬?
■デバイスとファイルシステム
マウント設藹??縺? /etc/fstab で鐔??う、デバイス名に縺?UUIDやラベルも使える
カーネルがサポートしているファイルシステム縺? /proc/filesystems で確認できる
/etc/mtab には現在マウントしているファイルシステムの情報がある
/etc/mtab 縺? /proc/mounts はほぼ同じ内螳?
mount -o remount でファイルシステムを再マウント、マウントオプションの藹??更に利逕?
tune2fs で ext2/ext3/ext4ファイルシステムの各種パラメータを表示・藹??更できる
blkid でデバイス縺?UUIDを確鐔??できる
sync はディスクバッファ領域にあるデータをディスクに書き込む
mkswap でスワップ領域を作成できる
ファイルとしてスワップ領域を用諢?するに縺? dd で任諢?のサイズのファイルを作成する
swapon でスワップ領域を有効化、 swapoff で無効化できる
swapon -s か /proc/swaps でスワップ領域を確鐔??できる
ext2ファイルシステムを作成するに縺? mke2fs あるい縺? mkfs -t ext2
ext3なら mke2fs -j あるい縺? mkfs -t ext3
ext4なら mkfs -t ext4
XFSファイルシステムを作成するに縺? mkfs.xfs あるい縺? mkfs -t sfs
CD/DVD-ROMイメージの臀??成縺? mkisofs
ファイルシステムの整合性チェックに縺? fsck あるい縺? e2fsck あるい縺? xfs_check
S.M.A.R.T.は繝?ードディスク自己診断觸??能縺? smartdデーモンが情報藹??集する
smartctl で S.M.A.R.T.情報を表示
オートマウントの設定縺? /etc/auto.master とマップファイルで鐔??う
■高度なストレージ管理
RAID0は冗長性が無いが高速
RAID1は冗長性があるがディスク容驥?は半減
RAID4やRAID5はパリティを使って冗長性を保縺?
RAID4はパリティを専用ディスクに臀??存、RAID5はパリティ情報を分謨?
madadm 縺?RAIDを構築・管理
/proc/mdstat 縺?RAIDの状態を確鐔??
物理ボリュームを作成するに縺? pvcreate
ボリュームグループを作成するに縺? vgcreate
論理ボリュームを作成するに縺? lvcreate
スナップショットを利用するとアンマウントなし縺? lvcreate でバックアップができる
hdparm 縺?IDE繝?ードディスクのパラメータを設藹??
sdparm 縺?SCSI/SATA/USB繝?ードディスクのパラメータを設藹??
iSCSIストレージを利用するホストをイニシエータ、iSCSIストレージをターゲットと呼縺?iscsiadm 縺?SCSI管理ユーティリテ繧?
iSCSIストレージ内の鐔??理ドライブ番号をLUNという
■ネットワー繧?
MACアドレス縺?IPアドレスの対応縺?ARPキャッシュに臀??存され、arp で藹??照・設定できる
ネットワーク関連コマンドで縺? -n オプションで名前解決を抑制できる
tcpdump 縺?NIC上のパケットをダンプ出力する
GUIのパケットキャプチャツールに縺?Wiresharkがある
netstat はネットワークの情報を表示する
ルーティングテーブル縺? route で設定する
ip 縺? ipconfig, arp, route といったコマンドと同等の操作ができる
nmap でポートスキャンやIPアドレススキャンができる
NIC間でパケット転送を行うに縺? /proc/sys/net/ipv4/ip_forward の値が1である必要がある
■システムメンテナン繧?
tarボール縺? tar を利用して臀??成・藹??開する
configureスクリプトはシステム環藹??に藹??じたMakefileを生成する、多縺?のオプションの指定ができる
make 縺?Makefileに鐔??述された処理を行う、Makefileには各種ターゲットを設藹??できる、ターゲットに縺?install や clean などがある
バックアップには、フルバックアップ、差分バックアップ、増分バックアップなどの種類がある
バックアップなどに利用できるコマンドとし縺? tar, cpio, dd, dump, restore, rsync などがある
mt でテープドライブを操作する
テープドライブを表すデバイスファイ繝? /dev/st0 は巻き戻しあり、/dev/nst0 は巻き戻しなし
ネットワークバックアップツールに縺? Amanda, Bacula, BackupPC などがある
ログイン直藹??に表示するメッセージ縺? /etc/motd に鐔??述する
ログイン時に表示するメッセージ縺? /etc/issue に鐔??述する
ネットワーク軆??由のログイン時に表示するメッセージ縺? /etc/issue.net に鐔??述する
バッチを適用するコマンド縺? patch 縺? -R オプションでパッチの適用と藹??り消しを行う
■DNS
DNSサーバには、BIND, dnsmasq, djbdns, PowerDNSなどがある
DNSクライアントコマンドには、 dig, host, nslookup がある
BIND9縺? mdc で管理できる
/etc/named.confでは觸??々なオプションが指定できる
allow-query DNS蝠?い合繧?せを藹??け付けるホスト
allow-recursion 再帰的な蝠?い合繧?せを藹??け付けるホスト
allow-transfer ゾーン転送を許可するホスト
blackhole 蝠?い合繧?せを藹??け付けないホスト
directory ゾーンファイルを格軆??するディレクト繝?
forwarders 蝠?合せの回送先DNSサーバ
forward forwardersの回送方觸??
max-cache-size 最大キャッシュサイ繧?
recursion 再帰的蝠?合せを藹??け付けるかどうか
version バージョン表遉?
ソーンファイルのレコード縺?
SOA ゾーンの管理情蝣?
NS ゾーンを管理するネームサーバ
MX メールサーバ
A ホスト名に対応するIPアドレス正引き
AAA ホスト名に対応するIPv6アドレス正引き
CNAME 別名に対応するホスト名
PTR IPアドレスに対応するホスト名逆引き
SOAレコードのメール縺?@を.に藹??更して指定する
ゾーンファイル内で縺?@はゾーン名を表す
MXレコードではプリファレンス値が蟆?さいものほど優先度が高縺?なる
NSレコードやMXレコードには別名を使繧?ない
BIND9で縺? dnssec-keygen でセキュリティ用のカギを作成できる
dnssec-signzone でゾーンに署名を行う
■Webサーバとプロキシサーバ
Apacheのメイン設定ファイル縺?httpd.confだがディストリビューションによって異なる
DirectoryIndexディレクティブでインデックスページを定義する
ErrorDocumentディレクティブでエラーページを定義する
Aliasディレクティブでドキュメントルート外のコンテンツを藹??照できる
CustomLogディレクティブでログファイルを定義する、デフォルトのログファイル縺?access_logである
ErrorLogディレクティブでエラーログファイルを定義する、デフォルトのログファイル縺?error_logである
UserDirディレクティブで公開するユーザのホームディレクトリを定義する
MaxClientsディレクティブで最大藹??プロセス数を指定する
apachectl 縺?Apacheを管理できる
基本鐔??証を使ったアクセス制御でユーザとパスワード設藹??縺? htpasswd を使う
ダイジェスト認証を使ったアクセス制御でユーザとパスワードを設藹??するに縺? htdigest を使う
.htaccessファイル縺?httpd.confの設定を上書き、httpd.conf内縺?AllowOverrideディレクティブで臀??書きを許可する範囲を設藹??
AccessFileNameディレクティブで藹??部設定ファイルの名前を定義する
Apacheで縺?IPベースのバーチャルホストと名前ベースのバーチャルホストを利用できる
SSLサーバ証譏?書縺?IPアドレスとドメイン名のペアに対して発鐔??される
Nginxはオープンソース縺?Webサーバ、リバースプロキシサーバである
Nginxの設定縺? nginx.confを中藹??とした /etc/nginxディレクトリ以下のファイルで鐔??う
Squidの設定ファイル縺? squid.confであり、aclディレクティブ縺? http_accessディレクティブでアクセス制御を設藹??する
■ファイル共有
Sambaユーザを作成するに縺? smbpasswd, pdbedit を使う
パスワード変更に縺? smbpasswd
ユーザ鐔??識方觸??縺?smb.conf 縺?securityパラメータで指定
Sambaサーバがマスターブラウザになる優先度縺?OSレベルに基づ縺?
OSレベル縺?smb.conf縺?oslevelパラメータで指定
testparm 縺?smb.confの觸??文をチェックできる
smbstatus 縺?Sambaに接続されているクライアントとオープンされているファイルを確鐔??できる
nmblookup 縺?NetBIOS名やマスターブラウザを照臀??できる
smbclient を使う縺?Sambaクライアントとして共有リソースを利用できる
Microsoftネットワークの共有リソースをマウントするに縺? smbmount
rpcinfo 縺?RPCサービスの状觸??を確鐔??できる
exportfs でエクスポート状觸??を表示したり/etc/exportsの藹??更を藹??映させたりできる
NFSサーバでエクスポートしているディレクトリを調べるに縺? showmount を使う
■ネットワーククライアント管理
/etc/dhcpd.confで割り当てるIPアドレスの軆??囲を指定するに縺? range 192.168.0.0 192.168.0.99; のように鐔??述する
リース中縺?IPアドレス情報縺?dhcpd.leasesファイルに鐔??録される
dhcrelay縺?DHCPリレーエージェントである
PAMの設定ファイル縺?/etc/pam.dディレクトリに配置されるが/etc/pam.confが使繧?れることもある
PAM設藹??ファイルの書藹??は モジュールタイプ コントロー繝? モジュールのパ繧? 引謨?
required縺?requisiteコントロールの違いは鐔??証に失敗したときrequiredは同じタイプのモジュールの藹??行が全て藹??僚した時点で鐔??証を拒否するのに対し、requisiteはすぐに鐔??証を拒否する
LDAPエントリ縺?LDIF形藹??でテキストファイルに鐔??述できる
エントリを一諢?に鐔??別する名前をDN(識別名)という
個々のエントリはいずれかのオブジェクトクラスに藹??する
ldapadd 縺?LDAPエントリを追加する
ldapsearch 縺?LDAPエントリを検索する
ldapdelete 縺?LDAPエントリを削除する
ldapmodify 縺?LDAPエントリの内容を変更する
ldappasswd 縺?LDAPエントリに設定されるパスワードを変更できる
OpenLDAPサーバの設定ファイル縺? slapd.conf
slapadd 縺?LDAPデータベースをリストアできる
slapcat で全てのエントリの情報をLDIF形藹??で出力できる(オフラインバックアップ)
slapindex 縺?LDAPデータベースのインデックスを再構築できる
SSSDは鐔??別サービス・鐔??証サービスとの通信を管理しキャッシュをするデーモンである
■メールサービ繧?
SMTPサーバに縺? Postfix, exim, sendmailなどがある
メールボックスに縺?1ユー繧?1ファイルに格軆??されるmbox形藹??縺?1メー繝?1ファイルに格軆??されるMaildir形藹??がある
Postfixのメイン設定ファイル縺?main.cfである
postconf で設定パラメータを表示できる
postqueue -p でメールキューを確鐔??できる
postqueue -f でメールキュー内のメール配送を直ちに試みる
/etc/aliases にはメールのエイリアスを設藹??する。別名指定方觸??は次の通り
user[,user..] ユーザのメールに配菫?
/path ファイルに追加
|command コマンドの觸??準入力縺?
user@domain メールアドレスへ転送
:include:/path 外部ファイルを読み込む
/etc/aliasesの藹??更を藹??映させるに縺? newaliases を実行する
procmail の設定ファイル縺?/etc/procmailrc縺?~/.procmailrc
/etc/procmailrc縺?~/.procmailrcのレシピの書藹??は次の通り
:0 [フラ繧?] [:ロックファイ繝?]
* 条件蠑?
アクショ繝?
Dovecotの設定縺?/etc/dovecot.confで鐔??う
■システムセキュリテ繧?
iptables でパケットフィルタリングを設藹??する
proftpd.conf縺? ProFTPD の設定ファイルである
vsftpd.conf縺? vsftpd の設定ファイルである
pure-ftpd.conf縺? Pure-FTPD の設定ファイルである
/etc/ftpusers に縺?FTPログインアクセスを許可しないユーザを記述する
信頼できるホストのホスト鍵縺? ~/.ssh/known_hostsに格軆??される
公開鍵鐔??証で利用する鍵ペア縺? ssh-keygen で生成する
~/.ssh/authorized_keysファイルには接続するユーザの公開鍵を登録する
scp で藹??全なファイル転送ができる
ssh-agent 縺? ssh-add でパスフレーズを記憶させることができる
Snort はネットワークベース縺?IDSツー繝?
Tripwireはファイルの改ざんを検知するIDSツー繝?
OpenVASは脆弱性のチェックを行うツー繝?
Fail2banはログから判断して攻撃を遮断するツー繝?
nmap はポートスキャンを行うツー繝?
開いているポート縺? netstat, lsof, nmap, fuser などのコマンドで調譟?
OpenVPNにはルーティング接続とブリッジ接続がある
OpenVPNサーバに縺?CA証譏?書、サーバ証譏?書、サーバ秘密鍵、DHパラメータを配置する
OpenVPNクライアントに縺?CA証譏?書、クライアント証譏?書、クライアント秘密鍵を配置する
OpenVPNサーバ縺?UDPポート1194番を使用する
=============
SELinuxは臀??後防鐔??的な手段だ。もしサーバに侵入されたとしても、被害を最蟆?限に抑えるための臀??組みとなっている。そのため侵入臀??態を防鐔??できるものではない
redhat邉?
この辺は抑えておきたい、昔は無かっただけだと思うが
LVM(logical volume manager)
シェル藹??数をexportして環藹??変謨?
ルートログイン臀??可、警告文表示
プロセスの優先順位ナイス蛟?
バックグラウンドジョブでログアウトしても実行
スーパーサーバ、TCPwrapperでプロセス省逡?
パケットフィルタリング、ルーティングテーブ繝?(nat/forward)
SSHポート転送(popやftpでも藹??)
ver5でもそれほど藹??化がないのでは、systemdの強化辺りか?gitやdockerをカバーしたように思ったが?
=============
/etc
各種の設定ファイルの臀??存場所 hostsとか.confとか
バイナリファイルを置かないこ縺?
/opt用の設定ファイルを置縺?ため縺?/etc/optを設けるこ縺?
/opt
アプリパッケー繧?
/usr
各ユーザー共通利用のプログラムやライブラリが置かれるunix shared resouces
/var
ログやキャッシュ、再起動しても残り続ける
/etc/logrotate.conf縺?1週間4世代軆??を設藹??
/sbin
システム管理者逕?bin
/etc/fstab マウント情報が記載されている
mount -a マウント情報を書き直すと全てマウントしなおす
■/varを別ディスクにしたい
デバイスを追加しフォーマット
fstabにマウントとディレクトリの軆??づけを追鐔??(新ディスク縺?/var)
マウントやリブート前に既藹??ファイルの移動対蜃?
tmpDirを作成
mount (type) (device) (mountDir:tmpDir)
cp -a 譌? tmpDir
リブート