2023/10/24 (火)
2023-10-24:su: PAM unable to resolve symbol: pam_sm_acct_mgmt
仲間から「アップデート掛けたら su ができなくなったマシンがあるんでみてほしい」とへぷる要望あり。
一般ユーザーでログインして、そこで sudo コマンドは効く。
のだけど、たとえば sudo su – とかしようとすると、できなくて、/var/log/secure には
Oct 24 08:12:34 devmachine su: PAM unable to resolve symbol: pam_sm_acct_mgmt
というログが出る。
pam_sm_acct_mgmt は /usr/lib64/security/pam_unix.so のなかにあり、なんというか、こいつが解決できないってどういうこと?という。。。
ちなみにマシンは CentOS Linux release 7.9.2009 (Core)
CentOS 7 なんてヤメレ、という意見もあろうけど、現用系とのことでしょうがない。
いろいろググってみるも、pam RPM のバージョンを変えて入れてみろとかあまり役に立つものなし。
そういえば、別で CentOS 7 のマシンあったな、と思い出したのでログインして確認してみる。
そっちの CentOS7 は、長らく yum update してないものの、redhat-release ファイルは同じく CentOS Linux release 7.9.2009 (Core)
で、こっちでは sudo su – に成功する。おお!
入ってる pam RPM のバージョンは同じ、pam_unix.so の sha1sum も同じ。
んー、じゃあ、pam の設定ファイルか?、と /etc/pam.d/su を見てみる。
すると、できるマシンとできないマシンで差分があることを発見。
出来ない方では冒頭に
# Added by Google Compute Engine OS Login. account [success=bad ignore=ignore] pam_oslogin_login.so
というのがいる。
どうも、この子(pam_oslogin_login.so)がアレらしい。
乱暴だけど、この account 行をコメントに。
したら su ができるようになった。
ちなみに、もともとできたマシンの方には pam_oslogin_login.so がいない。オンプレマシンでした。
できなくなった子は Google Cloud なマシンだったそうで。
とりあえず、su ができるようになったと喜んでいたので、僕はこれ以上は手を出さず^^;
github にレポジトリあって、ここに issue 報告したらいいのかもだけど、CentOS7 の話をするのも、ねぇ。
comment2021/10/13 (水)
2021-10-13:vault.centos.org と letsencrypt ca 証明書問題
無料の証明書発行サービス Let’s Encrypt の使用していたルート証明書 DST Root CA X3 が9月末に切れた問題が vault.centos.org に波及していることに気付く。
昨年11月30日にサポートが終了した CentOS6 だけども、いまでもけっこうな数が現地運用されていて、レポジトリ URL を mirrorlist.centos.org から vault.centos.org に書き換えれば yum コマンドを使い続けられるよ、というのはよく知られたハック。
ただし、yum コマンドはその中で指定された URL から wget で rpm ファイル取得しようとするので、↑の DST Root CA X3 期限切れに伴い、
vault.centos.org が信頼できんわ
を処理に失敗してしまう。
クライアント側に有効な CA 証明書がないから検証できないという問題なので、解決のためには有効な CA 証明書があればいい。
vault.centos.org には更新用の ca-certificates RPM があり、これを取得して更新インストールする。
yum だと証明書エラーでコケるので、手動で(証明書エラーを無視して)wget で RPM を取得して rpm -Uvh で入れる。
依存関係から p11-kit, p11-kit-trust も要求されるので、これらも wget の上、先に rpm -Uvh しておく。
# wget --no-check-certificate https://vault.centos.org/centos/6/updates/x86_64/Packages/ca-certificates-2020.2.41-65.1.el6_10.noarch.rpm # wget --no-check-certificate https://vault.centos.org/centos/6/os/x86_64/Packages/p11-kit-0.18.5-2.el6_5.2.x86_64.rpm # wget --no-check-certificate https://vault.centos.org/centos/6/os/x86_64/Packages/p11-kit-trust-0.18.5-2.el6_5.2.x86_64.rpm # rpm -Uvh p11-kit-0.18.5-2.el6_5.2.x86_64.rpm p11-kit-trust-0.18.5-2.el6_5.2.x86_64.rpm # rpm -Uvh ca-certificates-2020.2.41-65.1.el6_10.noarch.rpm
これで wget で vault.centos.org から証明書エラーなく rpm ファイルが取得できるようになり、yum コマンドが復活。
comment2016/12/05 (月)
2016-12-05:Windows7 で sshd を動かす
要望あって、Windows マシンに sshd 立てて sftp でファイルをやりとりするサーバに、という案件。
いまって Windows 版の OpenSSH なんてあるのねー。
というわけで、セットアップ.
GitHub : PowerShell/Win32-OpenSSH
https://github.com/PowerShell/Win32-OpenSSH/releases
ここから zip ファイルをダウンロードし、C:\ 直下に展開。
自分の場合、C:\OpenSSH-Win64\ になる。これを環境変数 Path にいれる。「マイコンピュータを右クリックのプロパティ」→「システムの詳細設定」→「環境変数」→「システム環境変数の Path の編集」で、末尾に「;C:\OpenSSH-Win64」を追記。
22番ポート以外で動かしたかったので sshd_config を編集。鍵認証の指定もついでに。
Port 22222 PubkeyAuthentication yes
次に、その 22222 のポートを Firewall 的に開ける。
自分は ESET Smart Security なので、そっちで設定。Windows 標準の Firewall だったり、違うセキュリティソフトの方は、適宜それぞれの設定で。
あとは PowerShell で作業。
管理者権限で PowerShell 起動して、
> cd C:\OpenSSH-Win64 > ssh-keygen.exe -A C:\OpenSSH-Win64\ssh-keygen.exe: generating new host keys: RSA DSA ECDSA ED25519 > Set-ExecutionPolicy Unrestricted 実行ポリシーの変更 実行ポリシーは、信頼されていないスクリプトからの保護に役立ちます。実行ポリシーを変更すると、about_Execution_Policies のヘルプ トピック (http://go.microsoft.com/fwlink/?LinkID=135170) で説明されているセキュリティ上の危険にさらされる可能性があります。実行ポリシーを変更しますか? [Y] はい(Y) [N] いいえ(N) [S] 中断(S) [?] ヘルプ (既定値は "Y"): > .\install-sshlsa.ps1 > .\install-sshd.ps1 [SC] SetServiceObjectSecurity SUCCESS [SC] ChangeServiceConfig SUCCESS Granting SeAssignPrimaryTokenPrivilege to NT SERVICE\SSHD ... successful sshd and ssh-agent services successfully installed > Set-ExecutionPolicy RemoteSigned 実行ポリシーの変更 実行ポリシーは、信頼されていないスクリプトからの保護に役立ちます。実行ポリシーを変更すると、about_Execution_Policies のヘルプ トピック (http://go.microsoft.com/fwlink/?LinkID=135170) で説明されているセキュリティ上の危険にさらされる可能性があります。実行ポリシーを変更しますか? [Y] はい(Y) [N] いいえ(N) [S] 中断(S) [?] ヘルプ (既定値は "Y"): >
一時的にセキュリティを落としてからセットアップをして、終わったら戻す、という感じ。
以上で設定終了で、あとは起動するだけ。
自動起動の設定もしておこう。
> net start sshd sshd サービスを開始します. sshd サービスは正常に開始されました。 > Set-Service sshd -StartupType Automatic >
サーバの C:\Users\{ユーザー名}\.ssh\ 以下に authorized_keys を置いておけば、鍵認証で ssh のログインができる。
scp でファイルのやりとりも可能。
すばらしい。
以下は個人的にはまったネタ。解決に1時間以上かかった。
この Windows 版の OpenSSH、実は
Compression に対応していない!
ので、つなぎにいくクライアントサイドで Enable Compression とか、.ssh/config に Compression yes とか書いてると、接続できない。
もし自分以外にも接続できずに困っている方がいらっしゃいましたら、圧縮設定を見てみていただきたく。
この問題、接続できないならできないでその理由を吐けばいいものを、
% ssh -p 22222 192.168.0.101 buffer_get_ret: trying to get more bytes 1 than in buffer 0 buffer_get_char_ret: buffer_get_ret failed buffer_get_char: buffer error
これしか言われない。
-v をつけても大して得られる情報なし。これじゃエラー内容分かんないよ!!!
試行錯誤の過程で、サーバ側の .ssh/authorized_keys をどかしてパスワード認証にしたりするも
% ssh -p 22222 192.168.0.101 waasuke@192.168.0.101's password: Permission denied, please try again. waasuke@192.168.0.101's password: buffer_get_ret: trying to get more bytes 1 than in buffer 0 buffer_get_char_ret: buffer_get_ret failed buffer_get_char: buffer error
エラーは同じ。
なお、↑の最初のパスワード入力はわざと間違えてて、サーバが正しくパスワード認証をしてることはまではこれで把握。
サーバ側にログないのかな、と探すと、インストール直下に sshd.log がある。
しかし開いてみても、、、
2888 23:03:20 455 Failed password for waasuke from 192.168.0.62 port 45020 ssh2 2888 23:03:22 341 Accepted password for waasuke from 192.168.0.62 port 45020 ssh2
これだけ。
やっぱり役に立たNEEEEE!!!
で、ウンウン唸ってたら、仲間が「別のクライアントならどうだ?」とアドバイスをくれた。
Windows クライアントの PuTTY を試す。なんとログイン成功!
えーーー
これまでハマってた CentOS の ssh クライアントと何が違うんだ。。。
文字コード?改行コード?
しばらくして、さらに「.ssh/config じゃね?」とコメントをもらう。
いったんどかしてみたら、CentOS の ssh クライアントからもログインできた。
ここまできたらかなりの絞り込めたね。
あとは .ssh/config の設定をコメントアウトしたりひとつひとつ試し、結果、Compression yes がガンであることが判明。
ついでに Enable Compression にチェックを入れた PuTTY でのログイン失敗も確認。
やれやれ。。。
ちなみに、sshd_config には #Compression delayed とデフォルトでコメントアウトで入っているのだけど、これをコメントはずして値を yes にして sshd を再起動しても、圧縮ありにしたクライアントからの接続はできず。
sshd 自体に実装が入ってないのかー。
と思って project ページをよく見ると、
https://github.com/PowerShell/Win32-OpenSSH/wiki/Project-Scope
Intent of this project is to get to a state that can converge to and integrate into OpenSSH’s main repo. To simplify this integration, following features have been scoped out and will not work on Windows yet:– VerifyHostKeyDNS
– Client ControlMaster
略
– Compression
– ProxyCommand (Windows specific feature/work items)
略
ちゃんと書いてはありましたね。。。
(Compression を実装していないことを責めてるわけじゃもちろんないです。むしろポ―ティングには感謝。
(ただ、分からないエラーメッセージには文句言いたい。サーバサイドもクライアントサイドも。
2015/12/16 (水)
2015-12-16:ELECOM Bluetoothマウス CAPCLIP 3ボタン IRLED搭載 充電式
日常のデスクワークで Bluetooth のマウスを使ってるんだけど、ちょいちょい反応しなくてイライラすることがある。
で、今週は段取り失敗やら自分のミスやらがつのっててそもそも機嫌が悪く、そこに急遽反応しなくなるマウスにかなり苛立ってしまい、「あーもうっ!」と床に向かって投げつけたところ、お陰様できちんと壊れてくれました。ちーん。。。
しばらくレッツノートの静電タッチパッドでのポインティング入力。ただ、やっぱり使いづらい。
しょうがないので(って、自業自得なんだけど)、新しいのを買ってきた。
それがこの ELECOM の CAPCLIP というマウスで、見た目おもちゃ。
が、これがなかなかどうして買い物でした。
本体とキャップからなるこの製品、使うときはキャップを本体のおしり側にはめる。
大きさはかなり小さいのだけど、キャップとあわせると長さがあるので持ちづらいということはない。分解能も1200あるのでそれなりにカーロスが大きく動いて嬉しい(自分の仕事場は20インチモニタ2枚含めて4画面構成)。
使わないときは電源おとしてキャップをかぶせる。これまで使ってたマウスは移動時にむき出しで鞄に放り込んでいたのでホイールボタンのところがおかしくなりがちだったり、不用意にスイッチが入ってたりということがあったんだけど、それがないのは嬉しい。いや、前のも商品パッケージとしては収納ポーチがついてたんだけど、
そんなものはすぐに失くす
のよね。今回の場合、使用時も使用してないときも常に一緒にいさせるデザインなのが安心。
あと、今回のは本体にリチウムイオン電池搭載の充電式。おしりのカバーを開けると microUSB 端子がある。いままでのは単4電池2本だったので、eneloop 使ってたんだけど、これの充電からも解放されるな。
というわけで、期せずして(?)新しいマウスに変えたけど、いい結果になりました、というポストでした。
ちなみにいままでのより値段は安い。。。
参考に、いままでのはこちら(←)です。
別にこれも悪い商品というわけじゃない。これまで2年くらい使ってた気がするし。
2015/11/16 (月)
2015-11-16:KB3081320 で VirtualBox が rc=-22919
Windows Update をして再起動したら、Virtual Box が起動しなくなった。
Oracle VirtualBox 4.3.28 on Windows 8.1。
WinVerifyTrust faild on stub executable: WinVefiryTrust failed with hrc=Unknown Status -x8009200D on ‘\Device\HarddiskVolume4\Program Files\Oracle\VirtualBox\VirtualBox.exe’ (rc=-22929)
![]()
で、ググるとお仲間がいて、KB2081320 をアンインストールしたらいいよ、とあったので、その通りにして再起動して、復帰。
コントロールパネル→プログラムと機能→インストールされた更新プログラムを表示→KB2081320 を選択してアンインストール。
KB3081320 (10Nov15) breaks VirtualBox 4.3.30 (WinVerifyTrust
https://forums.virtualbox.org/viewtopic.php?f=6&t=74536
とりあえずは起動するようになってよかったね、なんだけど、今後どうしたらいいんだろう、これ。
comment2015/10/15 (木)
2015-10-15:OpenBlocks AX3 with SSD
OpenBlocks AX3 に 16G の SSD を搭載したのを入手。
ruby 環境を rbenv で入れようとして、いきなりはまった。/tmp の容量不足!
SSD 搭載の場合、/etc とか /usr とかもろもろは /dev/sda1 な SSD を ext4 フォーマットで /.rw とマウントされたとこの下に aufs でマウントされているんだけど、それでも /tmp は本体 RAM 上なのね。
$ mount /dev/root on / type ext2 (rw,relatime,errors=continue,user_xattr,acl) tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=103444k,mode=755) tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k) proc on /proc type proc (rw,nosuid,nodev,noexec,relatime) sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime) tmpfs on /dev type tmpfs (rw,relatime,size=10240k,mode=755) tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=206880k) devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000) /dev/sda1 on /.rw type ext4 (rw,relatime,user_xattr,barrier=1,data=ordered,discard) aufs on /etc type aufs (rw,relatime,si=8baef055) aufs on /bin type aufs (rw,relatime,si=88e78055) aufs on /home type aufs (rw,relatime,si=976ea055) aufs on /lib type aufs (rw,relatime,si=82ec9855) aufs on /sbin type aufs (rw,relatime,si=b8e83855) aufs on /usr type aufs (rw,relatime,si=82ec9055) aufs on /var type aufs (rw,relatime,si=b8e83055) aufs on /root type aufs (rw,relatime,si=86e5a855) aufs on /opt type aufs (rw,relatime,si=86e5a055) aufs on /srv type aufs (rw,relatime,si=82ebd855) aufs on /media type aufs (rw,relatime,si=82ebd055) rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
ここらのマウントは /etc/init.d/openblocks-setup の中でやっているみたいで、
# if using DEBIAN storage, /tmp directory mount under storage. #if [ -n "$rwdev" ] ; then # UNIONFS_DIRS="$UNIONFS_DIRS tmp" #fi
という部分があったので、この下三行のコメントを外して再起動。。。してみたが、うまくいかない。残念。
いいや、手動でやっちゃえ、と
mount -n -t aufs -o xino=/.aufs.xino.tmp,dirs=/.rw:/tmp=ro aufs /tmp
を実行。これで /tmp が SSD 上になった。
で、rbenv install 2.2.1 みたいにビルドができるようになったけど、、、さすがに1時間コースだな。けっこう重い。^^;
ちなみに、ruby 環境を作った後、rails 入れて、Gemfile 書いて bundle install しようとしたら、therubyracer でこける。
ググッたら github の作者のとこにスレを発見。
unable to build therubyracer/libv8 on arm A10 #255
https://github.com/cowboyd/therubyracer/issues/255
ここの2013年8月24日の投稿のやり方で therubyracer のインストールに自分も成功。
事前に sudo gem uninstall libv8 しておいて、git clone してから、の手順。
bundle install で必要な gem が一通り入り、手製の rails アプリが動くことまで確認。
ちょっと重いけど、使えなくはなさそうだ。
2015/10/14 (水)
2015-10-14:WindowsUpdate で勝手に Windows10 にされかける(回避方法追記)
Windows7 を入れてるデスクトップ機で ESET SmartSecurity が「お使いの Windows が最新じゃないです」言うので Windows Update の更新プログラムの確認をしたら、「Windows10 にアップグレードしろ」の表示。
なんだそりゃ。
利用可能な更新プログラムを確認すると、ご丁寧にオプションの中の「Windows10Proにアップグレード」があらかじめチェックされているという始末。
これで、気づかずにOKしちゃうと、アップグレードされちゃうわけよね。。。
どうなんだ、こういう姿勢って。
デフォルトでチェックされるのを外せないかと、いくつか調べたんだけど、
How to Block Windows 10 Upgrade Downloads If You’re Not Ready For Them
http://lifehacker.com/how-to-block-windows-10-upgrade-downloads-if-youre-not-1730024570
このやり方では勝手なダウンロードを防ぐだけで、今回の勝手にチェックには効果ない模様。
[企業ユーザー向け] Windows Update からの Windows 10 への無償アップグレードを管理する方法
http://blogs.technet.com/b/askcorejp/archive/2015/07/23/windows-update-windows-10-1.aspx
ここに抑止する方法が書かれているけど、該当するレジストリキーが見つからない。。。
うーん、なにかやり方ないのかな。
どなたかへぷる~
[10/15 10:00追記]
「(レジストリの)キーがなければ作ればいいじゃない」と twitter で教えていただきました。
cmd.exe を管理者権限で起動して、
reg add HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate /v "DisableOSUpgrade" /t REG_DWORD /d 00000001 /f
を実行。
そのあとの Windows Update で、無事にオプションの中から「Windows10Proにアップグレード」が消えました!
ご指摘に感謝♪
2015/10/01 (木)
2015-10-01:HTTPSなサーバのサーバ証明書とその署名中間CA
Cybertrust でサーバ証明書を作って最近更新したサーバが、PC のブラウザからは問題なく閲覧できるも、Android スマホや iPhone からだと証明書エラーの警告言われるよ、と指摘されてあわてる。
今回のサーバ証明書は Cybertrust Japan Public CA G3 という中間CA証明書で署名されたもので、これは Baltimore CyberTrust Root というルート証明書で署名されている。Baltimore CyberTrust Root は各端末に入っているのよね。なんでだー、と。
サーバは nginx。
で、設定ファイルで証明書を指定するのは ssl_certificate のなんだけど、これ、Cybertrust からもらったサーバ証明書だけじゃなく、中間CA証明書も Cat でつなげたファイルにする必要があったというのがオチ。
PC でしか確認してなかったのは失敗だった。。。
2015/09/17 (木)
2015-09-17:curl: (58) Unable to load client cert -8018.
例によって年イチくらいでハマる PKI まわり。
クライアント証明書を使って WebAPI を叩くサービスで、クライアント証明書を SHA-2 に移行しましょうね、というテストをしていて、タイトルのエラー。
$ /usr/bin/curl -E ./client.pem:xxxx -X POST -H 'Content-type: text/xml' -d 'aho ' https://dokkano/api curl: (58) Unable to load client cert -8018.
ちなみにクライアント機は CentOS6。
エラーメッセージをぐぐると、NSS に絡んだエラーらしい。CentOS6 の curl な NSS を組み込んだものなのね。
$ curl -V curl 7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.19.1 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2 Protocols: tftp ftp telnet dict ldap ldaps http file https ftps scp sftp Features: GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz
でもって、ググってでてきたページたちを参考にクライアント証明書を /etc/pki/nssdb/ 以下に突っ込んでみたりと半日ほど試行錯誤するも、、、うまくいかず。
NSS よく分からん、なんなのこれーーーー、と詰まったので、
もういい、野良ビルドしたる!
と、ソースもってきて、/usr/local/src 以下でビルド。
で、できた /usr/local/bin/curl を使うようにしたら、あっさり動いた。
うーん。。。
$ /usr/local/bin/curl -V curl 7.44.0 (x86_64-unknown-linux-gnu) libcurl/7.44.0 OpenSSL/1.0.1e zlib/1.2.3 libidn/1.18 Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp Features: IDN IPv6 Largefile NTLM NTLM_WB SSL libz UnixSocketscomment
2015/08/20 (木)
2015-08-20:LoadError: libMagickCore.so.2: cannot open shared object file
とある rails のプロジェクトを更新するときに rake assets:precompile RAILS_ENV=production しようとして
rake aborted! LoadError: libMagickCore.so.2: cannot open shared object file: No such file or directory - /usr/local/rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/rmagick-2.14.0/lib/RMagick2.so /xxxx/config/application.rb:17:in `' /xxxx/Rakefile:4:in ` ' (See full trace by running task with --trace)
というエラーを喰らった。
けど、No such file or directory 言われたファイルはちゃんとあるのよね。
gem でいれた rmagick をリコンパイルすればいいのよ、ってのをググって見つけたので、
$ sudo gem pristine rmagick
したら、無事解決。
comment2015/08/17 (月)
2015-08-17:wordpress の「無効な投稿タイプ」と nginx 設定
実はしばらく前から wordpress のダッシュボードで新規投稿をしようとすると「無効な投稿タイプ」と言われて何もできない、という状況に陥っていた。
いい加減なんとかしようと調べたら、原因は nginx の設定がよろしくなかったね、というオチ。
nginx + php5-fpm + wordpress という構成で、さらには wordpress をサブディレクトリ運用という通常でないカタチにしているもので、うまく動作しているようでたまに罠があるのね。
結論としては nginx の設定で
location ^~ /person/waasuke { index index.php index.html; try_files $uri $uri/ /person/waasuke/index.php?$args; location ~ \.php$ { fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_split_path_info ^(/person/waasuke)(/.*)$; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $request_filename; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_script_name; } }
とすることで解決(/person/waasuke の部分は読み替えてください)。
以下、経過。
原因を探るために、wordpress にログを吐かせる。
これは wordpress の wp-config.php に
define('WP_DEBUG', true); if ( WP_DEBUG ) { define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false ); @ini_set( 'display_errors',0 ); }
と書き込む。これで wp-contents/debug.log にログが吐き出されるようになる。
この設定でログを監視しながらくだんの新規投稿のページに行くと、
PHP Notice: Undefined offset: 1 in /xxxxxx/wp-includes/vars.php on line 31
と気になる出力が。
当該行を見に行くと、
if ( is_admin() ) { // wp-admin pages are checked more carefully if ( is_network_admin() ) preg_match('#/wp-admin/network/?(.*?)$#i', $_SERVER['PHP_SELF'], $self_matches); elseif ( is_user_admin() ) preg_match('#/wp-admin/user/?(.*?)$#i', $_SERVER['PHP_SELF'], $self_matches); else preg_match('#/wp-admin/?(.*?)$#i', $_SERVER['PHP_SELF'], $self_matches); $pagenow = $self_matches[1];
どうやら、$_SERVER[‘PHP_SELF’] のチェックでうまくいってない模様。
で、nginx から値がうまくわたってないのね、ということで冒頭の設定になった次第。
2015/08/10 (月)
2015-08-10:Xperia Z3 Compact
というわけで、粘って使ってた Xperia SX から Z3 Compact に機種変更。
横幅60mmを上限と思っている自分は「どこがコンパクトなんだよ!」と思うも、世の流れには逆らえずということで。
まぁ、最近のアプリだと動作がつらいというのは正直あったしね。。。
SIM が micro から nano に変わるため、変更には新機種で開通操作が必要。
が、その前に必要なデータを移行。自分の場合はモバイル Suica だけだけどね。
変更前の機種でモバイル Suica アプリを立ち上げ、会員メニューで機種変更を選ぶと、センター側で受付がされる。
あとは新機種で開通後にモバイル Suica アプリをダウンロードして立ち上げてログインして、初期設定を実行すればよい。
あとは仕事場帰りにヨドバシでも寄って保護フィルムとかジャケットとか充電ケーブルとかを買おう。
最近の Xperia ってマグネット付の専用の充電端子があるのね(そんなことすら知らない程度に浦島さんな旧機種 Xperia ユーザーなり。。。
2015/06/01 (月)
2015-06-01:mysql gem
ruby で mysql 操作をするのに gem install mysql したライブラリを使っている。
mysql2 の gem だと SQL のプレースホルダ使えないのよね。。。
で、とあるクエリを実行しようとしてて
./hoge.rb:107:in `execute': unsupported type: 18 (TypeError)
というエラー。
なんじゃらほい、と1時間かかってしまった。
Boolean なカラムにデータを入れようとして、true をつっこんでたのがいけなかった。
1 にしたら通った。
2015/04/07 (火)
2015-04-07:fail2ban memo
pop3 に対してパスワードアタックかけてくるおバカがいそうなログを qpopper が出していたので、iptables でどけてしまおうと思いつつ、手動の iptables コマンドでしくじるのも怖いので fail2ban でやってもらうように。
手順
- sudo apt-get install fail2ban
- qpopper の出すログから相手ホストを切り出すフィルタを書く
- そのフィルタを使えるようにする
- sudo /etc/init.d/fail2ban restart
フィルタはこんな感じ。
$ cat /etc/fail2ban/filter.d/qpopper.conf [Definition] failregex = qpopper.* \(<HOST>\):.* Password supplied.* is incorrect
フィルタの動作チェックは↓のようなコマンドで。
$ sudo fail2ban-regex /var/log/mail.log /etc/fail2ban/filter.d/qpopper.conf
大丈夫そうなら jail.conf に今回のフィルタを追加して、fail2ban 再起動。
$ tail /etc/fail2ban/jail.conf ... [qpopper] enabled = true port = pop3 filter = qpopper logpath = /var/log/mail.log maxentry = 10 bantime = 3600
あとは iptables -nL とかして、アタックくんが BAN されてるのを見てニヨニヨしよう。
# iptables -nL ... Chain fail2ban-qpopper (1 references) target prot opt source destination DROP all -- xxx.xxx.xxx.xxx 0.0.0.0/0 RETURN all -- 0.0.0.0/0 0.0.0.0/0 ...comment
2015/04/03 (金)
2015-04-03:WindowsUpdate の不具合の修正をあてる
ここしばらく、普段遣いの RZ4 でタスクバーの動作が非常に重かったり、ウィンドウのフォーカス変化がトロくなる事象が散発してた。
常時というわけではなく、気が付くとそうなってて、でも待てばそのうち復活する。
待てないときは「えいや」で再起動してたけど。
なんなんだろうこれ、とタスクマネージャーを開きっぱなしにして様子を見てたら、当該事象発生時にエクスプローラーが30%ぐらいの CPU を奪ってることを発見。
「タスクバー エクスプローラー CPU」でぐぐったら、3月の Windows Update の不具合というのがポロポロ出てくる。
なんだ、みんなもはまってる事象だたのか。もっと早く調べればよかった。。。
Microsoft のサポートページに「更新プログラムの修正プログラム」があるので、入れてみる。
これで事象が再発しなくなると嬉しいな。大丈夫かな。
3033889 の更新プログラムが Windows のエクスプ ローラーで、日本語または韓国語の IME を使用するシステムに応答を停止するには
https://support.microsoft.com/ja-jp/kb/3048778
しかし、このサポートページのタイトル、日本語が???なんだが。^^;
comment