特定ポートに対する通信チェック(疎通チェック)
$ curl -v telnet://localhost:22
$ nc localhost 22
現在listenしているサービスを確認
$ ss -lt
コンテキスト関連
コンテキストを管理するコマンド
chcon、semanage fcontext、restorecon
コンテキストの確認
$ ls -lZ
一時的な変更
$ chcon -t type file-name
ここでのタイプは httpd_config_t などを指定
cp でコンテキストを維持する
$ cp --preserve=context /etc/passowrd .
パッケージのコンテキストの設定を確認
$ sudo semanage fcontext -l | grep nginx
独自に作成したディレクトリに、nginx と同じタイプ httpd_sys_content_t のコンテキストを設定する
$ sudo semanage fcontext -a -t httpd_sys_content_t "/xxx/html(/.*)?"
$ sudo restorecon -R -v /xxx/html/
設定したコンテキストの設定を削除する
$ sudo semanage fcontext -d "/xxx/html(/.*)?"
$ sudo restorecon -R -v /xxx/html/
参考:http://www.kakiro-web.com/linux/selinux.html
「SELinuxが原因かな?」と思ったら
/var/log/messages または /var/log/audit/audit.logに、"avc: denied"というメッセージが記録されていないか確認
アカウントのパスワードの長さの設定
/etc/login.defs
PASS_MIN_LEN
インストールされているサービス一覧や自動起動の確認
% systemctl in-active (or status or list-util-files)
コマンドが必要としているライブラリを調べる
% ldd /bin/bash
ネットワークの設定
設定ファイルの場所
/etc/sysconfig/network-scripts/ifcfg-NIC名
ネットワークの再起動
% sudo systemctl restart network
利用可能なターゲットを確認
% systemctl list-units --type=target --all --no-pager
ログ機構「Systemd Journal」
ブートログを出力する
% journalctl -b
日時でフィルタリングする
% journalctl --since="2014-09-05 01:23:45" --until="2014-09-07 04:56:00"
ログをリアルタイムで閲覧(tail -f みたいな使い方)
% journalctl -f
特定のプライオリティのログのみを出力
% journalctl -p warning
% journalctl -p 0 ← emerg
% journalctl -p 1 ← alert
% journalctl -p 2 ← crit
% journalctl -p 3 ← err
% journalctl -p 4 ← warning
% journalctl -p 5 ← notice
% journalctl -p 6 ← debug
カーネルログのみを表示(従来のsyslog管理のdmesgに相当)
% journalctl -k
特定のプロセスIDのみログを出力
% journalctl _PID=10765
crond に関するログの表示
% journalctl /usr/sbin/crond