2016年8月7日日曜日

vsftpdのユーザ認証でつまづく

例によって、躓いたのではなく勝手に転んだだけ。

vsftpdをぶちこむ
vsftpd.confをいじる
systemctl start

ftpクライアントから既存ユーザやrootで認証を試みるもNG
Web-based Distributed Authoring and Versioning なんちゃらで暗号化されとらんと

とりあえずanonymousをenableにしてサービス動作状況を確認しようとし、pubのファイルを読み出せることは確認。ただ書き込みNGのため、取り急ぎ chmod 777 …としたところ読み出しもNGに。

という転び方。さ、ひとつひとついくか。


2016年4月10日日曜日

Apatchからphpでmariadbなやってみるテストの遠い道のり

Don't think, Feel...! な話です。違うか、もっとアホや。

さておき、とあるWebページを参照したのだがhttpd を突っ込んで次に、

# firewall-cmd --state

えーとこれは。CentOS7前提に書かれているのだが、このコマンドを見たことない。バカはバカを自覚して、これまで参照させていただいたWebサイトさんのお世話になる。

Webサーバー構築(Apache)
https://centossrv.com/apache.shtml

phpはいいとして、php-mbstinrgってなんですのん。

PHP マニュアル から
http://php.net/manual/ja/mbstring.installation.php

拡張モジュールらしいです。よくわかりませんが、バカ(ジブン)に説明なので詳しくは先へ進んでから。

...

/etc/httpd/conf/httpd.confの内容がマッタク違う。(凹


server-world.infoさんへ移動
http://www.server-world.info/query?os=CentOS_7&p=httpd

とりあえずphpまで。





2016年3月28日月曜日

CentOS7から Windows PCの共有フォルダマウント これも未遂

かつては smbmount や mount smbfs といった作法があったようだが、6.x や 7 ではどうも異なるようだ。いろいろ参照し過ぎてどこでお見かけしたかわからなくなったが、こういう作法であるらしい。

# mount -t cifs -user=daredare,password=hogehoge //IPアドレス/ヴォリューム /マウント名/フォルダ名

毎度のことながら、この捉え方が正しいとは限らないええマッタク。実際のコマンドのヘルプを参照してみる。


# mount --help

Usage:
 mount [-lhV]
 mount -a [options]
 mount [options] [--source] <source> | [--target] <directory>
 mount [options] <source> <directory>
 mount <operation> <mountpoint> [<target>]

Options:
 -a, --all               mount all filesystems mentioned in fstab
 -c, --no-canonicalize   don't canonicalize paths
 -f, --fake              dry run; skip the mount(2) syscall
 -F, --fork              fork off for each device (use with -a)
 -T, --fstab <path>      alternative file to /etc/fstab
 -h, --help              display this help text and exit
 -i, --internal-only     don't call the mount.<type> helpers
 -l, --show-labels       lists all mounts with LABELs
 -n, --no-mtab           don't write to /etc/mtab
 -o, --options <list>    comma-separated list of mount options
 -O, --test-opts <list>  limit the set of filesystems (use with -a)
 -r, --read-only         mount the filesystem read-only (same as -o ro)
 -t, --types <list>      limit the set of filesystem types
     --source <src>      explicitly specifies source (path, label, uuid)
     --target <target>   explicitly specifies mountpoint
 -v, --verbose           say what is being done
 -V, --version           display version information and exit
 -w, --rw, --read-write  mount the filesystem read-write (default)

 -h, --help     display this help and exit
 -V, --version  output version information and exit

Source:
 -L, --label <label>     synonym for LABEL=<label>
 -U, --uuid <uuid>       synonym for UUID=<uuid>
 LABEL=<label>           specifies device by filesystem label
 UUID=<uuid>             specifies device by filesystem UUID
 PARTLABEL=<label>       specifies device by partition label
 PARTUUID=<uuid>         specifies device by partition UUID
 <device>                specifies device by path
 <directory>             mountpoint for bind mounts (see --bind/rbind)
 <file>                  regular file for loopdev setup

Operations:
 -B, --bind              mount a subtree somewhere else (same as -o bind)
 -M, --move              move a subtree to some other place
 -R, --rbind             mount a subtree and all submounts somewhere else
 --make-shared           mark a subtree as shared
 --make-slave            mark a subtree as slave
 --make-private          mark a subtree as private
 --make-unbindable       mark a subtree as unbindable
 --make-rshared          recursively mark a whole subtree as shared
 --make-rslave           recursively mark a whole subtree as slave
 --make-rprivate         recursively mark a whole subtree as private
 --make-runbindable      recursively mark a whole subtree as unbindable

For more details see mount(8).


スモールtオプションが無い。というわけで調べ直し。。






CentOSでRIPを使用したルーティングの設定 未遂

まだ設定に必要な要素は何か、という段を始めたばかりで、何も進んでいない。

今さら注:このblogはあくまで、ド素人の試行錯誤ネタです。確かな知識や確たる動作をご要望の方は、確かな技術をお持ちの企業さんへご依頼なさってください。


さておき、今回参考にさせていただくのは。

Miracle Linux さんから
RIPを使用したLinuxルータ構築方法
https://users.miraclelinux.com/support/?q=node/184


今回も毎度ながらのナニモワカラナイ迷子状態、ではない。ネットワーク分野であれば多少の基礎は...あるのか? > ジブン。先の資料を拝見すると quagga や zebra といったところが全くの未知。検索してみたところ、Widely Integrated Distributed Environment ドメイン の東大電子情報工学科の資料が見つかった。

ルーティングソフトウェア quagga の設定
http://www.hongo.wide.ad.jp/exp/2010w/quagga.html

RIPどころか、OSPFv3 や BGP-4 まで動くようだ。こうなるとテスト環境のWANルータが RIPv2しか喋れないのが何だが、そこはまぁ、再配も一興ということで。

尚、話は逸れるが、このblogとていつまでも誤3でばかりいるつもりはなく、いずれは先人の方々とは違う面でそれなりに他人様のお役にたつ意欲はある。実現性は未だ見通せないが。

さておき。

quagga の前に、sysctl.conf の編集がワカラナイ。sysctl.conf のマニュアルを読んでは見るもののナントナークで理解できるようなイヤしてないだろ状態。しようがないので、行き倒れ承知でやってみる。

# vi /etc/sysctl.conf

net.ipv4.ip_forward = 1

を追記して、# sysctl -p すると追記の1行が出力された。次に、

# cd /etc/quagga/

って存在しないし。そこでEPELから

# yum install quagga.x86_64

するとdependencies resolved な

lm_sensors-libs
net-snmp
net-snmp-agent-libs
net-snmp-libs

とあわせて導入された。

lm_sensors は Linux-Monitoring Sensors ということらしい。Wikipediaにもエントリがあるぐらいポピューラーなものだった。

lm_sensors - Wikipedia
https://en.wikipedia.org/wiki/Lm_sensors

また、net-snmpについては、なるほどこちらであるようで。

Net-SNMP
http://www.net-snmp.com/

Net-SNMP - Wikipedia
https://en.wikipedia.org/wiki/Net-SNMP


quagga に戻って。

/etc/quagga 以下のzebraの設定サンプル、ripdの設定サンプルをコピーせよとのことだが。前者はサンプルが無いので、デフォの本番ファイルのコピーを取っておく。そして、ripdについてはそもそもサンプルも本番も存在しないので、この手順はスキップ。

ここで、テスト機材間のarpが解決できない問題が見つかるが保留。続いて


# service zebra start
Redirecting to /bin/systemctl start zebra.service

なるほどそこに。ここではCentOS7なので、

systemctl start zebra
systemctl enable zebra

を実施しておく。次に、当該テストPCでルーティングをするにあたり、2つのネットワークに接続しなくてはならないわけだが、まだ1つしかつないでいないので追加。

で、新たにつないだ方のネットワークへ、管理PCからアクセス...ここで、


 管理PCでスタティックルート切ってませんでした

  &


 テストPCでも管理PCの同様に切ってませんでした。

  &

 そもそもテストPCでrouteコマンド使えませんでした


いろいろボロが。まず、CentOS7でのコマンドの変更についてこちら様。

めもめも RHEL7/CentOS7でipコマンドをマスター
http://enakai00.hatenablog.com/entry/20140712/1405139841

従来 route add だった作業はたとえば

ip r add 172.16.1.0/24 via 172.16.2.254

このように。これでpersistenceかどうかは後回し。一方、管理PC側は Windows であるので


route add 172.16.2.0/24 via 172.16.1.254 -p


で、ここまでやってまだpingが通らないので何や!と思えば Windowsファイアウォール。パブリックでないICMPは全部開けておいたつもりだったが、何のことはない、Widnwosによってパブリック扱いになっていた。しようがないので、パブリック向けもICMPは全部開けて終了。


ここまでドタバタしてようやく

# vthsh

ホスト名# なプロンプトで、ルータちっくに動作する。show run などそのままだ。ただ、当該機器が実際に使用しているIPアドレス類は zebra には反映されていない。というより、あるいはこれは仮想ルータなのか? そこからわかっとらんやん自分。


具体的な設定については、次回。。





2016年3月22日火曜日

Clamの単体動作の次はPOSTFIXでメールチェック


RPMforgeが必要なので参照。
http://pkgs.repoforge.org/rpmforge-release/

追加
# yum install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm


次に、postfixサーバにclamavを導入する。手順は fallenangels さんのこちら。
https://centossrv.com/clamav.shtml



以下、私がやらかして後でやり直しそうな点をつまんでメモ。

#vi /etc/clamd.conf
User clamav の記述は一ヵ所しかないと思うのだがたぶん、とりあえず一箇所コメントアウト。

#vi /etc/tmpfiles.d/clamd.conf
CentOS7なので設定。空白のファイルが開いたのでやらかした!? と思ったら新規作成らしい。こんなフォルダまでわざわざ作るのかと思ったら、既に

python.conf

が存在した。ひょっとして、この .dはディレクトリの意味か。CUIの世界では識別に難があるのでこうなっているのだろうか。


さておき clamd.conf に記述する内容は、

d /var/run/clamav 0755 root root -

だが、もちろん意味はわからない。検出経過をここに書き出してるかもしれない、程度の見苦しいまでに愚かな認識。

続いて、

sed -i 's/^Example/#Example/g' /etc/freshclam.conf

そもそもsedコマンドとは? リポジトリのプライオリティ変更の際に使うことは以前 server-world.infoさん で倣わせていただいたが、コマンドそのものの機能について私は学んでいなかった。何ともアタマ弱すぎるが、TVでDQNタックルな阿川その他出演者スタッフほど視聴者をナメきった糞ゴーマン虚言野郎ではないのでご容赦いただきたい。

sed コマンドそのものについては、俺的備忘録さんからsedコマンドで覚えておきたい使い方12個

なるほど、sed は置換のコマンドやったんですかスミマセン。"俺的備忘録 ~なんかいろいろ~" さんのコンテンツはたいへん有用なので、別途要復習>私。


続いてテストスキャン。

# clamsca --infected --remove --recursive

weblio - infect
http://ejje.weblio.jp/content/infect

いnfえくと。これはおそらく、名言吐きまくりな ジャック Bauer さん あたりがしょっちゅう絶叫してた単語なんじゃないかと。

There’s no going back for me! Don't bother me!!

いやいやいや、Bauerごっこで遊んでいるどころではなかった。次に定期実行のスクリプトを作成するが、ここに至ってはもう、理解の前提である基礎知識が全く足りないのでこここに何も書きようがない。


自動実行スクリプトはさておき。clamavについてひと通りの導入は終わったので、まずは慣れる、程度の意味で先へ進んでみる。これまでの環境に、SpamAssassin を追加する手順だ。具体的には fallenangels さんのこちら。https://centossrv.com/postfix-clamav-spamassassin.shtml

...先へ進んではみるのだが、作業についてはここでは言及しない。というのは3つの理由からで、 ひとつは従来同様であるのだが、

・ジブンが何を書いているのかわからない設定/コマンド

であること。そして、

・Samba ADと認証連携環境にあって root に管理情報のメールを送るという前提で設定することがそもそも間違っている。

何よりも、

・この作業後に、従前OKだったテストメールアカウント間の送受信が全部NG


というわけで、いろいろ要反省。


客先ではやりたくないが、トラブルはブレイクスルーのきっかけだぜAWESOME!!(Neil Pasricha 氏ふう)



追記:


ちなみにエラーのログは

Postfix postfix/smtpd[2152]:
 connect from unknown[172.16.16.33]

Postfix postfix/smtpd[2152]:
 EA730122FFF: client=unknown[172.16.16.33],
 sasl_method=PLAIN, sasl_username=kurian

Postfix postfix/cleanup[2155]:
 EA730122FFF: message-id=<56F15F5F.1080904@test-domain.local>

Postfix postfix/smtpd[2152]:
 disconnect from unknown[172.16.16.33]

Postfix postfix/qmgr[1484]:
 EA730122FFF: from=<user1@test-domain.local>,
 size=618, nrcpt=1 (queue active)

Postfix local[2157]:
 fatal: execvp /some/where/procmail: No such file or directory

Postfix postfix/local[2156]:
 EA730122FFF: to=<user2@test-domain.local>,
 relay=local, delay=0.26, delays=0.13/0.06/0/0.08,
 dsn=4.3.0, status=deferred
 (temporary failure. Command output: local:
 fatal: execvp /some/where/procmail: No such file or directory )


キューマネージャまではおそらく通常? procmailの記述が間違っているのでこれを修正したが依然NG。main.cfでprocmailの連携部分を無効にすると送受信可能となるのでこの線で切り分けはできるが、んじゃ、そこから先は?

/var/mail以下が書き込めないというのでchemod 777 な超短絡対策。それから、procmailrcの内容を、先人の方の設定例まんまコピペしたら動作した。

結局こんなオチかよ AWESOME!!(Neil Pasricha 氏ふう)


また、Sexmeds in our licensed store なリアル迷惑メールを転送してみたところ、ちゃんと廃棄してくれた。



追記2:


 スキャン中のCPU使用率がなかなか。と言っても、数年前のエントリーモバイルCPUでさらにVirtualBox上でCPUコア1つしか使わせずにゲストがCentOS7での話なので、全くどの現場の参考にもならない。




2016年3月21日月曜日

Calm もとい Clamshell もとい Clam をインストールできるかメモ

ド無知でド素人で誤3野郎による、初めてのおつかいシリーズです。


OXY NOTES さんから
無料で使えるLinuxのアンチウイルスソフト[Clam AntiVirus]の導入と設定の解説
http://oxynotes.com/?p=9731

こちら様の例は約2年前のことなので、直近ならあるいはひょっとして? と標準リポジトリで探してみると、


======================================================== Matched: clamd ========================================================
clamav-scanner.noarch : Clamav scanner daemon
clamav-server.x86_64 : Clam Antivirus scanner server
nagios-plugins-tcp.x86_64 : Nagios Plugin - check_tcp

それらしいものがあるにはあるが、同じかどうかわからない。また、clamavで探してみると

===================================================== N/S matched: clamav ======================================================
clamav-filesystem.noarch : Filesystem structure for clamav
clamav-milter-systemd.noarch : Systemd initscripts for the clamav sendmail-milter
clamav-milter-sysvinit.noarch : SysV initscripts for the clamav sendmail-milter
clamav-scanner.noarch : Clamav scanner daemon
clamav-scanner-systemd.noarch : Systemd initscripts for clamav scanner daemon
clamav-scanner-sysvinit.noarch : SysV initscripts for clamav scanner daemon
clamav-server-systemd.noarch : Systemd initscripts for clamav server
clamav-server-sysvinit.noarch : SysV initscripts for clamav server
clamav-unofficial-sigs.noarch : Scripts to download unoffical clamav signatures
clamav.x86_64 : End-user tools for the Clam Antivirus scanner
clamav-data.noarch : Virus signature data for the Clam Antivirus scanner
clamav-data-empty.noarch : Empty data package for the Clam Antivirus scanner
clamav-devel.x86_64 : Header files and libraries for the Clam Antivirus scanner
clamav-lib.x86_64 : Dynamic libraries for the Clam Antivirus scanner
clamav-milter.x86_64 : Milter module for the Clam Antivirus scanner
clamav-server.x86_64 : Clam Antivirus scanner server
clamav-update.x86_64 : Auto-updater for the Clam Antivirus scanner data-files

  Name and summary matches only, use "search all" for everything.


さて、これは困った。いろいろ探した結果、こちら様の例から

はじめての自宅サーバ構築 - Fedora/CentOS -
http://kajuhome.com/clam_antivirus.shtml


もっともシンプル?な単体動作の例らしき手順をならってみることにする。併せて参考にするのはこちら。

Clamav
http://www.clamav.net/documents/installing-clamav



assume
http://ejje.weblio.jp/content/assume

compilation
http://ejje.weblio.jp/content/compilation

かmぴれぃしゃn

それから milterとは何かと思えば、これのようで。
http://milter-manager.sourceforge.net/reference/ja/introduction.html

これは管理ツールであってそのものではないが、なるほどそういうことですかと。


# yum install clamav

# yum install clamav-update

後者の導入が必要であったかどうかは、かなりアヤシイ。続いて

# vi /etc/freshclam.conf

において

# Comment or remove the line below.
#Example

コメント記号追加。 続いて定義ファイルのアップデートだが



# freshclam
ClamAV update process started at Tue Mar 21 21:44:52 2016
WARNING: Your ClamAV installation is OUTDATED!
WARNING: Local version: 0.99 Recommended version: 0.99.1
DON'T PANIC! Read http://www.clamav.net/support/faq
Empty script main-56.cdiff, need to download entire database
Downloading main.cvd [100%]
main.cvd updated (version: 57, sigs: 4218790, f-level: 60, builder: amishhammer)
WARNING: getfile: daily-21124.cdiff not found on remote server (IP: 218.44.253.75)
WARNING: getpatch: Can't download daily-21124.cdiff from database.clamav.net
WARNING: getfile: daily-21124.cdiff not found on remote server (IP: 219.94.128.99)
WARNING: getpatch: Can't download daily-21124.cdiff from database.clamav.net
WARNING: getfile: daily-21124.cdiff not found on remote server (IP: 203.212.42.128)
WARNING: getpatch: Can't download daily-21124.cdiff from database.clamav.net
WARNING: Incremental update failed, trying to download daily.cvd
Downloading daily.cvd [100%]
daily.cvd updated (version: 21467, sigs: 83892, f-level: 63, builder: amishhammer)
Downloading bytecode.cvd [100%]
bytecode.cvd updated (version: 275, sigs: 45, f-level: 63, builder: amishhammer)
Database updated (4302727 signatures) from database.clamav.net (IP: 27.96.54.66)
#

インクリメンタルな更新には失敗したようだ。次に、定期更新の設定を先人の例にならって。


# vi /root/clamav.sh
#
# chmod 700 /root/clamav.sh
#
# crontab -e
no crontab for root - using an empty one
crontab: installing new crontab
#

変更内容は先人の方々を参照のこと。次にスキャン。


# clamscan --log=/var/log/clamav.log --infected --remove --recursive /home/linux/
/home/linux/: No such file or directory
WARNING: /home/linux/: Can't access file


----------- SCAN SUMMARY -----------
Known viruses: 4297364
Engine version: 0.99
Scanned directories: 0
Scanned files: 0
Infected files: 0
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 12.124 sec (0 m 12 s)


あ、そんなディレクトリないのにダメじゃん。しかしこの点を修正しても、

# clamscan --log=/var/log/clamav.log --infected --remove --recursive /home/

----------- SCAN SUMMARY -----------
Known viruses: 4297364
Engine version: 0.99
Scanned directories: 143
Scanned files: 735
Infected files: 0
Data scanned: 103.08 MB
Data read: 53.47 MB (ratio 1.93:1)
Time: 29.493 sec (0 m 29 s)

えーと、秒殺ってなんで!?

あ、リカーシブで指定した先が検索対象ということかなるほどそりゃ秒殺だわ。次に、ウィルス検出テストについて。こちらも先人の方の例のとおりに。

# wget -P /home/ http://www.eicar.org/download/eicar.com
--2016-03-21 22:30:29--  http://www.eicar.org/download/eicar.com
Resolving www.eicar.org (www.eicar.org)... 188.40.238.250
Connecting to www.eicar.org (www.eicar.org)|188.40.238.250|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 68 [application/octet-stream]
Saving to: ‘/home/eicar.com’

100%[======================================================================================>] 68          --.-K/s   in 0s

2016-03-22 01:30:29 (5.91 MB/s) - ‘/home/eicar.com’ saved [68/68]

#
# wget -P /home/ http://www.eicar.org/download/eicarcom2.zip
--2016-03-21 22:30:53--  http://www.eicar.org/download/eicarcom2.zip
Resolving www.eicar.org (www.eicar.org)... 188.40.238.250
Connecting to www.eicar.org (www.eicar.org)|188.40.238.250|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 308 [application/octet-stream]
Saving to: ‘/home/eicarcom2.zip’

100%[======================================================================================>] 308         --.-K/s   in 0s

2016-03-21 22:30:54 (28.1 MB/s) - ‘/home/eicarcom2.zip’ saved [308/308]

#
#
# clamscan --log=/var/log/clamav.log --infected --remove --recursive /home
/home/eicar.com: Eicar-Test-Signature FOUND
/home/eicar.com: Removed.
/home/eicarcom2.zip: Eicar-Test-Signature FOUND
/home/eicarcom2.zip: Removed.

----------- SCAN SUMMARY -----------
Known viruses: 4297364
Engine version: 0.99
Scanned directories: 143
Scanned files: 737
Infected files: 2
Data scanned: 103.08 MB
Data read: 53.47 MB (ratio 1.93:1)
Time: 26.584 sec (0 m 26 s)
#

なるほどこういう動作感。実際には検出された光景など見たくはないが。


さて、次に検索領域を広げてみる。テストで/をすべて検索してみると... clamscanのプロセスで、CPUをガッツリ75-100%ほども使ってくれる。この機材のCPUは i5-560Uで4コア、数世代前とはいえ相当な性能のはずなのだが、それでもclamscanは負荷が高い。


尚、ここでは、そもそもCPU使用率ってどうやって見るんだっけ?程度の見方。こちら様を参照させていただいて、

GOISBLOG さんから
CentOSにおけるリソースプロセス(CPU、メモリ)を確認するコマンドまとめ
https://genchan.net/server/8074

私はここに紹介されているたった一コマンドを使っただけで、ド素人のショボい見方しかしていないので念のため。


さて、このPC で / を検索した結果だが、

----------- SCAN SUMMARY -----------
Known viruses: 4297364
Engine version: 0.99
Scanned directories: 18118
Scanned files: 82184
Infected files: 0
Total errors: 13908
Data scanned: 3581.74 MB
Data read: 3717.09 MB (ratio 0.96:1)
Time: 864.900 sec (14 m 24 s)

CPUを100%近く使いつつの所要時間。



2016年3月17日木曜日

Fedora 23 Cloud って何ですか?

ただでさえスキルも時間も足りないのに何を血迷った!?!?! という話。


Fedora 23 Cloud
https://getfedora.org/en/cloud/download/

もうマッタク何の邪推さえ及ばない世界、知らない用語だらけ。まず、gcow2。検索してみたところ出てきたのはアットマークアイティさんのこちら。

知って見るみるKVM(2):
KVMの導入と基本的な使い方 (1/3)
http://www.atmarkit.co.jp/ait/articles/0904/15/news122.html

次に、意味を知らない以前に読むことさえできないこの用語。

Vagrant
https://ja.wikipedia.org/wiki/Vagrant_%28%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%29

日本語ふうなら、ヴぇいぐらんどですか。この用語以前に、そもそもずっと手前の概念として

FLOSS
https://ja.wikipedia.org/wiki/FLOSS

これも知らんかった。。無知すぎてヤヴァイぜジブン AWESOME!!(Neil Pasricha 氏ふう)



CentOSを仕事PCに使う不安 キーボードと日本語入力

このテスト機材固有の問題かもしれないが、ふと気づくとキーボードレイアウトが日本語でなくなっている場合がある。

これがどういうわけか、GUIの設定メニューで確認する限りは日本語で間違いない。しかし!? 実際に入力してみるとセミコロンやコロンといった記号周辺が英語。このあからさまな不一致がなぜ発生するのか!? 事象のトリガーが掴めないのでたいへん厄介だ。

不具合の修正については、GUIの設定メニューで 日本語-->英語-->日本語に戻す、という手順で可能であることはわかった。が、この修正の後で今度は、日本語入力のOFF/ON、Ctrl+スペースの切り替えが利かなくなったりする。この事象も100%ではなく、再発しないこともある。

この状況では、仕事には使うには論外かも。とりあえずこの機材に限ってのことだが、他で確かめようにも同じ機材は無いので調べようがない。



2016年3月15日火曜日

postfixをベースにメーリングリストを運用できるか

このご時世にオンプレミスでLinuxでしかもpostfix+devcot+mailmanな運用に、果たしてシアワセがあるのだろうか!? と思わないでもないのだが。私は、知らないことを他人様にお話しできてしまう霊能力者ではないので、試してみる。

習わせていただく(倣わせていただく)のはUnixPower on Neworkingさんから

CentOS7 Mailmanのインストールと基本設定
http://www.unix-power.net/centos7/mailman.html

これをyumで探してみると、少し引っかかる点が。

Dependencies Resolved

================================================================================================================================
 Package                     Arch                   Version                                          Repository            Size
================================================================================================================================
Installing:
 mailman                     x86_64                 3:2.1.15-21.el7_1                                base                 5.4 M
Installing for dependencies:
 apr                         x86_64                 1.4.8-3.el7                                      base                 103 k
 apr-util                    x86_64                 1.5.2-6.el7                                      base                  92 k
 httpd                       x86_64                 2.4.6-40.el7.centos                              base                 2.7 M
 httpd-tools                 x86_64                 2.4.6-40.el7.centos                              base                  82 k
 mailcap                     noarch                 2.1.41-2.el7                                     base                  31 k
 python-dns                  noarch                 1.12.0-1.20150617git465785f.el7                  base                 233 k

Transaction Summary

python-dns、はて!? メール関連のツールでDNS? これのことだろうか。

dnspython
http://www.dnspython.org/


このツールにおけるDNS、もさることながらこのテスト環境のDNSをどうするか、作っている当事者が考えていない。既に遅いが整理しておかなくては。何より、sambaのDNS機能をそもそも全くわかっちゃいない。

日本Sambaユーザ会 samba-tool(8)
http://www.samba.gr.jp/project/translation/4.0/htmldocs/manpages/samba-tool.8.html

# /usr/local/samba/bin/samba-tool dns zonelist dc02.samba4-ad.local
Password for [Administrator@SAMBA4-AD.LOCAL]:
  2 zone(s) found

  pszZoneName                 : samba4-ad.local
  Flags                       : DNS_RPC_ZONE_DSINTEGRATED DNS_RPC_ZONE_UPDATE_SECURE
  ZoneType                    : DNS_ZONE_TYPE_PRIMARY
  Version                     : 50
  dwDpFlags                   : DNS_DP_AUTOCREATED DNS_DP_DOMAIN_DEFAULT DNS_DP_ENLISTED
  pszDpFqdn                   : DomainDnsZones.samba4-ad.local

  pszZoneName                 : _msdcs.samba4-ad.local
  Flags                       : DNS_RPC_ZONE_DSINTEGRATED DNS_RPC_ZONE_UPDATE_SECURE
  ZoneType                    : DNS_ZONE_TYPE_PRIMARY
  Version                     : 50
  dwDpFlags                   : DNS_DP_AUTOCREATED DNS_DP_FOREST_DEFAULT DNS_DP_ENLISTED
  pszDpFqdn                   : ForestDnsZones.samba4-ad.local
#

Aレコードは一覧できないか。このツールのオプション説明には無いので、Windowsから確認する。DC1台目と2台目それぞれに接続し、一方のレコードを変更してみると...

・DC1台目のレコードがほどなくDC2に反映された
・DC2のレコードはDC1へ...直ちには反映されない

タイムスタンプがきりのいい時間なので、ひょっとして60分毎の更新か!? しばらく様子を見る。その後の、DC2-->DC1のレコード複製も定時なタイプスタンプだ。が、07分ごろにDC1で更新した内容が13分の時点では反映されており、しかしタイムスタンプが00分になっている。タイムスタンプは追加分しかわからないが、削除についてもログ上は00分な扱いになるのだろうか? また、その後も25分ごろの追加エントリが00分扱いで一方に更新されるも、この逆方向の更新がなされない? これは表示/再読み込みの問題かもしれないが。


さておき、とりあえずSamba ADの内部DNSについては、BDCを組むだけである程度の冗長性を確保できそうだ。ここまで python-dns 追加前の状況確認。

では、mailmanをインストール。yum の次は管理者パスワード設定。

# /usr/lib/mailman/bin/mmsitepass
New site password:
Again to confirm password:
Passwords do not match; no changes made.
# /usr/lib/mailman/bin/mmsitepass
New site password:
Again to confirm password:
Password changed.
#

そして、

# vi /etc/mailman/mm_cfg.py
#

設定ファイルを書き換えた後、


# /usr/lib/mailman/bin/check_perms
/usr/lib/mailman/Mailman/mm_cfg.pyc bad group (has: root, expected mailman)
/usr/lib/mailman/bin/mailman-update-cfg bad group (has: root, expected mailman)
Problems found: 2
Re-run as mailman (or root) with -f flag to fix
#
# /usr/lib/mailman/bin/check_perms -f
/usr/lib/mailman/Mailman/mm_cfg.pyc bad group (has: root, expected mailman) (fixing)
/usr/lib/mailman/bin/mailman-update-cfg bad group (has: root, expected mailman) (fixing)
Problems found: 2
Re-run as mailman (or root) with -f flag to fix
#
# /usr/lib/mailman/bin/check_perms -f
No problems found
#

-f オプションでチェックを繰り返して自動修復させる、ですか。そんなんでいいのか。

以降、UPoNさんの手順通りで、既設のpostfixユーザ動作は問題なし。ただ、わざわざWebGUIでの管理機能を追加しながら、メーリングリストそのものの作成はコマンドラインでしかできない? イミフ仕様かもしれない。Webでのユーザ管理作法も洗練されているとは言い難く。さらに謎であるのは


# /usr/lib/mailman/bin/newlist メーリングリストの名称
Enter the email of the person running the list: メーリングリストの管理者アドレス
Initial yokuwakaran password:
Hit enter to notify yokuwakaran owner...

#

で設定をした後、投稿/メーリングリストの配信は可能となるものの、なぜか管理者だけは配送されない。どうやらこのツールの概念上、管理者と参加者の間には大きな隔たりがあるようだ。とはいえ、機能としては何ら問題は無い。


メールサーバの設定でまたまた思い知る

Poftfixの設定について、何しろ私がとことん無知であるのでまずは、server-world.info さんの まるうつし 手習いから。いえ、門前の小僧習わぬ経を読むというか、習うより慣れろというか、外国語は母国語でリクツこねる前に相手の声を聴いてとにかく喋れというか。

Postfix の設定
http://www.server-world.info/query?os=CentOS_7&p=mail&f=1

さて、そっくり習わせていただいて設定を進めたところ。またまた私が何かやらかしたらしく、メールクライアント側のポート設定でつまずく。587でも25でも465でもRSTが返って先へ進めない。誤りを探すと、/etc/postfix/main.cf 中に inet interfaces の記述が2行存在し、一方が all もう一方が localhost となっていたので両方機能しなかったか、 あるいは localhost のみ有効だったかと思われる。当然マッタク自信無し@諸星

この点を修正後メーラの設定は通った。が、自身宛のメールを受信しない。/var/log/maillogを見るに、そもそも私がpostfixに対する予備知識が足りな過ぎる。


ここでちょっと、sudoの設定...というか使い方で引っかかるが、これは別途。

Postfix 基本設定
http://www.postfix-jp.info/trans-2.3/jhtml/BASIC_CONFIGURATION_README.html

ログの見方
http://okguide.okwave.jp/guides/2093


それから、wiresharkではVirtulaBox上のトラフィックがなぜか一方向しか取れないのでtcpdump を使ったが… -w オプションが文字化けする。単純にファイルにリダイレクトしてこれは解消。

で、tcpdumpを見ると、外部サーバにPTRを投げている。PTRについてはこちら様。

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
http://wa3.i-3-i.info/word12291.html

DNSの基本的な動作についてどうこう以前に、外部に問い合わせを投げてる時点で既におかしい。いや、おかしいことが起こるのは、私がソレナリのヘタレをやらかしているからこそであって、決して、仕様や仕組みがおかしいと言っているわけではない。

それから、話が逸れたついでに wireshark。VirtualBox側で不具合?があるなら、メールクライアント側で仕掛ければいいだけのこと。何もtcpdumpなんて見辛いものを使う必要は無い。が、なぜこうなったかというと、メールクライアント側ではそもそもwireshark がインターフェースを認識しなかったから。なぜ認識しなかったか? CentOS上でwiresharkを使う設定が足りなかった。立ち上がったwireshark画面には設定不足が通知されていたのだが、私はろくに読みもしなかったがためのこうなった。設定は、当該ユーザを所定のグループに入れるというだけことだった。

abcdefghijklmnopqrstuvwxyz

話を戻してpopsftfix。CentOSで自宅サーバー構築さんのコンテンツを参考に設定を最初からあらためる。

メールサーバー構築(Postfix+Dovecot)
http://centossrv.com/postfix.shtml


すると、

# DELIVERY TO MAILBOX
home_mailbox = Maildir/

この設定についてコメント記号の削除漏れがあった。修正したところごくふつうに動作した。そういうことやぁぁぁ!!!

設定でやらかしていただけならまだしも、一番やらかすジブンの確認を端折って、見当違いの調査のツモリが痛すぎる。
 
この後、メールサーバ側でアドレスを追加して2つのMTA間でやりとりを確認した。が、そもそもメールサーバに対するDNS設定は何もしとらん&AD連携もしとらんで、動作状況は25%未満といったところだ。 ここに辿り着くまでナニやっとんねん>ジブン。


その後、ファイルサーバ同様に winbindを追加設定し、DNSマネージャでpostfixサーバのAレコードを追加し、Samba ADの既設のアカウントでpostfixを利用可能であることを"ざっくり"確認した。が、予想外と言うか、なるほどそういえばファイルサーバと認証連携の時と同様と言うか、postfixを載せたCentOS上で一度当該アカウントでのログインが必要だった。対面でなくてssh越しにsuで足りるようだが。GUIだけで済まない点がひとつ増えた。いや、どのみちファイルサーバの利用設定時に必要なので、作業としては増えていないのか。


と、ずいぶん時間と手間を使っているがまだエイリアスは手つかずだし、メール移行のことなど全くアタマがまわっていない。


痛い思いをせずに、無知なまま傲慢露出狂よりはマシだけど悲し過ぎるぜ AWESOME!(Neil Pasricha 氏ふう)




2016年3月13日日曜日

CentOSクライアントのセットアップ時間

CentOS7でminimalインストール。すべて yum で update --> LSB --> X Window system --> あとは最小限のデスクトップと日本語入力、Webブラウザ、オフィス、 プリンタ、メーラ細かいものをいくつか。

また、PCは数世代前のビジネスノートだが ”すぺっく”はざっくりと、モバイル向けi5、2GB、HDD。

OSのインストールに10分弱、他もろもろで30分弱といったところだろうか。担当者の労力としては、これらに加えて機材の出し入れ時間、ファイルサーバ指定、Webブラウザにメーラほか数点。


さて、こういった作業。Windows、いや、Microsoft のシステムと比して面倒でない、と思ってしまうのだが。私が Microsoft の企業向けソリューションを知らないだけなので、ここに書かれたことはほぼ酩酊状態のようなものであることは言うまでもない。


もちろん、CentOSについてもこんな手作業が最短のワケがない。相応の"びじねす"規模であればたとえば、

アットマークアイティからさんから
PXE+Kickstartで動かすVirtualBox+CentOS環境自動構築サーバーの作り方 (1/5)
http://www.atmarkit.co.jp/ait/articles/1407/17/news010.html


先日参考にさせていただいた 俺的備忘録さんでも「サーバ大量構築時のキモ ~KickstartでのLinux自動インストールディスク作成~」とか。




Samba4 AD にBDCの2台目をクローン…は浅はかジブン

BDCの1台目は、OSインストールからあるべき手順を踏んだ(つもり)。では、2台目以降をどうするか。ここで、浅はかな好奇心でしかないのだが"クローンでホスト名とIPアドレスだけ変更すればあるいは?" などと頭を過ってしまった。

で、やってみたところ。ユーザの追加削除程度なら、動いているように見える。もっとも、BDCはVirtulaBoxで作っていたのでこれをクローンしただけなのだが、HDDクローンでも差異は無いのではないだろうか? 3台体制で動かして試すまではしてないが。

...と思ったら、管理ツール上ではBDCの1台目として見える。バカが考えることは本当にどうしようもなくショボイ。 この間抜けぶりでは、とりあえず動いていそうに見える従来の作業についても、どこが漏れ漏れであることか。


そもそも、ただでさえ労力も時間も限られているのに、ショボイに加えてさらに、レイズィな妄想興味にかまけているどころではない。



2016年3月12日土曜日

初めてのUbuntsu

食わず嫌いではないが「触ったこともない」ではアレなので触るためだけのUbuntsu。言及するまでもないが、複数のOSに首を突っ込めるようなスキルにはあまりにも遠すぎる。

であるので、デスクトップ向けで日本語対応済みセット。で、何の偏見もない最初のピュアな印象としてはとりあえず


・デフォルトの色が何故にこんなDQNのような
・デフォルトの背景画像が暗いものばかり...しようがないのでモノクロの森林で
・これが見方の分かれる噂のデスクトップかなるほど

・ネットワークの設定でデフォルトゲートウェイにunreachable

・設定ファイルが更新されていないので直接編集しようとして
 そもそもコンソールはどこだ!?
・コンソールを開いて設定ファイルを…って元祖viかこれ
・rootのパスワードは? sudo -s ですかなるほど


Ubuntsuは全くの初めて、他のLiunxもUNIX系もド素人な分際では、何もしない段階でこれだけつまづく。

なお、GUIでネットワーク設定をしても内部に反映されなかったのは、設定しようとしていたセグメントと物理的につながっているセグメントが違っていたためかも??しれないが、残念ながら掘り下げるような見識も時間も無い。


とりあえず、ネットワークを設定してランチャをちょっとどんなもんか? アップデートといくつかソフトウェアのインストールと...と試したところで終了。たくさん機材があるわけではないので、この機器はほかに回して、Ubuntsuは仮想環境で様子見しようと思って。

... 意気地なし! 

あの広告、吉田羊の相方役な高橋一生(*)がほとんど顔が見えなくて少々気の毒。

* 軍師官兵衛で、黒田官兵衛の側近の中でクールな参謀役だった俳優。



Samba4 AD BDC追加の試みの経過

この環境固有の問題かもしれないが、そうでないかもしれない。

CentOS 6.7 Samba-4.2.8 AD DC #1
CentOS 6.7 Samba4-4.2.9 AD DC #2
CentOS 7 Samba4-4.2.8 AD ファイルサーバ

とりあえずDC2台の間で、同期が正しく動作しない。BDC側にユーザ/コンピュータアカウントなどがコピーされてはいるので全く動作していないわけではないが、いずれかの変更がもう一方にレプリケーションされない。

とりあえずトラフィックで見えるところでは、


このような。DCE/RPC のエラーのようだ。

Distributed Computing Environment / Remote Procedure Calls
https://ja.wikipedia.org/wiki/DCE/RPC

/usr/local/samba/var/log.wb-SAMBA4-AD

を見てみると、

../source3/winbindd/winbindd.c:266(winbindd_sig_term_handler)
  Got sig[15] terminate (is_parent=0)

なるエントリが続くだけ。同期のタイミングで発生しているわけではなさそうだ。次に、

/usr/local/samba/var/log.samba

の中身だが、

../lib/util/util_runcmd.c:324(samba_runcmd_io_handler)
  /usr/local/samba/sbin/samba_dnsupdate: RuntimeError: kinit for DC01$@SAMBA4-AD.LOCAL failed (Cannot contact any KDC for requested realm)

このエラーが。

host -t SRV _ldap._tcp.SAMBA4-AD.LOCAL
Host _ldap._tcp.SAMBA4-AD.LOCAL not found: 3(NXDOMAIN)

DNSも引けない。さて、これは、、、

一方で、BDC側の方でkinitでOK。ま、そう簡単にいくわけもないということ。

# /usr/local/samba/bin/samba-tool drs showrepl
ERROR(<class 'samba.drs_utils.drsException'>): DRS connection to dc01.samba4-ad.local failed - drsException: DRS connection to dc01.samba4-ad.local failed: (-1073741772, 'The object name is not found.')
  File "/usr/local/samba/lib/python2.6/site-packages/samba/netcmd/drs.py", line 39, in drsuapi_connect
    (ctx.drsuapi, ctx.drsuapi_handle, ctx.bind_supported_extensions) = drs_utils.drsuapi_connect(ctx.server, ctx.lp, ctx.creds)
  File "/usr/local/samba/lib/python2.6/site-packages/samba/drs_utils.py", line 54, in drsuapi_connect
    raise drsException("DRS connection to %s failed: %s" % (server, e))
#

ひとつ手掛かりは見つけたが、また「この意味するところを学ぶ」段階から牛歩。

また、DCの2台目を落とした状態で、WinクライアントからDCの1台目へのドメインログオンはOKとみられる。しかしnslookup では確かにdc01.samba4-ad.localが引けない。一方で管理ツール上ADへのアクセスはOK。ありえない事象のようにも思えるが、あるいはこれはクライアントがDCと同一セグメントであるためか? などとも思ったが違った。Winクライアントを別セグに移してもログオン可能。管理ツール上で試しにユーザを追加してみたがこれも可能。

ここで、DC01のトラフィックをキャプチャしたところ、外部DNS向けのクエリが多数流れている状況が見えた。/etc/resolv.conf を見ると、外部ルータをDNS参照先にしている。これを書き換えたがトラフィックはおさまらな...ってここの元になっているのは、ifcfg-だった。DNS1の値をループバックに書き換えたところ、外部DNS参照は終了した。

また、dc01をDNSサーバとしているWinクライアントからDC1のホスト名を引くと、OKとなった。そういうことか。。

この後、samba-tool の user list をDC両方で確認したところ、BDC側で作成したユーザアカウントがもう一方へ、またこの逆も更新がなされた。他方、Winクライアントの管理ツール上では、ユーザ情報の自動更新はなされない。またF5なども利かないようだが、ツールのOFF/ONで更新されるので何の問題も無い。


内部DNSについてこれまでの私の認識は根本的に誤っていた。一連の状況からすると、少なくとも私が従来持っていた「知らないことだけ外部に問い合わせるという浅はかな想像の産物」ではない。


学ぶってこんなもん...ということは決してなくて今回も愚かな学び方だったが、いずれはもっとスマートに学びたいぜ AWESOME!(Neil Pasricha 氏ふう)


2016年3月10日木曜日

Samba4のAD環境でBDCを追加してみる。

先人の方々の作業を、一部このテスト環境に合せて修正して、BDCの追加はできた。参考にさせていただいた先人は後日このエントリを修正し引用する。


追記:手順をまねさせていただいた先人の方

インフラ構築手順書 さん
SAMBA4を2台目ドメインコントローラ(DC)サーバとして稼働させる
http://infra.blog.shinobi.jp/Entry/91/

諸行無常 - As Time Goes By - さん
Samba4 で Active Directory / BDC編 - わたしもやってみた -
http://fummy-net.blogspot.com/2013/04/samba4-active-directory-bdc.html



以下取り急ぎ作業メモ。作業にあたりつまづいた一部について、ログ。


# /usr/local/samba/bin/smbclient -L localhost -U%
Connection to localhost failed (Error NT_STATUS_CONNECTION_REFUSED)

# getenforce
Enforcing
# setenforce 0

# /etc/rc.d/init.d/iptables status
テーブル: filter
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0
3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
5    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination
1    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination
#
# /etc/rc.d/init.d/iptables stop
iptables: チェインをポリシー ACCEPT へ設定中filter         [  OK  ]
iptables: ファイアウォールルールを消去中:                  [  OK  ]
iptables: モジュールを取り外し中:                          [  OK  ]
#
#

# /usr/local/samba/bin/smbclient -L localhost -U%
Connection to localhost failed (Error NT_STATUS_CONNECTION_REFUSED)

# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
#

# /etc/rc.d/init.d/samba4 restart
Shutting down samba4:                                      [失敗]
Starting samba4:                                           [  OK  ]
#

# /usr/local/samba/bin/smbclient -L localhost -U%
Connection to localhost failed (Error NT_STATUS_CONNECTION_REFUSED)
#


# /etc/rc.d/init.d/network restart
インターフェース eth0 を終了中:                            [  OK  ]
ループバックインターフェースを終了中                       [  OK  ]
ループバックインターフェイスを呼び込み中                   [  OK  ]
インターフェース eth0 を活性化中:  Determining if ip address 172.19.19.11 is already in use for device eth0...
                                                           [  OK  ]
#
#

# /usr/local/samba/bin/smbclient -L localhost -U%
Domain=[SAMBA4-AD] OS=[Windows 6.1] Server=[Samba 4.2.9]
        Sharename       Type      Comment
        ---------       ----      -------
        netlogon        Disk
        sysvol          Disk
        IPC$            IPC       IPC Service (Samba 4.2.9)
Domain=[SAMBA4-AD] OS=[Windows 6.1] Server=[Samba 4.2.9]
        Server               Comment
        ---------            -------
        Workgroup            Master
        ---------            -------
#


PDCと同一手順で導入し、ドメインプロビジョニングはせずに kinit を確認、ドメイン参加な流れ。特に作業を必要とせず同期が走ってくれてPDCダウン時のWindowsクライアントのドメインログオンは確認できたが、ファイルサーバの認証確認まではまだ。また、BDC稼働時のユーザ追加などもまだ試していない。


アットマークアイティさんから ドメインコントローラーの複製とは
http://www.atmarkit.co.jp/ait/articles/1406/10/news030.html

Samba側の確認作業にはこちら様。

UnixPower on Networking さんから CentOS Samba4のコマンド管理
http://www.unix-power.net/linux/samba4_tool.html



2016年3月9日水曜日

今度はNFSが通らない

はじめのNFSも、やはり無知バカには無知バカ相応の労苦が伴う。さっさとこのキャズムを突破しなくては。

NFSはSambaなファイルサーバと兼用。3Wayハンドシェイクの後。NFSクライアント側から送ったパケットが、条ザメさんによって Malformed Packet と見なされていた。

malformed
http://ejje.weblio.jp/content/malformed

この時点ではNFSのあるべき設定のうち、ひとつあるいは複数が不完全だった。

[サーバ側]
/etc/idmapd.conf
vi /etc/exports
/home 10.0.0.0/24(rw,no_root_squash)
systemctl start rpcbind nfs-server
systemctl enable rpcbind nfs-server

[クライアント側]
/etc/idmapd.conf

systemctl start rpcbind
systemctl enable rpcbind
mount -t nfs dlp.server.world:/home /home

どこが間違っていたのかは、私の姿勢が傲慢でズサンだったため把握し損ねた。間違いを認めようにも、そもそも間違いを探さないでは全く話にならない。

この時点では Molformed との文字列を見て、あるいはkrb関連? NFSもSamba4のAD認証連携に問い合わせに??? などとも思ってしまったが、設定さえ整合性を取ればいいだけのことだった。ADとは無関係に、NFSクライアントからこのNFSサーバに対してアクセス可能だった。


このエントリはつまるところ何のハナシ? かといえば。

Windowsなクライアントのファイルサーバと、Linuxなクライアントのファイルサーバを兼用できるんじゃないかと想像してました--->ズサンな作業で失敗しましたがよく見直したら兼用できました--->でもチョーバカ単純な兼用デス以上、という話。



2016年3月8日火曜日

xrdp の設定でもドハマり

こんなんハマった扱いにならない程度だろうか、そもそもハマる原因がショボ過ぎるんだろうな。


ともあれ、インストールに際し参考にさせていただいのはこちら様。

xrdp を用いて Windows OS から CentOS 7 に RDP 接続する | 焦げlog
http://kogelog.com/2015/03/02/20150302-01/


インストールは yum ひとつ、設定ファイルも無しでたいへんシンプルだったものの、いざ繋ごうとするとエラー。状況としては、デフォルトのTCPポートで繋ぎに行って問答無用のResetをくらっている。

# systemctl status xrdp

ここで、既に xrdp が立ち上がっている状況にさらに start をかけたりなんだり、少々錯綜したのだが、


xrdp-sesman.service failed #13
https://github.com/metalefty/X11RDP-RH-Matic/issues/13

こちらを参考にして、SELinuxの無効化とリブートで解消した。ここでの解消とは目先のエラーに対してだけで、まだ接続はできていないが。


# systemctl status xrdp
● xrdp.service - xrdp daemon
   Loaded: loaded (/usr/lib/systemd/system/xrdp.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2016-03-07 22:03:25 JST; 4s ago
 Main PID: 2179 (xrdp)
   CGroup: /system.slice/xrdp.service
           mq2179 /usr/sbin/xrdp --nodaemon

Mar 07 22:03:25 UC14.Samba4-AD.LOCAL systemd[1]: Started xrdp daemon.
Mar 07 22:03:25 UC14.Samba4-AD.LOCAL systemd[1]: Starting xrdp daemon...

プロセス的には問題なくなった。しかし、実際につながってログインすると今度は、

connecting to sesman ip 127.0.0.1 port 3350
sesman connect ok
sending login info to session manager, please wait...
xrdp_mm_process_login_response: login successful for display 10
VNC started connecting
VNC error -only supporting 8,15,15 and 24 bpp rdp connections


やれやれ、またまたド無知なジブンがさらに無知な領域に首を突っ込まなくては、正直しんどい。とは言っても時は2016年、瞬時に無料で世界中からヒントをもらえるサーフ父さんありがとうな時代。さらには、グローバリゼーションと言われて早10年超。

参考にさせていただいたのはこちら様。

つb@はてな
CentOS 6.3のxrdp 0.5.0で、日本語キーボードを使う(\,_,| 完全動作版)
http://tubapr.hatenablog.com/entry/2013/04/17/173045


全く同じ現象では無さそうだがまずは

# cat /var/log/xrdp-sesman.log
[20160307-21:49:55] [WARN ] [init:46] libscp initialized
[20160307-21:49:55] [CORE ] starting sesman with pid 2236
[20160307-21:49:55] [INFO ] listening...
[20160307-22:01:29] [INFO ] shutting down sesman 1
[20160307-22:01:30] [INFO ] An established connection closed to endpoint: NULL:NULL - socket: 7
[20160307-22:01:30] [INFO ] An established connection closed to endpoint: NULL:NULL - socket: 7
[20160307-22:01:30] [CORE ] shutting down log subsystem...


[20160307-22:03:25] [WARN ] [init:46] libscp initialized
[20160307-22:03:25] [CORE ] starting sesman with pid 2178
[20160307-22:03:25] [INFO ] listening...
[20160307-22:04:19] [INFO ] A connection received from: 127.0.0.1 port 33314
[20160307-22:04:19] [INFO ] scp thread on sck 8 started successfully
[20160307-22:04:19] [INFO ] ++ created session (access granted): username root, ip 172.16.16.51:49540 - socket: 8
[20160307-22:04:19] [INFO ] starting Xvnc session...
[20160307-22:04:19] [INFO ] An established connection closed to endpoint: NULL:NULL - socket: 10
[20160307-22:04:19] [INFO ] An established connection closed to endpoint: NULL:NULL - socket: 9
[20160307-22:04:19] [INFO ] An established connection closed to endpoint: NULL:NULL - socket: 9
[20160307-22:04:19] [INFO ] An established connection closed to endpoint: 127.0.0.1:33314 - socket: 8
[20160307-22:04:19] [INFO ] An established connection closed to endpoint: NULL:NULL - socket: 7
[20160307-22:04:19] [INFO ] An established connection closed to endpoint: 127.0.0.1:33314 - socket: 8
[20160307-22:04:19] [INFO ] Xvnc :10 -geometry 1364x768 -depth 0 -rfbauth /root/.vnc/sesman_root_passwd -bs -nolisten tcp -localhost -dpi 96
[20160307-22:04:29] [ERROR] X server for display 10 startup timeout
[20160307-22:04:29] [INFO ] starting xrdp-sessvc - xpid=2189 - wmpid=2188
[20160307-22:04:29] [ERROR] X server for display 10 startup timeout
[20160307-22:04:29] [ERROR] another Xserver might already be active on display 10 - see log
[20160307-22:04:30] [DEBUG] aborting connection...
[20160307-22:04:30] [INFO ] ++ terminated session:  username root, display :10.0, session_pid 2187, ip 172.16.16.51:49540 - socket: 8


いや、そもそも XSERVER を全くわかっちゃいないんだが。


XSEVER - X Japanese Documentation Project
http://xjman.dsl.gr.jp/man/man1/Xserver.1x.html


# service vncserver start
Redirecting to /bin/systemctl start  vncserver.service
Failed to start vncserver.service: Unit vncserver.service failed to load: No such file or directory.

参考にさせていただいた例はフォントカタログが...というものだったが、ここではそもそもサービスが存在しないと。サルマネもここまでか。


さて、ログに記されている中から、そもそも「私が何を読めない/知らないか」だが。

まず、bpp とは bit per pixel、色深度/Color depth であるようで。これが合致しないというなら、接続元側で何らかの変更ができるのでは?「画面の色」というオプションで設定可能だった。従来が32ビットだったので16ビットに変更してみる。すると、bpp の問題は見られなくなったが依然接続不可。

[20160307-22:09:33] [INFO ] A connection received from: 127.0.0.1 port 33360
[20160307-22:09:33] [INFO ] scp thread on sck 8 started successfully
[20160307-22:09:33] [INFO ] ++ created session (access granted): username root, ip 172.16.16.51:49709 - socket: 8
[20160307-22:09:33] [INFO ] starting Xvnc session...
[20160307-22:09:33] [INFO ] An established connection closed to endpoint: NULL:NULL - socket: 9
[20160307-22:09:33] [INFO ] An established connection closed to endpoint: NULL:NULL - socket: 9
[20160307-22:09:33] [INFO ] An established connection closed to endpoint: NULL:NULL - socket: 9
[20160307-22:09:33] [INFO ] An established connection closed to endpoint: 127.0.0.1:33360 - socket: 8
[20160307-22:09:33] [INFO ] An established connection closed to endpoint: NULL:NULL - socket: 7
[20160307-22:09:33] [INFO ] An established connection closed to endpoint: 127.0.0.1:33360 - socket: 8
[20160307-22:09:33] [ERROR] env_set_user: error creating .vnc dir
[20160307-22:09:33] [INFO ] Xvnc :10 -geometry 1364x768 -depth 8 -rfbauth /root/.vnc/sesman_root_passwd -bs -nolisten tcp -localhost -dpi 96
[20160307-22:09:33] [INFO ] starting xrdp-sessvc - xpid=2594 - wmpid=2593
[20160307-22:09:34] [INFO ] ++ terminated session:  username root, display :10.0, session_pid 2592, ip 172.16.16.51:49709 - socket: 8

ユーザの環境設定で、VNCのフォルダ? テンポラリの作成でエラー? というような内容か??? あるいは create なための何かが足りないか?

VNCサーバーの構築に必要なファイル
http://www.obenri.com/_vnc/vnc_server1.html


で、無知がさらにやらかすのは、足りなそうなものを、何の根拠もなく補ってみるツモリという行き倒れ作戦。

# yum install libvncserver.x86_64
Loaded plugins: fastestmirror, priorities
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * epel: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
138 packages excluded due to repository priority protections
Resolving Dependencies
--> Running transaction check
---> Package libvncserver.x86_64 0:0.9.9-9.el7_0.1 will be installed
--> Processing Dependency: libminilzo.so.0()(64bit) for package: libvncserver-0.9.9-9.el7_0.1.x86_64
--> Running transaction check
---> Package lzo-minilzo.x86_64 0:2.06-8.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================================================================================
 Package                              Arch                           Version                                 Repository                    Size
================================================================================================================================================
Installing:
 libvncserver                         x86_64                         0.9.9-9.el7_0.1                         base                         233 k
Installing for dependencies:
 lzo-minilzo                          x86_64                         2.06-8.el7                              base                          15 k

Transaction Summary
================================================================================================================================================
Install  1 Package (+1 Dependent package)

Total download size: 248 k
Installed size: 750 k
Is this ok [y/d/N]: y
Downloading packages:
(1/2): libvncserver-0.9.9-9.el7_0.1.x86_64.rpm                                                                           | 233 kB  00:00:00
(2/2): lzo-minilzo-2.06-8.el7.x86_64.rpm                                                                                 |  15 kB  00:00:00
------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                           402 kB/s | 248 kB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : lzo-minilzo-2.06-8.el7.x86_64                                                                                                1/2
  Installing : libvncserver-0.9.9-9.el7_0.1.x86_64                                                                                          2/2
  Verifying  : libvncserver-0.9.9-9.el7_0.1.x86_64                                                                                          1/2
  Verifying  : lzo-minilzo-2.06-8.el7.x86_64                                                                                                2/2

Installed:
  libvncserver.x86_64 0:0.9.9-9.el7_0.1

Dependency Installed:
  lzo-minilzo.x86_64 0:2.06-8.el7

Complete!
[root@UC14 ~]#
[root@UC14 ~]#
[root@UC14 ~]# systemctl restart xrdp

結果は、

 VNC error - problem conncting
 some problem

さmぷろぶえm、いやせめてもう少し詳しくそこを。

ログを見るとエラーは以前と同様で、

 [ERROR] env_set_user: error creating .vnc dir
 
このエラーについてもう少し探してみるとこのような話が。

Integrating LDAP support into XRDP on Ubuntu 12.04 LTS
http://www.metallic-badger.com/integrating-ldap-support-into-xrdp-on-ubuntu-12-04-lts/

LDAPはさておいて、ホームディレクトリのテンポラリを作成する時点でNGのようで、これは無知なりの読解でもそう外れてはいないようだ。ただ、rootには既に、xrdp関連のログファイルやらがいくつか存在して、RDP接続のタイミングでタイムスタンプが更新されている。

あるいは、rootへRDPがUNIXの世界ではヒジョーシキか。別ユーザを作って試してみる。



...一般ユーザを追加したら、ログアウト中の背景黒で左上カーソル点滅状態のまま停止。


ってなんでやねん! sshでアクセスしていたのでrebootしたら、ブート進捗詐欺バーが右に到達した後に、やはり同じ状態で先へ進まず。sshアクセスはrefused、ttyの切り替え利かず、Ctrl+Alt+Delは利いたので rescue、が、症状は同じ。ここでやり直しかー、次はminimalから「おふぃすれでぃ」なユーザアカウントでも作ってみるか。試用の際にまんま見せたらお姉さんに怒られそうだが。


などと、こんな言い草をしている時点で既に、ビジネスマナーを甚だしく欠いていることは言うまでもない。



追記:

最終手段で、GNOME Desktop をぶち込んだらOKとなった。当初の目的はどこへやらだが。また、実際にXRDP接続がGNOMEデスクチップ、対面ログインの画面はcinnamonデスクトップな差異を目にするまで、あまりにもマヌケなカンチガイだと気付かなかった。何がカンチガイ!? この光景を目の当たりにするまで、XrdpはWindowsのリモートデスクトップと同様の機能だと思っていたことだ。まるで、昨今のホンダF1パワーユニットのゆとり欠陥ナルシスト設計ぐらい酷い。

「実際にやってみるまで妄想欠陥設計に気付かない」って、小学生にもはるかに劣るレベルでまったく理系じゃないし、どのツラ下げて表を歩けるやらだぜ AWESOME!!




2016年3月7日月曜日

CentOS7+cinnamonで日本語入力設定にドハマリ

問題認識から解決までざっと6時間ぐらいか。

CentOS7 Minimalインストール
ntp,wget
epelとプライオリティ
"X Window system"
"lightdm"
"cinnamon"
gnome-terminal,gedit

とすんなり通過して

Ibus-kk

でドハマリ。

まず、Ibusは、インストールしても自動ではcinnamonメニュー中のGUI上には現れない。このため「そもそもIbusにアクセスする」段階でしばらく迷う。

この迷子の解消方法だが、まず、cinnamonメニューを右クリックすると表示される中に「設定」がある。これを開くとアプレットの設定画面となるが、この下部に「編集」なる部分が存在する。この先に、メニュー項目毎の表示OFF/ONを指定するチェックボックスがある。

Ibusの設定メニューはOFFであったので、ONにすべくチェックを入れた。


次に、Ibus設定メニューを立ち上げるとすぐさま、Ibusのデーモンが動作していないとのメッセージが現れた。これは cinnamonメニュー中の、スタートアップアプリケーション中に ibus の daemon (この環境の例では /usr/bin/ibus-daemon) を指定して解消した。



これでIbus設定ツールの中身にアクセスでき、やっと初期設定...かと思いきや。

設定メニューの中の何をどう変更しても、そもそも日本語入力機能が有効にならない。初期設定以前の問題だ。

 全角半角
 Ctrl+スペース
 Superキー(Windowsキー)+スペース

どの操作をしても有効にならない。これは、

 cinnamonメニュー中のIbusの設定画面

ではなく、

 画面右下のインジケータを右クリックして表示される設定画面

での変更作業が必要であるようだ。インジケータを右クリックで現れる設定中に インプットメソッドの選択指定画面があるので、ここでibusを明示的に追加すれば、日本語入力を有効化/無効化できるようになる、ようだ。

しかし、日本語変換のみ使うならともかく、直接入力と併用/切り替えようとすると、Superキーが利かない? english-english と ibus-anthy の併用時は、ctrl+スペースの組み合わせに変更しないと動作しなかった。あるいは、この環境だけの問題かもしれないが。

何分、無知で頭のフラジャイルなバカの試行錯誤の結果であるので、100%の診断にはホド遠い。


アルプスの山々で CentOS7 ネットワークプリンタ設定

ド素人によるCentOS7 でのネットワークプリンタ設定。

かつてFreeBSDにおいては、右往左往しつつもどうにかなったプリンタ設定。あの当時もかなり無知だったが今でもほとんど無知なので、今回も無知相応の苦労をする。

そう、無知でさえなければアピースオブケイク!知識、何より努力って大事だぜAWESOME!(Neil Pasricha 氏ふう)



さておき。

数日前にも gutenprint-cups での設定を試みたのだが、無知相応に失敗した。手順としては

・gutenprint-cupsインストール
・メーカー提供のlinuxドライバをダウンロードしてインストール
・CUPSツール上でippを設定

このように。

結果は、インク残量データを見ることができるものの、テストページを印刷できなかった。また、インストール作業中もエラー無く進んだわけではなかった。ドライバ rpm ファイルの実行時に、依存性のエラーが出ていた。が、私はちょっと調べてわからなくて投げ出した。それでいてうまくいかないと言ってのけては「のび太レベル」の二次元マンガ的バカ幼稚。

 でも今回は、えらーめっせーじをちゃんと読んだよドラえもん!!

やっぱりのび太レベルじゃねーか。。


ここまでを踏まえて、再作業。

まず「ド素人が全く考えもしない」依存性の問題は多々ありうるので yum search epson で検索。

# yum search epson
Loaded plugins: fastestmirror, priorities
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * epel: mirrors.hustunique.com
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
138 packages excluded due to repository priority protections
=========================================================== N/S matched: epson ============================================================
epson-inkjet-printer-escpr.x86_64 : Drivers for Epson inkjet printers
gutenprint-cups.x86_64 : CUPS drivers for Canon, Epson, HP and compatible printers
iscan-firmware.noarch : Firmware for Epson flatbed scanners

  Name and summary matches only, use "search all" for everything.


機種共通汎用ドライバがあるようだ。次に、ぐーてんプリントカプスの有無を確認する。

# yum list installed | grep gutenprint

この環境では未インストールのようだ。先日のテスト後、OSからインストールし直しているためだと思われる(minimal+cinnamonのための最小限)。

今回は、敢えてぐーてんぷりんと無しの状態から、プリンターメーカーのドライバを入れてみる。もし? yumでまとめて入れてくれるなら運用上わかりやすいからだ。

# yum install epson-inkjet-printer-escpr.x86_64

Dependencies Resolved

Installing:
 epson-inkjet-printer-escpr                   x86_64

Installing for dependencies:
 bc                                           x86_64
 cups-filesystem                              noarch
 cups-filters                                 x86_64
 cups-filters-libs                            x86_64
 ghostscript                                  x86_64
 ghostscript-fonts                            noarch
 liberation-mono-fonts                        noarch
 openjpeg-libs                                x86_64
 poppler                                      x86_64
 poppler-data                                 noarch
 poppler-utils                                x86_64
 qpdf-libs                                    x86_64
 urw-fonts                                    noarch
 xorg-x11-font-utils                          x86_64

Transaction Summary

まとめてもらえるのはこの内容。しかし、そもそもこれらが何であるかが全くわかっていないのでバカの邪推にもならない。

さて、これらの導入後に cinnamon上のメインメニューを、プリンタ関連のユーティリティは見当たらない。

続いて、先日、メーカー提供ドライバをインストールしようとした際の問題を再確認する。

# rpm -Uvh epson-inkjet-printer-201113j-1.0.3-1lsb3.2.x86_64.rpm
warning: epson-inkjet-printer-201113j-1.0.3-1lsb3.2.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 8aa65d56: NOKEY
error: Failed dependencies:
    lsb >= 3.2 is needed by epson-inkjet-printer-201113j-1.0.3-1lsb3.2.x86_64

lsbの3.2以上が必要、lsbって何?教えてトライさ〜ん!!

のび太以上、クララ(偽)未満じゃねーか。。


Linux Standard Base - Wikipedia
https://ja.wikipedia.org/wiki/Linux_Standard_Base


ついでにもうひとつ、


Common Unix Printing System
https://ja.wikipedia.org/wiki/Common_Unix_Printing_System



なるほどオレがどんだけ無知か。さておき、lsb の表面の一部は知ることができたので、ぐーてん共々インストールする。

# yum install gutenprint-cups.x86_64

Installing:
 gutenprint-cups                        x86_64
Installing for dependencies:
 cups                                   x86_64
 cups-client                            x86_64
 ghostscript-cups                       x86_64
 gutenprint                             x86_64


また、lsbについてyumで検索すると、printingなる名称があったのでこれをインストールしてみる。

# yum install redhat-lsb-printing.x86_64

Installing:
 redhat-lsb-printing                          x86_64

Installing for dependencies:
 at                                           x86_64
 ed                                           x86_64
 foomatic-filters                             x86_64
 m4                                           x86_64
 mailx                                        x86_64
 patch                                        x86_64
 redhat-lsb-core                              x86_64
 redhat-lsb-submod-security                   x86_64
 spax                                         x86_64
 time                                         x86_64


先日の中途半端なプリンタ動作は、lsb依存の部分がNGで、SNMPを利用する機能(インク残量)だけが動いた、ということだろうか。やはりバカの邪推にもならないが、ゼロ円で教えてピーター!!


さておき、redhat な lsb プリンティングのインストール後だが、


# rpm -Uvh epson-inkjet-printer-escpr-1.6.4-1lsb3.2.x86_64.rpm
warning: epson-inkjet-printer-escpr-1.6.4-1lsb3.2.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 8aa65d56: NOKEY
error: Failed dependencies:
    lsb >= 3.2 is needed by epson-inkjet-printer-escpr-1.6.4-1lsb3.2.x86_64


この点は変わらなかった。そこで、乱暴ではあるのだが  yum install lsb を叩いてみると、出てくる出てくる、100超の依存関係が。

なるほど、これはちまちま調べていられないので、アプローチを変えてごっそり突っ込んでみる。結果、メーカーのドライバがエラー無くインストールできるようになった。


# rpm -ivh epson-inkjet-printer-escpr-1.6.4-1lsb3.2.x86_64.rpm
warning: epson-inkjet-printer-escpr-1.6.4-1lsb3.2.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 8aa65d56: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:epson-inkjet-printer-escpr-1.6.4-################################# [ 50%]
Cleaning up / removing...
   2:epson-inkjet-printer-escpr-1.5.2-################################# [100%]
#
#
# rpm -ivh epson-inkjet-printer-201113j-1.0.3-1lsb3.2.x86_64.rpm
warning: epson-inkjet-printer-201113j-1.0.3-1lsb3.2.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 8aa65d56: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:epson-inkjet-printer-201113j-1.0.################################# [100%]
#
#
#
# rpm -ivh epson-printer-utility-1.0.0-1lsb3.2.x86_64.rpm
Preparing...                          ################################# [100%]
Updating / installing...
   1:epson-printer-utility-1.0.0-1lsb3################################# [100%]
Install Message > Described entry of LITE in services.
Install Message > Backup file is /etc/services.bak.
Install Message > Start /usr/lib/epson-backend/setup to change setup.
#
#

しかし、だからといって cinnamon のメニューにEPSONが登場してくれるわけではない。プリンターメーカーのおろか、そもそも、プリンタ設定の項目さえない。ここで一応、gutenprint-cupsを上書きしてたが状況変わらず。そこで gutenprint-cups本来のこれ。

http://localhost:631/

administration から Add Printer で Internet Printing Protocol (http) を選択。なぜ IPP(http)かというと、目的のプリンタに対してWindow環境では TCP80で通信しているっぽいから。ほんのちょっとトラフィックの行き来を眺めただけなので、詳細は定かでない。

そして、当該機種を選びテストページを印刷するも、

pending since
Tue 06 Mar 2016 22:22:54 AM JST
"The printer URI is incorrect or no longer exists."

IPは通るので、私の無知で無根拠な「っぽい設定」が致命的にNGということだ。


このあと、IPP(http)を CUPSのページのガイド通りに socket:IPアドレス な記述に変更したところテストページが印刷できた。


 トライさんトライさん!
 目の前に書いてある字もろくに読もうとしない子でも、
 叩き直してもらえるの!?


「無理よ、廃児。そもそもlsbを入れる前になぜ途中まで設定できたかわかってないじゃないの。」




CentOS7 Minimal からPDF

minimalインストールからcinnamonデスクトップに必要なあれこれ、Webブラウザ、プリンタまわりその他インストールを重ねても、PDFビューアが偶々入ったりはしないようだ。

現状はさておき。PDFの閲覧のためには、

 
yum install evince.x86_64


これのみでOKであるようだ。





2016年3月6日日曜日

CentOS7 に cinnamonデスクトップを必要最小限で導入

最初に書いておくべき点がいくつか、

・日本語化はまた別途

・ソフトウェアは都度追加

用途的にこれらの点が難である場合は適さないのでご注意。


ここで「必要最小限で」としているのは、某DQN新聞系LinuxおまけDVDが、詰め込みまくったインストールをしてくれたから。

いや、具体的にどのツールが無駄というわけではないが、必要性の必ずしも高くないツールを詰め込むにしてもあまりに多過ぎる。幼児的な食欲DQNタレントが、テレビ業界に媚びて大食いブヒブヒ状態じゃあるまいし。

いや、こんなたとえ方をしては、豚さんに失礼極まりない。デカ盛り&大量ウンコ垂れ流し女(男)は、動物や虫などとは比べようもない。糞(ふん)と比べるのもフンにたいへん失礼だ。

 
さておき、GUIが必要なサーバにあって「必要なものを順次」導入するためのデスクトップとしてこちら様。*作業前に要確認事項がいくつか。



Jensd's I/O buffer さんから
Install the Cinnamon desktop environment on CentOS 7
http://jensd.be/547/linux/install-the-cinnamon-desktop-environment-on-centos-7


作業前の確認として一点、

・CentOSインストールメニューは英語選択

OSのインストールステップで日本語を選択してしまうと、結果的に文字化けする。cinnamonデスクトップのインストール過程で日本語化は考慮されていない。ただし、後で日本語入力を設定するため、OSのインストールメニューの中でキーボードレイアウトは日本語にしておく。


それから、Jensd's I/O buffer さんの手順では、最初に epel-release を入れてリポジトリのプライオリティは度外視であるようなので、この点は serverworld.info さんを確認した方がいいかもしれない。


また、こちらの手順では端末がGUIのメニューに登録されないので別途、gnome-terminalをインストールする。そしてシンプルなテキストエディタも無いので gedit も追加で。


こちらの手順は、シンプル且つわかりやすく、必要性の定かでないソフトウェアの導入をせずに済むほかにも利点がある。というのは、インジケータに日の丸が出ていてかわいい。日本語キーボードを意味でわかりやすくまんま国旗であるだけかもしれないが。日の丸はかわいい国旗だと思う。


ここまでの所要時間は、2,3世代前のCPU~ノート向けi5+2GBで、OSインストールをはじめてからデスクトップログインまで30分足らず。


クライアント用途なCentOS7の設定

あわよくばプリンターサーバにしようとしたCentOS7 (でもこんなんサーバにするぐらいなら複合機チョクの方がはるかにベンリ) がコケてくれた。で、修復が面倒そうなのでゼロから作り直し。

・MinimalなISOからUSBブートなフラッシュメモリ作成
・まんまインストール(デュアルブートの設定は後回し)
・nmcliでIPv4アドレス周りを設定
・ifcfg-を直接編集して ONBOOT=yesに変更
・ntpインストールと同期
・wgetインストール

続いてデスクトップの導入についてはserver.world.infoさんのこちらから。
http://www.server-world.info/query?os=CentOS_7&p=x&f=6

groups install な "Servers with GUI" がまぁ重い。953個で600MBからな様子。そりゃサーバーズだからと言われればそれまでだが、こんなにデカいと知っていれば...いや、Serversと書いてある時点で気付け愚か者>自分。


ま、一度ならば知見の毛の先の埃ぐらいには。


そして、どうせ労力を使うなら別のことも、ということで cinnamon。


ところで現状の私のリポジトリの認識は、DQN石原さとみのトークぐらいチョー薄っぺらい&胡散臭いので、ここであらためてserver.world.infoさんのこちら。
http://www.server-world.info/query?os=CentOS_7&p=initial_conf&f=6

cinnamon の導入はすんなり終了し、マルチブートの設定も前回の通りで終了。いや、ミスタイプや、編集すべきファイルを間違えるというボロはあったが。


そして、GUIログインにしようとしてこちらを参照させていただき...とんでもない巨大な落とし穴にハマった。

[CentOS]CentOS7最小限のインストールからのGnomeデスクトップ環境構築
http://zero-config.com/centos/gnome-0001.html

この設定の後、リブート後に立ち上がった画面は、


  GNOMEデスクトップに胡散臭い日本語メニュー orz


orz なんてとうに風化して散ったソレを今さら使いたくなるとは、、」Linuxがらみでずいぶんいろいろやらかして凹みもしたが今回は最悪だ。ォマイガッ、カムトゥナシン、メッサmシンナッ。


GNOMEデスクトップがお好きな方はぜひどうぞ。




2016年3月5日土曜日

CentOS7にネットワークプリンタ設定の試みは GNOMEディスプレイの不具合?で中止

毎度のことながらできる確証は全く無いが。まずはぐーてんぷりんとかぷす。

# yum gutenprint-cups

次に、ドライバはrpmで提供されているのでダウンロード。が、そもそも rpm とは何か!? を調べるのがまだたった2度目というUNIXド素人。はて、こんな輩がいったい何故に!? Samba でADを扱っているのか全く意味がわからない。ドラマアニメ発想な幼稚ジャパン(けっこうな数)はジブンのことばっかりで全く知ろうともしないだろうが、リアルはかなりしばしば、驚きに溢れている。

で、rpmコマンド。layer8さんから、RPMパッケージの管理に使うRPMコマンド使えるオプション一覧

ちょっと見たぐらいではサッパリなわけだが致し方ない。rpm -ivh ・・・と作業を始めたところで、依存性なんちゃら。su では何かと思いログアウトすると途中でハング、電源を落として通常ブートは暗闇にうっすら7画面でHDDアクセスがなくなり先へ進まず、しばらくまって電源OFF、レスキューブートも...同じ現象。


トラブルは買ってでも経験を積めだぜAWESOME!


さておき、こうなったら何をすべきかは全くわからないが、旅モバさんのこちらを参考に

CentOS6起動時にハングアップする場合の対処方法
http://www.tabimoba.net/entry/20110913/1315882288

grubなセレクト画面で "e"キー。どこが Kernel 行かは全くわからなかったが とりあえず見える範囲にあった、rhgb quiet の文字列を削除し、Ctrl+X。すると、ブート中のステップが表示されるようになって、

[OK] Standard GNOME Display Manager.

ここで停止したままということは判明した。じゃあこっからどうやって直すってトンミヒルトネン!

これはなかなかに、得難い、いや、役に立たない経験かもしれない。とりあえずsshアクセスも Connection refused なので、あとは何だ。休憩か。


相方にコーヒーを入れてもらった後、見つけたのはこちら様。

Linuxゲリラ戦記
Linuxをインストールしたのに画面が黒いままで起動しないときの対処例
http://www.garunimo.com/program/linux/corumn-linux3.xhtml

CUIに持ち込めれば、クロの思考ノートさんのこの手順を試したいのだが。

CentOS 7をCUIで起動する方法
http://note.kurodigi.com/centos7-cuilaunch/


しかし Ctrl+Alt+F1 では切り替わらない。はて!?と思ったら、必ずしもF1とは限らないようで、この機器の場合は+F2で切り替わった。これがttyというやつだったか!!という場違いぶりはさておいて。次は、先人の方々を参考に

# systemctl list-unit-files

ざっと確認する。症状はおそらくデスクトップ関連であろうが、トリガーはプリンタ周りの作業である可能性が極めて高そうなのでまずは、

# yum remove gutenprint-cups

これで startx も「Opps!ザンネンろぐあうとしてね」。戻った画面を見ると、DRI2の初期化の後、GLX拡張のロードの後で何かが起こっているようだ。いやいや、こんな文字列を目にするのは、ずいぶん昔にFreeBSDでドハマリして以来だ。

となると。

デスクトップもろもろ一度削除して入れ直すか。ちょうど、デスクトップの日本語があまりに異様でむしろまんま英語でいいから状態だったので、ある意味いい機会かもしれない。しかし削除方法が、浅はかな経験の妄想でキーを叩いても実機で動かない。そこで

いつかは琵琶湖をチャリで一周する。 さんのこちら

Linux(CentOS6.3)でデスクトップ環境を再インストールする
http://d.hatena.ne.jp/shigagenjin/20121107/1352284262 

この環境においては、

# yum groupremove  "X Window System" "Desktop"

では There is no installed groups file. だった。いずれか一方だけでも同様。ここでひとつ気付いたのは、先ほどttyでアクセス不可と思ったことが私の誤認識だったこと。CUIで動作している状況でもアクセス不可であるので、SELinuxかFirewalldかいずれかのカベか。

続いて、/tmp にCUPS関連のディレクトリが残っていたので削除。再度rebootも減少変わらず。


えーと、 GUI直すどうこうでなくて、最初から全部入れ直した方がいいんかなこれは。


2016年3月4日金曜日

X 現在、ログオン要求を処理できるログオンサーバはありません [OK]

ログオンできないのだが、キャッシュでログオンも10回できるとかそうでないとか。とはいえ、休業でサーバとクライアントごっそり止めた翌営業日の朝イチでDCがコケたような状況を想定すればいいのか。


で、トラフィックを見るとUDPでソースもディスティネーションも137、NBNSブロードキャストでサーバを探しているが、あれ? DNSはどこへ?

...昨日の作業の後、DNSをDC向けに修正していないだけだった。作業ミスもさることながら途中の決めつけが浅はか過ぎる。

次はNBNSブロードキャストの中身、




このブロードキャストではドメイン名の後ろに1文字、Xが付加されている。この仕様について全く知らないので調べなくてはならない。
それから、ドメインコントローラはシステムインテグレータ様ご推奨の堅牢なサーバーを前提とはしないので、BDCを立ててテストもしなくては。


ところで、NBNSについて検索していたら、有限会社クロスネットさんのこんなコンテンツが。
http://www.x-net.nu/technical/winnt/t_winnt_tito2.html


たいへんわかりやすくありがたいコンテンツに感謝。


ただ、私が誤りなく理解したかどうかはもちろん別問題だ。


というわけで、Windows通信を考慮しつつ次はBDC。


URLフィルタの外部参照コストを調べようとするも

このところのSambaドハマリ中にあって、全く唐突ながら。

本業がたいへんずさんな昔のお客さんが商売情報の管理もたいへんずさんで、今このご時世に至って

「会社のインターネットでどこでもつながっちゃマズイよね!? 」

ぐらいのノリなのだが。ぶっちゃけこの件に関しては一切関わりたくない。とはいえ昔のお客さんだけに無視を決め込むわけにもいかないので、

「お手持ちのルータで、出入り業者さんで誰か設定できるんじゃないですかね!?」

とバックレようとした。ただ、まるで実現可能性の無いことを放言するのもモンダイであるのでちょっと探してみたところ。ヤマハルータの仕様では、URLフィルタの外部データベース参照なる機能があって

ヤマハ URLフィルタ
http://jp.yamaha.com/products/network/solution/url_filter/

しかし、デジタルアーツを参照するとヤマハ向けのサービス紹介が無いというザンネン。

そもそもインターネット向けアクセス制限をどこで? という話で、ネットではなくエンドノードならこういうわかりやすいものが。

シマンテック(標準価格表もあり)
http://www.symantec.com/ja/jp/theme.jsp?themeid=endpointsecurity_comparison

100ライセンス規模で初年度3,900円、2年目以降3,100円。つまり、1年目39万円、2年目以降31万円の売り上げ。ちなみに、オンプレミスなWebサーバ保護についてはピーク100Mbpsなトラフィックで年間200万円ほど。

いや、これURLフィルタじゃないだろ、という落ちではあるのだが。いやぁ、なかなかいい商売だなあと。



2016年3月3日木曜日

Samba AD と Samba ファイルサーバの連携不具合

前回までの不具合(ソフトウェアの問題か使い手の問題かは不明)
http://e4776m4mg.blogspot.jp/2016/03/samba.html

の続き。ADで作成したはずのユーザアカウントについて、ファイルサーバ側であたかも存在するように見える(Windows側でエクスプローラでネットワークをブラウズな分にはそう見える)にも関わらず、CentOS上では /home にこれらのアカウントのホームディレクトリが存在しない問題。

その後、ファイルサーバであるCentoOS7を載せているVirtualBoxのシャットダウン中にVDIのエラー。

ここで「嫌気がさし」エラー詳細についてプリントスクリーンボタンひとつ押しやしないアタマの弱さを露呈。深刻に反省しなくてはならない。

VirtualBoxのエラーはその後再現しないが、OSのシャットダウン中には、

nel arming
winbind

な段で最大90秒枠で何やら時間を要している様子。前者はどうも、kernel arming であるようで、正常な動作ではなさそうだ。

そこで、"レンタルサーバー・自宅サーバー設定・構築のヒント" さんのこちらを参考に。
http://server-setting.info/blog/kdump-no-memory-reserved-for-crash-kernel.html

# systemctl status kdump.service

内容がまったくわからない。ただ、winbindの文字は無い。再現性を確認すると

[FAILED] Failed to start Crash recovery kernel arming.

kdump.service を見ろやの一行をはさんで
[    **] A stop job is running for Samba Winbind Daemon (37s / 1min 31s)

である。またこの事象は

CentOS Linux (3.10.0-327.10.1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-英数字30桁ほど) 7 (Core)

レスキューモードでは発生するはずもないのだろうが、アップデート前後?は両方で発生する。

となると。ファイルサーバに障害があった台本のつもりで、ファイルを拾い出してファイルサーバを立て直すか。計画性を欠いたので整合性はアレだが現状確認すると、

・ADはそのまま
・リモートサーバ管理ツール環境はすでに白紙にしてしまった
・ファイルサーバもそのまま

なので、管理ツール環境の入れ直しから復旧できるかどうか、次に、ファイルサーバの回復、最悪ADから作り直し--->障害復旧作業の第一段階終了、になるか。あまりにも前提の知識がないので第2段階以降、そもそもの解明がどこまでできることやら情けないが。


[リモートサーバ管理ツール環境の白紙再作業で考慮すべき点]

・管理PC Win7側のアカウント
 特定の担当者依存を避けるため管理者共有アカウントがのぞましい
  --->サーバツールはWindows管理ツールの中の位置づけなので
  主担当者のPCでローカルAdministratorを有効化(二次被害防止)
  同PCの主担当者アカウント=ローカルAdminでワークグループ-->ドメインへの変更
  ドメインAdminで当該PCからログイン
  ドメインAdminでサーバツールのインストール
  副担当者のPCでも同様に

・AD側
 本番ではありえないのだろうが今のテストではDCのブート時に
 SElinuxやiptablesを有効にしてしまっている場合があるので
 (いずれもゆくゆくは有効にするのだがトラフィックを調べ切れてないので仮無効)
 この確認。

・管理PCのDNS設定
 これもテスト下でいじっているので、DCに向いているかどうか要確認。

これでいいか? また、前回はドメイン管理者をAdministratorそのまんまで使っていたので、これも別途アカウントを用意しなくてはならないが、そんなん当面のトラブル片づけで整理して原因突き止めて反省してからや。


[付随作業メモ]
・スタートメニューの入力ボックスにcmdでCtrl+Shift+Enter-->管理者として実行。
・Windows機能の有効かまたは無効化でリモートサーバ管理ツールを一式チェックしてみたところ5分ほども構成待ち時間が。
・サーバ管理ツールを使おうとしてまたしてもDNSサーバ設定変更忘れ
・DNSサーバ設定を戻した後もDCのドメイン付きホスト名、ホスト名をすぐには解決できず若干時間を要した。
・非ドメインな無印8.1をネットワークで検出できなかった。NetBIOS over TCP/IPをでふぉにしていたためか、ブロードキャストやマルチキャストを撒き散らかしたりしていなかったが、これを有効にしたところ検出した。

ファイルサーバについてはしばらくしてからネットワークに現れた。「最新の情報に更新」の効果か、何らか登場までのステップがあるかどうかは今の時点では知識が無い。

・ドメインadminでFS上のadminディレクトリにアクセス可能
 シェル関連のファイルが見える-->読み書き可能
・ドメインadminでankoやdangoアクセスはユーザ名パスワードが必要
・同じくshareについてはもとより制限なしであるので読み書き可能

次に、ユーザ管理ツール(ActiveDirectoryユーザとコンピュータ)を確認する。

・ツールを起動するだけで所属ドメインが左ペインに現れる
・ユーザについては先のテストで作成した和菓子系アカウントが存在する
・ファイルサーバ側の/homeには存在しない

--->再度ユーザアカウントの作成テスト rollcake fruits--Jadou

・DC側でユーザを作成しただけでFS側は同期しない
・net ads join -U Administrator でも/homeに新ユーザのホームディレクトリは作成されない。
・しかし以前に作成した日本の草系ユーザのホームディレクトリは存在するしこのために何ら作業は行っていない

<---行き倒れバッタリ無計画アタマ弱エンジニアまるだしでなく、考える。

ファイルサーバ側でログインすれば、ディレクトリは作成される。そういうこと!?

昨日作ったアカウント(fs側にアクセス不可)でADにログイン、エクスプローラ~ネットワークなブラウズでは、

 ・所属するグループの共有は見えるが要ユーザー名&パスワード
 ・ホームディレクトリは存在する

という状況。このアカウントはファイルサーバ側/CentOS上で一度もログインしていないので、CentOS上でホームディレクトリは存在しない。そこで、CentOS側でログインしてみる。

Warning: Your password will expire in 41 days on Wed Apr 12 04:14:45 2016
Creating directory '/home/ユーザ名.

これで直ちに、当該ユーザのホームディレクトリにアクセス、読み書き可能。そして...グループ毎の共有には、要ユーザ名・パスワード。smb.confにおいて当該フォルダは、

valid users = @ドメイン名+グループ名

を設定しているが、これが誤っているということか。

wbinfo -g


でAD側のグループを認識していることを確認。

wbinfoコマンドの書式については、MIRACLE LinuxさんのSamba が動作する Linux マシンを Windows ドメインに参加させる方法― MIRACLE LINUX V2.1 における Samba Winbind 利用方法 ―から。


次に、smb.conf内で当該共有フォルダに対して valid users を指定しているがこの書式が @ドメイン名+グループ名 であるので、ここで+を\に変更してみる。セパレータと呼ぶらしく、Samba4ではなくずっと以前のバージョンだが、これが問題になったこともあったようなので。

--->応答が変わって、ユーザ名パスワードを問われることなくアクセス不可となった。Windows側のメッセージとしては「\\なになに¥どこ共有 に対するアクセス許可がありません。ネットワーク管理者にアクセス許可を要求してください。」ありがちな、その管理者がオレや!オチ。

valid users の書式は、
http://net-newbie.com/samba/smb.conf.5.html#INVALIDUSERS
http://net-newbie.com/samba/smb.conf.5.html#VALIDUSERS

であるようでこれは UnixPower on Networkingさんのコンテンツと変わらないのだが、であれば valid users を機能させるための前提で私が何か誤ったということだ。

ここで、環境は少々古いが dialy dayflower さんが

2007-12-19 Samba & winbindd での valid users の指定方法
http://d.hatena.ne.jp/dayflower/20071219/1198047039


なる記述法について公開されていたので、真似てみる。マネるだけでなく winbind separator 有り無し を踏まえ、+""、@""、それから@グループ名もついでに試してはみた。無根拠で試すなど愚か極まりないが。

samba-tool での確認をしようとも思ったのだが、winbind+ファイルサーバ導入のこちらには samba-toolそのものが無い。

そこで、先人のみなさんにとってはあまりにも常識で誰も書かないようなところが!?

もう、パーミッションが根本的に。そもそも共有フォルダはrootで作っている。所有者は当然rootで、 グループもroot扱い。ドメインユーザのホームディレクトリはこれと異なり、ユーザ自身が所有者でグループはドメインユーザ。

これを一時的に 777 にしてしまい、再度 smb.conf の valid users を変更したところ、@グループ名でアクセス可能となった。この時点では書き込み不可であったので、write list で同様に@グループ名を指定したところ書き込み可能となった。また、グループ外のユーザについては、ドメインadminは 閲覧不可。ユーザ名・パスワードを要求されるためグループに属するユーザ+パスワードを入力してみたがNG、一度アクセスが失敗すると次はネットワークエラー扱いとなった。

次に、dangoグループの別ユーザでADにログイン、ネットワークからファイルサーバへアクセスしたところ、グループ共有のみならずホームディレクトリがNG、ユーザ制限なしの共有はOK。このユーザは、CentOS側でのログインを実施していなかった。ログイン後はホームディレクトリにOKとなったが、今度はグループ共有にアクセス不可。これは、777 を「777気持ち悪いから、776でよくね!?」などと変更したからだった。

次に、ドメインAdminでない他グループのユーザでの確認。当然、アクセスしようとするとユーザ名パスワードが要求される。ここで、アクセス権のある別ユーザとパスワードを入力すると何と!!ファイルサーバ上では別ユーザに成り代わってしまう。Windows側でのユーザアカウントはもちろん変わらないが、ファイルサーバでは別ユーザのホームディレクトリが見え、それまでのホームディレクトリは見えなくなる。アクセス権限も、新たに入力したユーザのそれだ。

ということは!?

行き倒れバッタリで設定したsmb.confやパーミッションは、やはり行き倒れバッタリだったということだ。


尚、ドメインにログインせずとも、ファイルサーバアクセス時にドメインユーザ・パスワードを入力すれば、当該ユーザに成りすましてアクセス可能。

# smbstatus

はリアルタイムのアクセス状況を確認できるようだが、ここでも当然、成りすましたユーザとして見える。アクセス元のIPアドレスは分かるが、手掛かりには乏しすぎる。