BlackIceCoffeePhenomenon

溶け出す氷によって味が薄くなると併せ、味覚が苦味に慣れていくことで、加速度的に味覚への刺激が減衰する現象に関するブログです。

1527897084462

新しく組んだPCはさっそく、当初の目的通りバリバリVRで活躍しています。

夏のボーナスが吹き飛びそうな勢いです。

 

金欠とまではいかないけど、一気に揃えるには困難で、

それこそ自己研鑽、ツーリング装備、にぅPCなどなど

かなり予算計画を必要とします。

 

どれも等しくリソースを注ぎたいんだけど、時間がない!

 

いや時間はあるんだ。

ただ何もしない受動的な時間が多すぎて本来ほど発揮できてない感じもする。

例えるなら夕食後の腹ごなしとか、風呂上りの休息時間とかさ。

これが経年劣化というものか・・・

 

 

そしてよく引き合いに出すのが、

昔の自分だったら、という記憶を頼りにした比較。

 

何時に起き、何時に家を出て、通勤が何分で、仕事がいつ始まり終わり、

それから寄り道して、いつ帰り着き、食事にどれだけ時間をかけ、必須作業を終え、

自由時間がどれくらいあって、何時に寝ていたか。という一日のタイムスケジュール。

 

当然記憶はあてにはならないので、過去のブログやツイートをdigって見て

Excelに書き起こす職業病の末に

今が一番自由時間があったりしてね。

 

充実した時間を過ごすというのは

なかなか難しい課題のように思える。

 

美化される方面にしか働かない記憶のデフラグ

その時の自分の足枷にならないようログを残す意味で

ブログの存在は大きいと思える限り。

 

Louguan-Jian

新しいPCを組みました。

今のPCでも不満はないのですが、これからVR系のものを楽しんだり
たまにはハイエンド系のモノを組みたいなーと思い夏のボーナスが犠牲になりました。

 

f:id:yananann:20180824230804j:plain

 

構成は御覧の通り

・M/B GIGABYTE X470 AORUS ULTRA GAMING

・CPU AMD RYZEN 2700X

SSD Crucial MX500

GPU GeForce GTX 1070Ti

・MEM corsair ビカビカ系16GB

・ケース SilverStone RL06

表記がブレブレ過ぎるw

 

 

組むこと自体はもう過去に何度もしているのでサクサクと行きます。

こちらがRL06のケースです。

f:id:yananann:20180824231019j:plain

5年以上前から使われている、底面に電源を配置するスタイル
昔は窒息系ケースが流行でしたが、近年はファンの静穏化が進んだため
割とオープンな傾向のケースが多いです。

今回のRL06のケースの特徴としては以下の通り

・オープンな傾向のケース(冷却重視)
・底面に電源(古き流行)と、HDDを底面のダクトに統一(こっちは最近の流行)
・背面配線
・側面が強化ガラス

 

マザーボードは最近よくあるビカビカ系のモデルです。

f:id:yananann:20180824231335j:plain

CrossFireやSLIに対応していて、M.2SSDとかもばっちりサポ―ト
後々の拡張性を重視しています。

(大概拡張することなく終わる事が大半ですが。)

 

ケースに入れるとこんな感じ

f:id:yananann:20180824231459j:plain

底面にはロゴ付きでHDDから電源に通じるダクトスペース
背面は換気重視、上部にも換気用スペースがある充実ぶり。

これまでだとケース前面にCDドライブやSSD,HDDを差し込むことで、
負圧で冷却して、排熱でグラボとCPUを冷やし、
全部まとめて背面から一気に押し出すのがトレンドでしたが、
それをやると全面が埃まみれになるのがデメリットでした。
かと言って吸気を増やすと吸気スペースが少ない分
回転数で稼がないといけないためノイズが大量に入る静音性とのトレードオフでした。

 

背面はこんな感じです。
右上にCPUのバックプレートがあり、中央部にSSDを置いてます。

f:id:yananann:20180824231835j:plain

この図の底面の左側にHDDが3本差し込むスペースがあり、右側に電源を配置します。

 

電源を配置するとこんな感じです。

f:id:yananann:20180824231947j:plain

人のPCを組む時は酒飲みながら適当(適切の意味)に配線しますが
自分のモノは割と真面目にやってます。
電源はAntecのSOLOケースについてきたデフォの650Wです。
ゆくゆくは変えます。

 

配線をもりもりやったら電源オン

f:id:yananann:20180824232104j:plain

かなり眩しい!ビカビカ系ならではの色鮮やかな感じです。
ただし強化ガラスのカバーをかける事でいいかんじに抑えられます。

f:id:yananann:20180824232139j:plain

 

いい感じ。

 

・・・そして大変なのはここから先のOS入れたりするところだったりします。

が、それはまたゆくゆくのお話という事で。

 

 

LPIC Level2 Exam 202 対策メモ

おととい、いい感じに合格したので、毎度おなじみでメモ公開です。

 

 

# ---------- 主題207:ドメインネームサーバ -------------------


前提知識
 DNSサーバには2つの機能がある
 キャッシュサーバ:ほかのDNSサーバに問い合わせる
 コンテンツサーバ:自身が管理するドメイン情報を公開する
 BINDの解決ログ出力先 :messages, syslog
 DHCP機能付きDNS   :dnsmasq
 キャッシュ,コンテンツ:djbdns
 ↑+RDBバックエンド :PowerDNS

 

 

 

207.1 DNSサーバの基本的な設定 ★★★☆☆


 + /etc/named.conf(BINDの設定ファイル)
  options内
  - "directory"      :作業ディレクト
  - "version"       :バージョンの問い合わせに対する回答
  - recursion [yes|no]  :再起問い合わせ
  - forwarders      :転送先DNSサーバ
  - forward [first|onry] :失敗時自分で問い合わせをする|しない
  - allow-query     :問い合わせを許可するホスト
  - allow-recursion   :再帰も許可するホスト
  - allow-transfer    :ゾーン転送先ホスト(スレーブDNSを指定)
  - blackhole      :問い合わせを却下
  acl    :アクセス制御[IP|host]
  controls :rndcを許可するホスト     {inet 127.0.0 allow {lan;};};
  include  :外部ファイル読み込み     "/etc/hoge"
  zone   :ゾーン(管理範囲)を定義

 + rndc(namedの設定管理をするコマンド)
  status :表示
  reload :ゾーン指定時は単独で再読み込み
  halt  :瞬殺停止
  stop  :更新を保存し停止

 + named-checkconf(named.confの構文チェック)
  ゾーンの構文と整合性をチェックする

 

 

 


207.2 DNSゾーンの作成と保守 ★★★☆☆


 + 各レコードについて
  SOA :ゾーン管理人や更新時間を定義
  NS  :ゾーン情報を管理するサーバー
  MX  :ゾーン管理宛のメールサーバー
  A  :ゾーン内の名前とIPを紐付け
  CNAME:別名を記載
  PTR :逆引き定義に仕様。 形式は[4.3.2.1.in-addr.arpa]

 + ゾーンファイルの書式
  $ORIGIN example.com.
  $TTL 3600
  @ IN SOA <nameSRVのFQDN> <adminMail> (
    2010020101; シリアル番号
    3600;    更新タイミング
    1200;    リトライ間隔
    1209600;   有効期間
    900;     ネガティブキャッシュのTTL
  )
  @  IN NS ns.example.com     :名前解決ならこのドメイン
  @  IN MX 10 mail.example.com  :メールならこのドメイン
  ns  IN A 192.168///
  mail
  www 
  ftp IN CNAME www
  優先度は低いほど高い

 + named-compilezone ゾーン名 ゾーンファイル名
  -f 返還前ファイル形式
  -F 返還後ファイル形式
  -o 出力ファイル

 + masterfile-format
  named.confに追記する事でテキスト形式で扱える

 + named-checkzone
  整合性と構文チェック

 

 

 

 

207.3 DNSサーバを保護する ★★☆☆☆


 + /etc/named.conf
  key "example.com" {  Keyが必要
  algorithm hmac-md5;  =も"も不要
  secret "xxxxxxx";   パラメータは"で囲む

 + DNSSEC:  公開鍵による署名で正当かつ無改ざんを保障
  TSIG :共通秘密鍵による
  chroot:パス変更によって、ハック時の被害を軽減
  DANE :(DNS-based Authentication of Named Entities)
      DNSSECを応用した認証
 
 + named(BINDのデーモン名)
  -t:chrootディレクト
  -u:実行ユーザー
  -g:実行グループ

 + dnssec-keygen(鍵を作成)
  -a:アルゴリズム
  -b:ビット長
  -n TSIG:HOST DNSSEC:ZONE)

 + dnssec-signzone(ゾーンファイルへ署名)

 

 

 

 

# ---------- 主題208:HTTPサービス ---------------------------


208.1 Apacheの基本的な設定 ★★★★☆

 /etc/httpd/conf/httpd.conf
 /etc/apache2/apache2.conf
 + httpd.conf
  基本設定
  - Listen     : リクエストを受けるIPアドレスとポート
  - NameVirtualHost: バーチャルホスト時はListenの代わりにこっち
  - User      : 子プロセスの実行ユーザを指定
  - Group     : 子プロセスの実行グループを指定
  - DocumentRoot  : 公開する最上位のディレクト
  - DirectoryIndex : インデックスとして返すファイル名
  - Alias     : アクセス先ディレクトリを、パスに参照させる
  - UserDir    : 一般ユーザの公開ディレクトリを指定
  - ErrorDocument : エラー発生時の処理を指定(コードとファイル名)

  ログ関連
  - HostnameLookups :IP逆引きしてホスト名で記録するか
  - LogFormat    :アクセスログの書式 書式名
  - CustomLog    :ファイル名と上の定義
  - ErrorLog     :
  - LogLevel     :エラーログに残すログレベル

  サーバ処理関連
  - Timeout        :
  - KeepAlive       :複数リクエストの受付するかの有無
  - MaxKeepAliveRequests :最大リクエスト数を設定
  - KeepAliveTimeout   :次のリクエスト受けるまでの待ち時間
  - StartServers     :起動時の子プロセスの数
  - MinSpareServers    :待機子プロセスの最小数
  - MaxSpareServers    :待機子プロセスの最大数
  - MaxRequestWorkers   :生成される子プロセスの最大数
  - MaxConnectionsPerChild:子プロセスが処理するリクエストの最大数

   <Serverディレクティブ>
  - ServerName :稼働しているホスト名とポートを指定
  - ServerRoot :httpdの設定ファイル、ライブラリがあるベースディレクト
  - ServerAdmin :管理者のメールアドレス
  - ServerAlias :VitualHostでの別名

  外部設定ファイル<Directory ディレクトリ名>
  - AccessFileName: 外部設定ファイルを指定(デフォ.htaccess)
  - AllowOverride : 外部ファイルがhttpd.confを上書く
           (AuthConfig, Limit[アクセス制御], All, noneなど)

  ユーザー認証<AuthNameディレクティブ>
  - AuthType   : Basic|Digest認証方式
  - AuthName   : 認可領域名。画面に表示される
  - AuthUserFile : パスワードファイルを指定
  - AuthGroupFile : グループファイルを指定
  - Require    : 認証対象とするuserやgroupを指定

  アクセス制御<Requireディレクティブ>
  mod_authz_coreで制御
  - all granted : 全部許可
  - all denied  : 全部拒否
  - env 環境変数 : 環境変数が設定されていれば許可 (Require env URL_OK)
  - method http : 指定のhttpメソッドなら許可
  - expr 評価  : 指定の表現で許可
  mod_authz_hostで制御
  - ip
  - host
  mod_authz_userで制御
  - user
  - group
  - valid-user  : 認証されたユーザー
  <RequireAll><RequireAny><RequireNone>

 # htpasswd [OPT] ファイル名 ユーザー名
  -c パスワードファイルの作成
  -D ユーザーを削除

 # htdigest ファイル名 認可領域名 ユーザー名
  -c パスワードファイルの作成
  ダイジェスト認証の時はこれでユーザ管理を行う

 # httpd(apachectlでも使える)
  -l 静的モジュールの表示
  -M 静的動的モジュールの表示

 # apachectl, apache2ctl
  start, stop, restart
  graceful : 安全に再起動
  configtest: 設定ファイルの構文チェック

 + モジュール
  mod_auth_basic  : BASIC認証のフロントエンド
  mod_authz_host  : ホストベースのアクセス認証
  mod_access_compat : ホストベースのアクセス制御
  mod_[ssl, perl, php]

 + その他
  apxs

 + アクセスログとエラーログ
 + .htaccess
 + htgroup
 + httpd, apache2

 

 

 

 

 


208.2 HTTPS向けのApacheの設定 ★★★☆☆


 # Tips
  ブラウザ ルートCA照明:自身の公開鍵
  サーバ側 中間CA証明書:自身の公開鍵
  サーバ側 サーバ証明書:自身の公開鍵
  ブラウザの秘密鍵で署名し、上位CAの公開鍵で署名を複合

 秘密鍵の作成
 # openssl genrsa [-out 出力ファイル名] [鍵長]

 CSRの作成
 # openssl req -new -key server.key -out server.csr

 自己認証局CSRに署名し、サーバ証明書の作成
 openssl ca -out server.crt -infiles server.csr

 # CA.pl, CA.sh newca

 ssl.conf
  - SSLCertificateKeyFile : サーバ秘密鍵
  - SSLCertificateFile  : サーバ証明書 (中間CAはここ)
  - SSLVerifyClient    : クライアント認証レベル
  - SSLCACertificateFile : クライアント認証のCA証明書
  - SSLCACertificatePath : CA証明書の置かれたディレクト
  - SSLProtocol      : 使用可能なSSLプロトコル
  - SSLCipherSuite    : 使用可能な暗号スイート
  - SSLEngine       : SSLの有効無効onoff
    (ディレクトリ以外、かつポート番号を確認)

 httpd.conf
  セキュリティ関連
  - ServerTokens   :応答ヘッダに含める情報
  - ServerSignature :エラーメッセージのフッター表示onoff
  - TraceEnable   :TRACEメソッドの使用onoff

 SNI(Server Name Indication: クライアントから接続したいホストを提示)

 

 

 

 

208.3 キャッシュプロキシとしてのSquidの実装 ★★☆☆☆


 + squid.conf
  - http_port   : 使用するポート番号
  - cache_dir   : キャッシュディレクト
  - cache_mem   : 総メモリの最大量
  - cache_log   : キャッシュのログ
  - ipchache_size : 名前解決のキャッシュ数
  - acl      : アクセスcontrolリスト
  - http_access  : allow|denyなどの制御
  - auth_param  : ユーザ認証方式の設定

  - hierarchy_stoplist : キャッシュを使わない文字列
  - maximum_object_size : キャッシュデータの最大サイズ
  - minimum_object_size : キャッシュデータの最小サイズ
  - maximum_object_size_in_memory:メモリにキャッシュされるry

  - request_header_max_size: リクエストヘッダの
  - request_body_max_size : リクエストボディの

 + acl
  # acl aclaclタイプ 文字列|ファイル名
   acl blacklist url_regex "/etc/squid/blacklist"
  - src
  - dst
  - srcdomain
  - dstdomain
  - port   : 宛先のポート番号
  - arp
  - proto   : プロトコル
  - method
  - time
  - url_regex
  - uripath_regex
  - proxy_auth

 + http_access
  例
   acl all src 0.0.0.0/0.0.0.0
   acl localmembers src 192.168.10.0/255.255.255.0
   acl SSL port 443
   acl OK_port port 80 443
   acl CONNECT method CONNECT
   acl clients srcdomain test.com
   acl eigyobi time MTWHF 09:00-18:00
   http_access allow localmembers OK_port
   http_access deny !OK_port
   http_access deny CONNECT !SSL
   http_access allow clients
   http_access allow eigyobi
  訳
   ・localmembers(192.168.10.0/24に属しているクライアント)からのOK_port(80,443)でのアクセスを許可(この条件は2つacl名が並んでいるため、AND条件となっています。)
   ・OK_port(ポート番号が80,443)以外へのアクセスを禁止
   ・CONNECTメソッド(プロキシにトンネリング通信を要求するメソッド)を使った通信をSSL(443)以外禁止
   ・client(ドメイン名がtest.com)からのアクセスを許可
   ・eigyobi(月曜日から金曜日の9:00から18:00)の間アクセスを許可
   

 

 

 


208.4 WebサーバおよびリバースプロキシとしてのNginxの実装 ★★☆☆☆


 + /etc/nginx/nginx.conf
  http{}       :httpサーバの設定
  server{}      :バーチャルホストの設定
  location      :リスクエスURIに対する設定
  listen       :リクエストを受けるIPとポート
  server_name     :バーチャルホスト名
  index        :インデックスとして返すファイル名
  root        :htmlの最上位ディレクト
  proxy_pass     :プロキシ先
  proxy_set_header  :プロキシ先へのリクエストヘッダの再定義
  proxy_pass_header  :プロキシ先からクライアントへ通貨を許可するヘッダ
  fastcgi_pass    :FastCGIサーバの指定
  fastcgi_param    :FastCGIサーバに渡すパラメータ

  フォーマットサンプル
  server {
    listen 80;
    server_name www.example.com;
    location / {
      proxy_pass http://192.168.1.10/
      proxy_set_header Host $host;
      proxy_pass_header Server;
    }
  }

 

 

 

 

#---------- 主題209:ファイル共有 ---------------------------


209.1 Sambaサーバの設定


 sambaとLinuxでユーザーとパスワードは連携されない
 マスターブラウザはOSレベルの数字が大きいのがなれる

 + smbd   :ファイル/プリンタの共有とユーザ認証
  nmbd   :NW内のPC一覧表示、WINSサーバ
  winbindd :SambaからWindowsユーザの情報を利用可能にする

 + nmblookup(マスター/ホスト検索、NetBIOSの問い合わせ)
  -M マスターブラウザの検索
  -A IPを引数にMACアドレスやNetBIOSを表示

 + samba-tool (samba4から)
  dns
  domain
  testparm
  user

 + smbcontrol (smbd,nmbd,winbinddにメッセージ)
  all smbd,nmbd,winbinddの全部にブロードキャスト
  デーモンまたはPIDで指定のものだけ

 # smbpasswd   -d: 無効化、 -e: 有効化
 # pdbedit    -L: 一覧表示 (pdbeditはパス変更出来ない)
  -a: 作成、 -x: 削除

 # testparm (構文チェック)

 + smbstatus(smbに接続してるWindowsを確認する)
 + smbclient (Windowsの共有リソースにアクセス)
  smbclient [OPT] //hostname/directory
  -L [host] 指定したホストで利用可能なリソース表示
  -N     認証を行わない
  -U|--user= 接続ユーザーを指定

 
 + /etc/samba/smb.conf 全3セクション
  [global] # パスワードに関る
   username map  = ファイル名 ユーザー名情報があるファイルの場所
   guest account = ユーザ名  ゲストユーザーのユーザー名
   map to guest  = [Never|Bad User|Bad Password]認証できないときの挙動
   passwd program = パスワード変更時に実行するプログラム
   passwd chat  = 上プログラム実行時の応答内容を指定
   unix password sync = Linuxと同期するか

   hide dot files = [.]から始まるファイルを隠すか
   wins support = WINSサーバとして動作させるか
   netbios name = NetBios名設定

   Windowsとの接続に関わる
   - security = 認証方法。 user|domain|ads
   - passdb backend = 認証方式。 smbpasswdやldapsamなど
   - realm = ADのドメイン名指定
   - workgroup = ADドメインのNetBIOS名

  [homes]
  [printers]
   path = [name] 共有ディレクトリのパス指定
   
   printable = yes | print ok = yes
   guest ok = yes  | public  = yes
   writable = yes  | read only = no  write list

   valid users=,区切り@でグループ指定。アクセス許可
   force user= 所有
   force group=所有
   force directory mode = パーミッションデフォルトは0000
   directory mask = パーミッションのマスク。0755がデフォ
   forceはmode、通常はmask
 
 + /var/log/samba/
 + net
 + mount.cifs

 

 

 


209.2 NFSサーバの設定 ★★★☆☆


 NFSサーバが公開したディレクトリを、NFSクライアントがマウントして利用
 公開のことをエクスポートと呼ぶ
  デーモン
  mountd  : クライアントに必要。マウントするためのデーモン
  portmap  : サーバとクライアント療法に必要。RPCをTCP/IPに変換
  nfsd:   サーバ側の設定。全バージョンで必要
  rpc.idmapd: サーバとクライアント両方に必要。NFSv4の設定
  rpc.mountd: サーバ側の設定。

 + /etc/exports
  ro       : 読み取り専用
  rw       : 読み書き可能
  no_root_squash : rootのリクエストをroot権限で実行
  root_squash  : rootのリクエストを匿名権限で実行
  all_squash   : 全てのリクエストを匿名権限で実行
  sync      : サーバーとクライアントの書き込みを同期
  fsid      : fsid=0でルートディレクトリ化(NFSv4のみ)
   root権限でアクセスするのはセキュリティ上好ましくない。

  [Dir] [IPRange] [Option] 
    /share *(ro) lpic(rw,no_root_squash)
 
 + showmount (公開してるディレクトリをマウントしてるクライアントを調べる)
  -a ホスト名とディレクトリを表示
  -e [srv]でエクスポートしてるディレクトリを表示

 + rpcinfo(稼動しているRPCサービスを確認)
 # mount -t nfs -o [OPTION] nfsserver:/dir /mnt
  nolock  :ロックしない
  soft   :応答がないとタイムアウトで終了
  retrans :softの再試行回数を指定
  hard   :応答があるまで再接続する
  intr   :割り込み受付
  rsize  :読み取りのブロックサイズ(byte単位)
  wsize  :書き込みのブロックサイズ(byte単位)

 + exportfs(exportsの設定を反映)
  -a 全部のディレクト
  -r 全部のディレクトリを再エクスポート
  -u ディレクトリをアンエクスポート
  -v 詳細情報表示

 + nfsstat(NFSの統計情報を確認)

 + /proc/mounts
 + /etc/fstab
 + mountd
 + portmapper

 

 

 

 

---------- 主題210:ネットワーククライアントの管理 ---------


210.1 DHCPの設定 ★★☆☆☆


 + dhcpd, dhclient
 + dhcpd.conf
  - option domain-name     :ドメイン名;
  - option domain-name-servers :IPアドレス,;
  - option routers       :でふぉげのIPアドレス;
  - option subnet-mask     :サブネットマスク
  - option broadcast-address  :ブロキャスアドレス
  - option ntp-servers     :NTP
  - option nis-domain     :NISドメイン
  - option nis-servers     :NISサーバ
  - option net-bios-name-servers:WINSサーバ(NetBIOS)
  - default-lease-time     :デフォの貸し出し期限
  - max-lease-time       :最大の貸し出し期限
  - range           :貸し出すIPのレンジ
  - fixed-address       :割り当て時の固定IPを
  - hardware ethernet     :クライアント特定のMACアドレス
  - allow unknown-clients   :知らないMACアドレスを許可
  - deny unknown-clients    :許可しない


 + dhcpd.leases
 + syslog や systemd のジャーナル内の DHCP のログメッセージ
 + arp

 ルータ広告をするもの
 + radvd
 + radvd.conf

 + dhcrelay リレーエージェント

 

 

 

 

210.2 PAM認証 ★★★☆☆


 + sssd.conf(System Security Service Daemon)
  LDAPやADの認証記録をキャッシュする
  →オフラインでも認証できる

 + /etc/pam.d  (ある場合/etc/pam.confが無視される)
  モジュールタイプ コントロール モジュール 引数
 + モジュールタイプ
  auth   : パスワードを使いユーザ認証
  account : アカウントが有効かチェック
  password : パスワードの設定/変更
  session : 認証前後の処理を指定(ログ記録など)

 + PAM コントロール
  + requisite :失敗時即終了
  + required  :失敗時、requiredを実行し拒否
  + sufficient :requiredが全部成功時、許可する
  + optional  :成功失敗を問わずモジュールの実行を続ける

 + PAMモジュール
  + pam_unix   : 通常のパスワード認証
  + pam_cracklib :パスワードの書式制限
  + pam_limits  :ユーザー利用のリソース制限
  + pam_listfile :ファイルを使いプログラムのアクセス制御
  + pam_sss    :SSSD認証
  - pam_console  :端末からログイン時に管理権限を一部委譲
  - pam_deny   :認証を全て拒否
  - pam_env    :環境変数設定
  - pam_ldap   :LDAP認証
  - pam_nologin  :一般ユーザーのログイン拒否(etc/nologin)
  - pam_securetty :rootログイン可能な端末設定(etc/securetty)
  - pam_warn   :ログを記録
  - pam_wheel   :root権限アクセスをwheelグループのメンバに制限

 + nsswitch.conf

 

 

 

+ 210.3 LDAPクライアントの利用方法 ★★☆☆☆


 + ldappasswd
 + ldapsearch
  -d 識別名で検索開始位置
  -L  :LDIFv1形式で表示
  -LL :LDIFv1形式でかつ※なしで表示
  -LLL :LDIFv1形式でかつコメントとLDAPバージョンの表記なし
 + ldapadd
  -h 接続先ホスト
  -x 簡易認証
  -D 識別名
  -W 対話的入力
  -w password
  -f LDIFファイル指定
 + ldapdelete

 

 

 


210.4 OpenLDAPサーバの設定 ★★★★☆


 LDAP: 読み込み検索に最適化された、X500をベースとしたDAPの軽量化
 DIT : Directory Information Tree。LDAPの階層構造。RDNとDNがある
 LDAPの階層構造について
  - objectClass : オブジェクトクラス
  - dn  :DistinguishedName
  - c  :Country
  - cn  :CommonName
  - dc  :DomainComponent
  - mail :MailAddress
  - o  :Organization
  - ou  :PrganizationalUnit
  - sn  :SurName
  - uid :
  - telephoneNumber
  - uidNumber

 # slapadd (エントリーの追加)
  -l LDIFファイルを追加
 # slapcat (DBからデータをLDIFとして出力)
 # slaptest
 # slapindex (slapd.confよりインデックスを作成)
  -v 詳細情報
  -d デバッグレベル
  -f ファイル名
  -c エラー時も処理を継続
  -n slapd.confにあるDB番号に接続
  -d DNでDBを指定して接続

 + slapd.conf
  グローバルセクション
   argsfile  :起動用コマンドがあるファイルを指定
   pidfile   :PIDを格納するファイル指定
   include   :設定ファイルの場所
   logfile   :ログの出力先
   loglevel  :ログのレベル
   idletimeout :クライアント接続を切断する秒数
   timelimit  :検索要求の応答に使う秒数
  データベースセクション
   database : バックエンドのDBの種類
   suffix  : ディレクトリのトップとなるDN
   rootdn  : DB管理者のDN
   rootpw  : DB管理者のパスワード
   index   : 属性と、作成するインデックスの種類
   directory : DBファイルを格納するディレクト
  アクセスディレクティブ(アクセス制御)
   access to [アクセス対象]
    by [要求者] [アクセス権]
   アクセス対象:*, dn=, attrs=, filter=
   要求者:*, anonymous, users, self, dn=
   アクセス権:none, auth, compare, search, read, write
   初期状態:全ユーザがReadのみ。アンマッチはアクセス拒否


 # slapd
  -4,-6 : 使用するプロトコル
  -d N : デバッグレベル
  -f Na : 設定ファイル
  -u,-g :起動ユーザーグループ
  -r  :ルートディレクト
  

 スキーマ
  スキーマファイルは予め用意された、オブジェクトクラスや属性定義ファイル
  core.schema     :cn,ouなどの基本属性
  cosine.schema    :X500で定義された属性
  inetorgperson.schema :inetOrgPersonなどを定義
  nis.schema      :NIS関連のオブジェクトクラスを定義

 オブジェクトクラス
  エントリには必ず人るの構造型クラスが適用
  エントリには複数の補助型クラスが適用できる
  抽象型クラスは他のオブジェクトクラスを定義する基底クラス
  ABSTRACT :基底
  STRUCTUAL:人組織を現す
  AUXILIARY:補助型クラス

 OID
  IANAによって管理される
  オブジェクトクラスや属性に一意に割り当てられてる
  スキーマの拡張にはIANAからOIDをもらう必要がある

 + slapd-config
  olcLogLevel:N   :cn=config
  olcInclude:NAME  :cn=include
  olcAttributeTypes :cn=schema
  olcObjectClass  :cn=schema
  olcBackend=type  :colBackendConfig(bdb,config,ldap,ldif,passwd)
 
 + LDIF
  LDAPの情報をUTF-8で記載。バイナリはBase64エンコード
  空白で複数エントリで属性::属性値の記述
  dn:対象エントリの識別
  changetype:変更種別
   add,del,modrdn
   modify: add delete,replace

 + /var/lib/ldap/*
 + loglevel

 

 

 

# ---------- 主題211:電子メールサービス ---------------------


211.1 電子メールサーバの使用 ★★★★☆

 + postfix
  start  : 起動
  stop  : 終了
  abort  : 強制終了
  flush  : キューを消化
  reload : 設定のリロード
  check  : 設定の構文チェック
 + postconf -n デフォから変更されたものだけ表示
 + postqueue -p キューを表示
       -f 送信
 + postsuper -d キュー削除


 + main.cf
  myhostname   = 自サーバのホスト名
  mydomain    = ドメイン
  myorigin    = @以降のドメイン
  inet_interfaces = メールを受け取るIF
  mydestination  = ローカル配送のドメイン
  mynetworks   = リレーを許可するクライアント
  mail_spool_directory = スプールディレクト
  home_mailbox  = ユーザのホームディレクトリ以下のスプール
  mailbox_command = ローカル配送のプログラム指定
  disable_vrfy_command = SMTPのVRFYを無効にするか

  - # でコメント行
  - $設定項目で他の値を参照
  - ,で複数記述
  - 改行してスペースで、前行の継続として扱える

 + postfix TLS
  master.cf内  smtps        ;コメント解除
  main.cf    smtpd_use_tls    ;yes TLS有効化
          smtpd_enforce_tls  ;yes TLS強制
          smtpd_tls_cert_level ;may[任意],encrypt[強制]
          smtpd_tls_cert_file ;証明書ファイル
          smtpd_tls_CAfile   ;CA証明書ファイル
          smtpd_tls_key_file  ;秘密鍵ファイル


 + /etc/aliases
  アカウント: 受け取りユーザ名,受け取りユーザ名
  - admin: /ファイルパス
  - admin: |/usr/local/bin/example 
  - admin: user@domain 転送
  - admin: :include:/Path Path記載の内容を別名として読む

 

 + /etc/postfix/*
 + /var/spool/postfix
 + Sendmailエミュレーション層のコマンド
  -bp キュー表示  mailq
  -q 即送信

 + /var/log/のメール関連のログ

 

 

 

 

211.2 電子メール配信を管理する ★★☆☆☆


 + Control
  if    条件分岐
  require 拡張機能指定
  stop   処理停止

 + Test
  address 
  header 
  size  
  allof  
  anyof  
  not   
  true  
  false  

 + Action
  keep   でふぉ。メッセージを保管
  redirect アドレスに転送
  discard 破棄
  reject  配信拒否
  vacation 自動返信

 

 

 

 


211.3 メールボックスアクセスを管理する ★★☆☆☆


  SSL = yes
  ssl_key = </Path
  ssl_cert = </Path
 
 Courier-IMAP

 + /etc/dovecot/
 
 + doveconf
  -n デフォルト以外を表示
  -c 設定ファイルを指定
 + dovecot.conf
  mail_location
  mechanisms
  listen
  protocols
  verbose_proctitle = yes

 + doveadm
  reload
  stop
  mailbox
  pw
  who

 

 

 


# ---------- 主題212:システムのセキュリティ -----------------


212.1 ルータを構成する ★★★☆☆


 + /proc/sys/net/ipv4
 + /proc/sys/net/ipv6/
 + /etc/services

 + iptables
 + ip6tables
  -F 全削除
  -X 空のユーザ独自チェインを削除
  -D 1個ずつ削除
  -A 追加
  -P デフォのポリシー設定
  -N New (書き換え系はPre|Postが接頭語)

  -s   送信元
  --sport
  -d   送信先
  --dport
  -p    tcp,icmp,allなど
  -i    受信IF
  -o    送信IF
  -j    適用するアクション
   + ACCEPT   
   + DROP    破棄
   + REJECT   破棄(通知あり)
   + MASQUERADE 
   + SNAT    
   + LOG
  
  iptables-save > iptables.backup
  iptables-restore < iptables.backup

 

 

 

 

212.2 FTPサーバの保護 ★★☆☆☆


 + proftpd.conf
 + pure-ftpd.conf
  -E 匿名のログイン禁止
  -e 匿名のみログイン許可
  -i 匿名のアップロード禁止

 + vsftpd.conf
  anonymous_enable=yes|no  匿名ログイン
  anon_upload_enable=yes|no 匿名アップロード
  ftp_username=ftp      匿名ユーザー名
  
  接続要求を
   サーバ   :アクティブモード
   クライアント:パッシブモード

 + /etc/ftpusers
  改行単位の列挙型

 

 

 

 

212.3 セキュアシェル (SSH) ★★★★☆


 + ssh
  Protocol
  PermitRootLogin
  PermitEmptyPasswords
  PubkeyAuthentication
  PasswordAuthentication
  X11Forwarding
  AllowUsers
  AllowGroups
  DenyUsers
  DenyGroups

 + 秘密鍵:公開鍵のファイル組み合わせ
  identity   :identity.pub      クライアント Ver1
  id_dsa    :id_dsa.pub       クライアント Ver2
  ssh_host_key :ssh_host_key.pub    サーバ Ver1
  ssh_host_dsa_key:ssh_host_dsa_key.pub サーバ Ver2

  known_host   クライアント→サーバでの、サーバの公開鍵
  authlyzedkeys サーバ→クライアントでの、クライアントの公開鍵

 

 

 


212.4 セキュリティ業務 ★★★☆☆


 + 機関
  CERT  セキュリティインシデントと技術支援
  JPCERT
  CIAC  セキュリティインシデントの報告
  Bugtraq バグ情報を公開するML

 + Tripwire(改ざん検知)
  File Type/Size
  Owner User/Group Permit
  Date Access/Update
  Block Link/Hash/iNodeNo

 + fail2ban (ログ監視IP遮断[いわゆるIPS])
  jail: ログファイル監視、指定文字列と回数でアクション
  /etc/fail2ban
   fail2ban.conf, jail.conf, filter.d/, jail.d/

 

 

 


212.5 OpenVPN ★★☆☆☆


  # TIPS - OpenVPNのクライアント同士の通信について
  基本はサーバ-クライアント間のみ。しかしpushでルートを伝達できたりする
  クライアントに利用可能なネットワークを伝達する事ができる
  サーバ側の設定に client-to-client ディレクティブが必要

 + openvpn (/etc/openvpn/server.conf)
  nobind :クライアント側ポート自動割り当て
  status :記載したファイルに、接続中クライアントとルーティングを記載
  仮想ネットワーク tun tap
  使用ポート: 1194

-------------------------------------------------------------------------

二台持ち

ツーリングをしていると気になるのが、天気と渋滞で

どちらが欠けても快適度は随分かわるものです。

 

そして電話や通信というものも大事で、

何もなくても、何かあっても連絡手段が

持てるというのはすごく重要なものです。

 

これまでは前者をある程度諦めつつ、

後者にウェイトを置いて、濡れない所に保存するみたいなことをしてました。

 

通信手段はどうしても直射日光や直接の雨を避けて

大切に扱いもので、それに値段も安くないし・・・

 

それも2018年で終わり。

二台目を持ちました。

 

LINEのSIMの1GBと、安価なスマホを入手し

そちらを雨風日光に当てつつ、渋滞や天候情報を入手する方向にしました。

 

今年のツーリングは前よりレベルアップするぞ!

そしてそろそろ5年以上経つアクションカメラや

他諸々の装備のリプレースも待っていて、

 

先立つモノが多く懐はまだ冬か、それか炎天下か・・・

例え話に包丁を持ち出したらその時点で負け

苦しくなると極論に走るのは人の常

神でもないのに決めつけてしまうのも人の常

 

 

で、今日の話題はいつも通りの回送です。回想。

多くのオーディエンス、いや人生の主人公の人々は

一度として二度同じ時間を歩むことはない前提で世の中は動いている

 

いわゆる、当人が観測できないだけで、そこは無限の可能性がーみたいな。

観測できないのは当然で、できない以上ないともあるとも言えるわけで。

 

というか時間というものは記憶にすぎないわけで。

 

あの日あの時あの場所で・・・といえば君にと続くんだけど
その概念に交差点を用いた人はうまいこと考えたなーと思う。

 

どこまでその交差点は続いていたかわからないけど、
確かにそこで選択の局面があり、何らかの行動を起こすことができる場所があった、というのは大きな気づきである。

 

通り過ぎたら二度と戻れない点を含めて。

 

過ぎた交差点に戻る事は出来ず、
また次の交差点は別の交差点なのだ。
遠回りでもまた会えたらいいね、ってね。

Linux Professional Institute LPIC-2 Exam 201, version 4.5 passed メモ

今日一番のトピックと言えば、FaceRigとLive2Dぽちったことで
旬の世界を覗けたことですが、今日はそれの数日前のログです。

 

LPIC Exam 201に合格したのでメモ公開です。

ここにあるもの全部覚えたら合格する!ってわけではないですが、

出題範囲の中でつくったあんちょこです。

しかり貼り付けと相性がわるい。。。

 

---------------キャパシティプランニング
Tips
CPU(ALL) : top, vmstat, iostat, mpstat
CPU(PID) : top, ps -u
CPU(Load): top, uptime, w
MEM(ALL) : top, free, vmstat, sar -r
MEM(PID) : top, ps -u
SWAP(USE): top, free, vmstat, sar-S, swapon -s
SWAP(IO) : vmstat
DISK(IO) : iostat, iotop, vmstat, sar-b
Net(IO) : iptraf, netstat -i, sar -n DEV|EDEV, ss
PID : top, psree-p, ps aux, lsof

 

# sar
sadcコマンドが収集したBinaryをテキストに変換
  sadfはsarの出力形式を変更できる
# sadf [Option] -- [sar option]
/var/log/sa/sa日付 に記録
%user, %nice, %system: プロセスの割合
%iowait, %steal, %idle:時間の割合
-u CPU
-P 1 1番目CPU
-r 物理メモリ
-S スワップ領域
-b ディスクIO
-n DEV|EDEV ネットワークIOの情報
-f 取得するファイルの指定
/usr/lib/sa/sa1 sadc
/usr/lib/sa/sa2 sar

# vmstat
procs
r:実行待ち数
b:IO待ち等で割り込み不可のスリープ状態
w:スワップアウトされた
memory
swpd:使用中のスワップ領域
free:空いてる物理メモリ
buff:バッファキャッシュ
cache:ページキャッシュ
swap
si:スワップイン
so:スワップアウト
io
bi:デバイスからの読み取りブロック
bo:書き込みブロック
system
in:割り込み回数
cs:コンテキストスイッチ
cpu
us:ユーザープロセスの割合
sy:カーネルの割合
id:アイドルの割合
wa:ウェイトの割合
st:バーチャルに使用された割合

 # netstat -i
TX:送信(Transfer)
  RX:受信(Receiver)

# w
現在時刻 稼働時間 ユーザー数 負荷平均(1,5,15分)
LOGIN@ ログイン時刻@16:03分記載

# iostat(CPU使用率とディスクIO)
 # iotop(ディスクIOの情報をプロセス毎に)
# pstree
-p: PID

# iptraf

# sar (sadc)
-u cpU
-r memoRy
-b diski/o
-n Network


collectd
/etc/collectd.conf
LoadPlugin


---------------Linuxカーネル
Module
# depmod (update /lib/modules/(VERSION)/modules.dep)
# lsmod listed enable module
# modinfo module info
# insmod loading module
# rmmod unload
# modprobe probe load unload (-r unload, -f force, -l list, --show-depends)
binはバイナリ、libはモジュール

 modprobe.conf
alias eth1 tg3 (eth1実行時にtg3をロード)
  option     パラメータ設定
  install     ロード
  remove     アンロード
# modprobe
: load(default)
-r: remove
-f: force
-l: listed
--show-depends

KernelParameter
即座に設定反映可能
/proc/sys以下にパラメータ操作用の仮想ファイルがある
sysctlは一時的、恒久変更の場合設定ファイルを変更
基本、初期時点で自動設定が入っている
# sysctl [param] view
-w write
-a list
恒久変更
   /etc/sysctl.conf
  /etc/sysctl.d以下のファイル
フォーマット
  Slash:cat /proc/sys/kernel/keys/maxbytes
  colon:# sysctl kernel.keys.maxbytes
  colon:cat /etc/sysctl.conf

Kernel本体
/usr/src/linux/kernel/    :ソース本体
/usr/src/linux/kernel/Makefile :makeの動作だけ
/usr/src/linux/Makefile     :バージョンとmakeの動作
/usr/src/linux/.config     :カーネルビルド用の設定ファイル


KernelUpGrade
自動でカーネルモジュールをリビルドする
  # dkms [Dynamic Kernel Module Support]

# make option
mrproper, oldconfig, all, modules_install, install
初期化  継承   ビルド インストール
   config :対話的
menuconfig :ターミナルGUI
xconfig :X上のGUI
defconfig :デフォ設定の設定ファイル作成
oldconfig :現在のカーネル設定を継承
cloneconfig :oldconfigと同じ
clean :設定ファイルを除いてクリーンに
mrproper :設定ファイルを含めてクリーンに


udev
  本体:/etc/udev/udev.conf
  個別:/etc/udev/rules.d
# udevadm : した三つまとめて
# udevcontrol : 動作/停止
# udevinfo : デバイス情報表示
# udevmonitor : 動作状況の監視出力


# uname
-s: カーネル名     
-r: カーネルバージョン Revision
-n: ホスト名      
-m: ハードウェア    
-p: CPUタイプ      cPu
-a: 全部 All

InitRamDisk
# mkinit rd
# mkinit ramfs
# dracut
  # mount -o loop initrd.img /mnt/ram

/boot
grub/
grub.cfg GRUB2
menu.lst GRUB
grub.conf GRUB
vmlinuz カーネルイメージ
system.map カーネルアドレスマップ
initrd.img 初期RAMディスクイメージ
config/ ビルド時の設定


---------------システムの起動
 Tips
  起動時に2度マウントされる。
  fsckによる検査修復後、RWでマウントする

 
  FAT:SYSLINUX
  cdrom:ISOLINUX
isolinux.cfg/
isolinux.cfg
  PXE:PXELINUX
     BootLoader: pxelinux.0
Configure : pxelinux.cfg/
DHCP & TFTP
  EXT:EXTLINUX
  syslinux --install /dev/sdb1

 GRUB
  /boot/grub/device.map 「(hd0) /dev/sda」
  表示名: title CentOS
  /の場所:root (hd0,0) (GRUB2 set root)
  本体 : kernel /vmlunuz-2.6.18.e15 (GRUB2 linux)
初期RAM:initrd /initrd-2.6.18.el5.img
オプション
   nosmp|maxcpus=0
   1 s single など

 UEFI
  概念:ESP(EFI System Partition)
  UEFI Shell:OS外からデバイスドライバTCP/IPが利用
  efibootmgr:OS上から操作する

 OtherBootLoader
systemd-boot(UEFI): ESP パーティションにアクセスできること
U-boot: OpenSourceステージ分割可能
isohdfpx.bin: ISOLINUXイメージでMBRコードのブートに起動
  efiboot.img: UEFIでISOLINUX使ってブートする
  bootx64.efi: UEFIのブートマネージャーでUEFI起動時にロードされる
  SecureBoot: X.509証明書を用いて起動制限する。Win8以降に割とある
  shim.efi
grubx64.efi


 systemd(Unit)
  service(サービスの操作)
  mount(ファイルシステムをマウント)
  device(udevのデバイス)
  target (ユニットのグループ化)


サービス起動
chkconfig redhut
insserv SUSE
-r: off
: on
update-ec.d Debian
update-rc.d [Option] Service [Operation] [Pri] [RunLv] .
defaults
start
stop
remove -f

/etc/init.d/ は存在し実スクリプトもあるが全レベル分
  /etc/rc3.d に3で起動するスクリプトのリンクだけ入れる

起動スクリプト
  K27test, S45TESTのようなもの
K(Kill),S(Start)でKから選出され若番から作動する

 

---------------ファイルシステムとデバイス

FileSystem--
  ext2 ×
  ext3
  ext4 ○ 1EiBサポート
  btrfs ○ サブボリュームやスナップショット
  xfs ○
  iso9660 CDROM
  FAT    古いWindowsやISOLINUXなど
  NTFS   XP以降のWindows
  NFS    ネットワークファイルシステム
  tmpfs RAMディスク
  swap   物理メモリのスワップ
  ZFS  ○ Solarisが使うbtrfsのパクリ

  VFS   ファイルシステムではない。異なるファイルシステム間のラッパー(?)

 ext2/ext3
  データブロック  ファイルの実体を保持する
  iノードブロック メタ情報(ファイル名/サイズ/パーミッション)を保持(128byte)
  スーパーブロック マウント回数やブロックサイズなど全体の情報

# mkfs
# mke2fs

# fsck
# e2fsck

# tune2fs
# e2label

# dumpe2fs
# debugfs

# mke2fs
-m root用予備領域
-L ボリュームラベル設定
-t ファイルシステムの種類

# mkisofs
-o 出力先
  -J Jolietフォーマット(Windows)
  -R RockRidgeフォーマット(UNIX)
-udf DVDのフォーマット

XFS
# mkfs.xfs
# xfsrestore Restore
# xfsdump Backup
 # xfs_admin
# xfs_check
# xfs_info

btrfs
# btrfs filesystem show
# btrfs subvolume create
# btrfs subvolume delete
# btrfs subvolume list
# btrfs subvolume snapshot

 fstab
LABEL=/boot (eq必須)

 UUID
  # blkid
/dev/disk/by-uuid

 オートマウント
どのディレクトリのどのデバイスをどのファイルシステムでマウントするか
設定:/etc/auto.master 他にauto.cdromなど
  左からマウントポイント、マップファイル、オプション
直接:/-
関節:/auto

---------------高度なストレージ管理

 LVM
# pvcreate 作成
# pvremove  削除
# pvmove   内容を移動
# pvdisplay 情報表示

# vgcreate 作成
# vgremove  削除
# vgextend  PVを追加
# vgreduce  PVを削除
# vgdisplay 情報表示

# lvcreate  作成 (-L サイズ; -n 名前; -s スナップショット)
# lvremove  削除
# lvextend  拡張
# lvreduce  縮小
# lvdisplay  情報表示


 # hdparam
-i 詳細情報
  -I 直接詳細情報
  -t BufferCacheオフの読み込み速度計測
  -T BufferCacheのみの読み込み速度計測
-c(0/1) 32bitI/O
-d(0/1) DMAモード
  -W(0/1) ライトキャッシュ

 # mdadm [--manage] RAIDバイス [Option] デバイス1 デバイス2
  Misc
-Q --query 状態表示(/proc/mdstat)
-D --detail 詳細情報
-S --stop 停止
  Manage
  -a --add 追加
-r --remove 削除
-f --fail 不良マーク付与
  Create
  -l --level=レベル
  -n --raid-devices=使用デバイス
  -x --spare-devices=予備デバイス

 

---------------ネットワーク構成

 # arp
-i インターフェース
-a 表示対象のホスト名指定
-d 削除対象のホスト名指定
-n IPアドレスのまま
-s IP+MACの対応をキャッシュに追加
-f ファイルの中身をキャッシュに追加


 # netstat(new ss)
-lantu は共通
-i インターフェース統計/内部TCP情報
-r ルーティングテーブル/名前解決


# tcpdump
  -i 対象インターフェース
-n IPアドレスのまま
-X 16進数&ASCIIで表示

  条件式(space区切り)
host
port
tcp/udp/icmp/arp
src/dst


 # iw obj command (無線)
dev [インターフェース名]
link
scan
connect/disconnect
station dump
  phy [phy1]
interface add/del
info


# namp
-sT -sU -sP スキャンタイプ(TCP/UDP/Ping)
-p ポート範囲指定
-F 辞書スキャン
-O OS識別

---------------システムの保守

# tips
+ tar xf file.tar [取り出したいファイル名]
+ gzip -c [StdOut] -c(cat)
+ ログイン後表示:/etc/motd
+ ログイン前表示:/etc/issue
+ ログイン中表示:wall

# rsync
-a: 属性保持
-e: 転送方法
-v: 詳細出力
-z: 圧縮転送
--delete 転送先削除

# patch
usage: patch [option] < [PatchFile]
usage: cat [PatchFile] | patch [option]
patch-kernel
-pN: (0: 修正しない, 1:先頭パスを削る, n:n階層分ディレクトリを削る)
-d: 作業ディレクトリの指定
-R: 適用を取り消す(ロールバック

sample: gzip -dc patch-2.6.38.5.gz | patch -p1

Build
# make
configure : Makefileの自動生成
Makefile : installやuninstallでの挙動を記載する指示ファイル
make : ソフトウェアのビルド
su(必要に応じて)
make install: パスの通ったディレクトリに配置しアクセス権等の設定も行う
clean : コンパイルで生成された全ファイルを削除

 

 

 

追体験記録

大分 6:00    庄内 5:00
宇佐 7:45    日田
うきは 8:00-11:00
関門 10:25      13:30
下関 11:00      14:00
山口 12:20
周南 13:00
大竹 15:20
広島 16:50
尾道 0:30
三原 18:00
福山 19:20
瀬戸内 21:10     3:30
姫路 22:40
灘 10:30