2016年3月31日木曜日

android2.2(2.1~2.3かもしれない)とSAMBAで接続出来ない(Androidからファイルサーバに繋がらない)。

古いアンドロイドタブレットをSAMBAサーバに接続させようとしたら、一向に接続出来なかった。
その時のTIPSと対処法。

事の発端は、CentOS7でファイルサーバを構築し、Windows作業機と、閲覧用のAndroid2.2タブレットが情報共有できるようにしようとしたところ、Windows機からは見られるが、Androidからははじかれるという、何ともよく分からない状態になったこと。
しかも、元々この環境にはSAMBAサーバがあり、そちらには問題なく繋がるので、余計によく分からなくなった。

Androidタブレットは、ベースOSAndroid2.2、SAMBA接続用にはESファイルエクスプローラを使用している。なぜESファイルエクスプローラを使用しているかと言えば、この環境はインターネットに接続していないクローズド環境なので。お漏らししようとしても、出来ない。

原因の切り分けとしては、Android機やWindows機は、元々のサーバに繋がるのでシロ。
新規SAMBAサーバは、Windowsからは繋がるからグレー。
で、WindowsとAndroidの違いは何か、というところで、気付いた。
Androidのバージョンが2.2と低いことに。

原因は、SAMBAサーバのSMBバージョンが、Android2.2では高すぎた、と言うのが原因だった。
 対処法として、SAMBAのsmb.conf設定の
「max protocol」
「max protocol」
を弄る。

#SMBバージョン3をコメントアウトし、SMB2を指定
#max protocol = SMB3
max protocol = SMB2

これで繋がるようになった。

初めはfirewall(というかiptables)を疑ったり、selinuxを疑ったりといういつもの感じだったのだが、
解決まで今回速かったのは、WindowsXPを使っていなかったのが大きい。
要は、古いWindows環境が、そこに無かったことが一番のヒントになったのである。
出来ればSMB3環境で行きたかったのだけれども(速いし)、Androidタブレットを数十枚使っているので仕方が無い。

 smb.confについては
http://www.samba.gr.jp/project/translation/4.0/htmldocs/manpages/smb.conf.5.html
を参照のこと。
昔はかりっかりにチューニングすることによって、速度を出していたSAMBAなのだけれども、最近はチューニングすることの方が、ボトルネックになっているよう。
ソフトウェア的なところは解決されていると考えると、やはり主戦場はハードウェア/インフラの方か、という・・・。

2016年3月1日火曜日

Blackberry Passportの使用感とTIPS

Q10ユーザーだった僕は、本当はBlackberry Classicが欲しかったのだけれども、
スペックが上がらなければ意味が無かったので、結局パスポートを買うことにした。

買う前に思っていた懸念点は
・でかそう
・日本語入力がもっさりらしい
・キー配置違いすぎる(ソフトウェアキーボード併用って・・・)

購入後の使用感

×でかい
間違いなくでかい。圧迫感はiphone6s+に匹敵するでかさ。
しかも正方形なので、片手持ちで通話状態(耳に当てる感じ)はなかなかなもの。
ただ、ファブレットだと考えると、仕方が無いといえば仕方が無い。
サイズ感から重く感じるし、実際Q10と比べると重い。

○そのでかさが意外と、というかかなり使いやすい
Q10に比べると倍の解像度で、しかも正方形なのでブラウジングが大変見やすい。
マップアプリも自分を中心として上下左右を把握できるので秀逸。

○日本語もっさりはほぼ無い
最新のアップデートで、かなり改善されているので特に不便を感じないレベル。
若干引っかかり(コンマ数秒)があるが、逆に引っかかっている間に次の文章考えておけ、位。
使用感はQ10とほぼ変わらず。
修正追記
結構引っかかることがあるかも知れない・・・。長文変換になると、1秒程度待たされたこともあった。
ただ、Q10と比べるとどうだろう。Q10も、なんだかんだで引っかかっていたからである。
むしろQ10で単文節変換に慣れていたので、引っかかりが顕在化しなかったと言う方が正解か。
修正修正追記
長文・・・辛いです・・・。
英文打つ分には、すこぶる快適ですが、長文日本語変換は、辛いの一言・・・。
追記追記追記
日本語打ちで、最初の一文字目が必ず確定してしまう病アリ。これもうざい。

言語の切替が長押しで面倒という人へ。
設定>言語及び入力方式>入力言語>クイック切替
を有効にすると、切替キーが出っぱなしになるので便利。読点を打つときに一寸不便になるかな。

○ジェスチャーキーボードがなかなかいい
トラックボード(トラックパッド?)が本当は良かったのだけれども、キーボード全面がトラックボードになっているのも使える。
特に後述のスクリーン回転と併用してブラウジングするのが楽。

○スクリーンが回転する
他のスマートフォンOSと同じように、スクリーンの回転・固定が出来る。
これのお陰で、本体を横にしてジェスチャーキーボードを縦に使うと、ブラウジングが大変はかどる。
しかも長くストロークが取れるので、かなり楽しい。

×落としそう
片手で持つことはほぼ考えられていない、重量感、この二つで落としそうな気がする。
お陰で丁寧に扱おうという気になる、という副次作用が生まれた。
Q10はソファに投げたりしたが、こいつは投げられないなあ・・・。
alumania STRAP TYPE HEADPHONE CAP for 3.5mm PLUG
http://alumania.net/products/strap_hp_cap/
とポケットリング ブラック
http://www.amazon.co.jp/pocketgames-43001-%E3%83%9D%E3%82%B1%E3%83%83%E3%83%88%E3%83%AA%E3%83%B3%E3%82%B0-%E3%83%96%E3%83%A9%E3%83%83%E3%82%AF/dp/B002ZFZ1J8
を買う予定。

○ソフトウェアキーがいい
今までALT(↑)を使ったりshmを使ったりしていた入力が、ソフトウェアキーボード補完で出来てしまう。
ソフトウェアで実装されたSHIFTキーがきちんと動くかどうかも疑問だったが、杞憂に終わった。

あとは思い出したら書くことにする。


TIPS
Q10も同じなので、タグはQ10も入れておく。

現在最新のBBOS10で、Androidアプリが削除できない問題についての修正は
crackberry
http://crackberry.com/if-youve-been-unable-download-android-runtime-update-try-now
に修正版ランタイムへのリンクがあるので、ダウンロードして入れておこう。
これ、実行してもイニシャライズが終わる気配が全くないのでしばらく放置していたが、やっぱり終わらなかった。
多分、入れて実行すればそれでいいんじゃないかと。
副作用としてメールが一切受信しなくなったが、再起動させれば何事も無かったように受信するようになった。

Androidアプリのパーミッションは
同crackberry
http://forums.crackberry.com/android-apps-amazon-store-apk-files-f413/will-new-10-3-feature-app-ops-selective-android-app-permissions-932484/
にあるように、app opsを入れれば「ある程度」制御できる。
特に単一のAndroidアプリケーションを動作させてみれば、何が何を使っているのかが分かるので、適時切っていけば良い。
例えばgoogle mapsは位置情報と通知の投稿+Androidシステムとして位置情報、連絡先の読み取り、及び変更、設定の変更を使っている。
google開発者~を入れないのであれば、連絡先関係は全て切れるので、よりセキュア。
因みに、制御したアプリケーションは(起動させた状態で制御した場合)再起動させないと、前のパーミッションを使い続けるので注意。
また、切りすぎるとクラッシュする可能性があるので、反応を見ながらやって下さい。

アクセサリ
http://www.plantronics.com/jp/product/voyager-legend
でかいので、こういったbluetoothヘッドセットを併用することをお勧めする。
特にLegendは、日本で買える最高のBT片耳ヘッドセットなんじゃないかな。

Nillkinという中華メーカーの液晶保護シートは良いやつだった。
http://jetstream.bz/archives/13357
みたいな。
ジャストサイズでした。
他エントリで書きますが、Shinezoneは輸入代理店みたいね。

IMAKのクリアケースも買ったけど、これもフィット感は完璧。あだ、つるつるで更に落としそうではある。


2015年12月9日水曜日

CentOS7でLet's Encryptを試して失敗した話

http://www.websec-room.com/2015/12/04/2380
にならう。

まんまだと上記を見れば良いじゃんになるので、失敗ログも含めて以下。


まずhttpd、openssl、mod_sslが入っているかどうか確認

[root@SERVERNAME letsencrypt]# rpm -qa|grep httpd

httpd-2.4.6-31.el7.centos.1.x86_64
httpd-tools-2.4.6-31.el7.centos.1.x86_64
[root@SERVERNAME letsencrypt]# rpm -qa|grep openssl
openssl-devel-1.0.1e-42.el7.9.x86_64
openssl-libs-1.0.1e-42.el7.9.x86_64
openssl-1.0.1e-42.el7.9.x86_64
[root@SERVERNAME letsencrypt]# rpm -qa|grep mod_ssl
mod_ssl-2.4.6-31.el7.centos.1.x86_64

インストールスクリプトの実行
[root@SERVERNAME letsencrypt]# ./letsencrypt-auto --help


Bootstrapping dependencies for RedHat-based OSes...
yum は /usr/bin/yum です
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.nara.wide.ad.jp
 * extras: ftp.nara.wide.ad.jp
 * updates: ftp.nara.wide.ad.jp
パッケージ python-2.7.5-18.el7_1.1.x86_64 はインストール済みか最新バージョンです
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ python-devel.x86_64 0:2.7.5-18.el7_1.1 を インストール
---> パッケージ python-virtualenv.noarch 0:1.10.1-2.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

================================================================================
 Package                アーキテクチャー
                                    バージョン               リポジトリー  容量
================================================================================
インストール中:
 python-devel           x86_64      2.7.5-18.el7_1.1         updates      389 k
 python-virtualenv      noarch      1.10.1-2.el7             base         1.2 M

トランザクションの要約
================================================================================
インストール  2 パッケージ

総ダウンロード容量: 1.6 M
インストール容量: 2.6 M
Downloading packages:
(1/2): python-devel-2.7.5-18.el7_1.1.x86_64.rpm            | 389 kB   00:00
(2/2): python-virtualenv-1.10.1-2.el7.noarch.rpm           | 1.2 MB   00:00
--------------------------------------------------------------------------------
合計                                               3.3 MB/s | 1.6 MB  00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : python-devel-2.7.5-18.el7_1.1.x86_64            1/2
  インストール中          : python-virtualenv-1.10.1-2.el7.noarch           2/2
  検証中                  : python-devel-2.7.5-18.el7_1.1.x86_64            1/2
  検証中                  : python-virtualenv-1.10.1-2.el7.noarch           2/2

インストール:
  python-devel.x86_64 0:2.7.5-18.el7_1.1
  python-virtualenv.noarch 0:1.10.1-2.el7

完了しました!
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.nara.wide.ad.jp
 * extras: ftp.nara.wide.ad.jp
 * updates: ftp.nara.wide.ad.jp
パッケージ git-1.8.3.1-4.el7.x86_64 はインストール済みか最新バージョンです
パッケージ gcc-4.8.3-9.el7.x86_64 はインストール済みか最新バージョンです
パッケージ redhat-rpm-config-9.1.0-68.el7.centos.noarch はインストール済みか最新バージョンです
パッケージ ca-certificates-2015.2.4-70.0.el7_1.noarch はインストール済みか最新バージョンです
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ augeas-libs.x86_64 0:1.1.0-17.el7 を インストール
---> パッケージ dialog.x86_64 0:1.2-4.20130523.el7 を インストール
---> パッケージ libffi-devel.x86_64 0:3.0.13-11.el7 を インストール
---> パッケージ openssl-devel.x86_64 1:1.0.1e-42.el7.9 を インストール
--> 依存性の処理をしています: krb5-devel(x86-64) のパッケージ: 1:openssl-devel-1.0.1e-42.el7.9.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ krb5-devel.x86_64 0:1.12.2-15.el7_1 を インストール
--> 依存性の処理をしています: libverto-devel のパッケージ: krb5-devel-1.12.2-15.el7_1.x86_64
--> 依存性の処理をしています: libselinux-devel のパッケージ: krb5-devel-1.12.2-15.el7_1.x86_64
--> 依存性の処理をしています: libcom_err-devel のパッケージ: krb5-devel-1.12.2-15.el7_1.x86_64
--> 依存性の処理をしています: keyutils-libs-devel のパッケージ: krb5-devel-1.12.2-15.el7_1.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ keyutils-libs-devel.x86_64 0:1.5.8-3.el7 を インストール
---> パッケージ libcom_err-devel.x86_64 0:1.42.9-7.el7 を インストール
---> パッケージ libselinux-devel.x86_64 0:2.2.2-6.el7 を インストール
--> 依存性の処理をしています: libsepol-devel >= 2.1.9-1 のパッケージ: libselinux-devel-2.2.2-6.el7.x86_64
--> 依存性の処理をしています: pkgconfig(libsepol) のパッケージ: libselinux-devel-2.2.2-6.el7.x86_64
---> パッケージ libverto-devel.x86_64 0:0.2.5-4.el7 を インストール
--> トランザクションの確認を実行しています。
---> パッケージ libsepol-devel.x86_64 0:2.1.9-3.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

================================================================================
 Package                 アーキテクチャー
                                    バージョン                リポジトリー
                                                                           容量
================================================================================
インストール中:
 augeas-libs             x86_64     1.1.0-17.el7              base        332 k
 dialog                  x86_64     1.2-4.20130523.el7        base        208 k
 libffi-devel            x86_64     3.0.13-11.el7             base         22 k
 openssl-devel           x86_64     1:1.0.1e-42.el7.9         updates     1.2 M
依存性関連でのインストールをします:
 keyutils-libs-devel     x86_64     1.5.8-3.el7               base         37 k
 krb5-devel              x86_64     1.12.2-15.el7_1           updates     641 k
 libcom_err-devel        x86_64     1.42.9-7.el7              base         30 k
 libselinux-devel        x86_64     2.2.2-6.el7               base        174 k
 libsepol-devel          x86_64     2.1.9-3.el7               base         71 k
 libverto-devel          x86_64     0.2.5-4.el7               base         12 k

トランザクションの要約
================================================================================
インストール  4 パッケージ (+6 個の依存関係のパッケージ)

総ダウンロード容量: 2.7 M
インストール容量: 5.6 M
Downloading packages:
(1/10): dialog-1.2-4.20130523.el7.x86_64.rpm               | 208 kB   00:00
(2/10): augeas-libs-1.1.0-17.el7.x86_64.rpm                | 332 kB   00:00
(3/10): keyutils-libs-devel-1.5.8-3.el7.x86_64.rpm         |  37 kB   00:00
(4/10): libcom_err-devel-1.42.9-7.el7.x86_64.rpm           |  30 kB   00:00
(5/10): libselinux-devel-2.2.2-6.el7.x86_64.rpm            | 174 kB   00:00
(6/10): libsepol-devel-2.1.9-3.el7.x86_64.rpm              |  71 kB   00:00
(7/10): libverto-devel-0.2.5-4.el7.x86_64.rpm              |  12 kB   00:00
(8/10): libffi-devel-3.0.13-11.el7.x86_64.rpm              |  22 kB   00:00
(9/10): krb5-devel-1.12.2-15.el7_1.x86_64.rpm              | 641 kB   00:00
(10/10): openssl-devel-1.0.1e-42.el7.9.x86_64.rpm          | 1.2 MB   00:00
--------------------------------------------------------------------------------
合計                                               2.8 MB/s | 2.7 MB  00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : libcom_err-devel-1.42.9-7.el7.x86_64           1/10
  インストール中          : keyutils-libs-devel-1.5.8-3.el7.x86_64         2/10
  インストール中          : libsepol-devel-2.1.9-3.el7.x86_64              3/10
  インストール中          : libselinux-devel-2.2.2-6.el7.x86_64            4/10
  インストール中          : libverto-devel-0.2.5-4.el7.x86_64              5/10
  インストール中          : krb5-devel-1.12.2-15.el7_1.x86_64              6/10
  インストール中          : 1:openssl-devel-1.0.1e-42.el7.9.x86_64         7/10
  インストール中          : dialog-1.2-4.20130523.el7.x86_64               8/10
  インストール中          : libffi-devel-3.0.13-11.el7.x86_64              9/10
  インストール中          : augeas-libs-1.1.0-17.el7.x86_64               10/10
  検証中                  : libselinux-devel-2.2.2-6.el7.x86_64            1/10
  検証中                  : libverto-devel-0.2.5-4.el7.x86_64              2/10
  検証中                  : libsepol-devel-2.1.9-3.el7.x86_64              3/10
  検証中                  : keyutils-libs-devel-1.5.8-3.el7.x86_64         4/10
  検証中                  : augeas-libs-1.1.0-17.el7.x86_64                5/10
  検証中                  : 1:openssl-devel-1.0.1e-42.el7.9.x86_64         6/10
  検証中                  : libffi-devel-3.0.13-11.el7.x86_64              7/10
  検証中                  : krb5-devel-1.12.2-15.el7_1.x86_64              8/10
  検証中                  : libcom_err-devel-1.42.9-7.el7.x86_64           9/10
  検証中                  : dialog-1.2-4.20130523.el7.x86_64              10/10

インストール:
  augeas-libs.x86_64 0:1.1.0-17.el7     dialog.x86_64 0:1.2-4.20130523.el7
  libffi-devel.x86_64 0:3.0.13-11.el7   openssl-devel.x86_64 1:1.0.1e-42.el7.9

依存性関連をインストールしました:
  keyutils-libs-devel.x86_64 0:1.5.8-3.el7
  krb5-devel.x86_64 0:1.12.2-15.el7_1
  libcom_err-devel.x86_64 0:1.42.9-7.el7
  libselinux-devel.x86_64 0:2.2.2-6.el7
  libsepol-devel.x86_64 0:2.1.9-3.el7
  libverto-devel.x86_64 0:0.2.5-4.el7

完了しました!
Creating virtual environment...
Updating letsencrypt and virtual environment dependencies...../root/.local/share/letsencrypt/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
./root/.local/share/letsencrypt/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
.
Running with virtualenv: /root/.local/share/letsencrypt/bin/letsencrypt --help

  letsencrypt [SUBCOMMAND] [options] [-d domain] [-d domain] ...

The Let's Encrypt agent can obtain and install HTTPS/TLS/SSL certificates.  By
default, it will attempt to use a webserver both for obtaining and installing
the cert. Major SUBCOMMANDS are:

  (default) run        Obtain & install a cert in your current webserver
  certonly             Obtain cert, but do not install it (aka "auth")
  install              Install a previously obtained cert in a server
  revoke               Revoke a previously obtained certificate
  rollback             Rollback server configuration changes made during install
  config_changes       Show changes made to server config during installation
  plugins              Display information about installed plugins

Choice of server plugins for obtaining and installing cert:

  --apache          Use the Apache plugin for authentication & installation
  --standalone      Run a standalone webserver for authentication
  (nginx support is experimental, buggy, and not installed by default)
  --webroot         Place files in a server's webroot folder for authentication

OR use different plugins to obtain (authenticate) the cert and then install it:

  --authenticator standalone --installer apache

More detailed help:

  -h, --help [topic]    print this message, or detailed help on a topic;
                        the available topics are:

   all, automation, paths, security, testing, or any of the subcommands or
   plugins (certonly, install, nginx, apache, standalone, webroot, etc)

インストール出来たのか・・・?
取り敢えず出来たことにして、先に進む。

./letsencrypt-auto --apache



で、httpdを止めて--debug付きで実行してみると・・・

[root@SERVERNAME letsencrypt]# service httpd stop                                Redirecting to /bin/systemctl stop  httpd.service
[root@SERVERNAME letsencrypt]# ./letsencrypt-auto certonly --standalone -d MY-DOMAIN-NAME.DOMAIN --debug

Updating letsencrypt and virtual environment dependencies.......
Running with virtualenv: /root/.local/share/letsencrypt/bin/letsencrypt certonly --standalone -d MY-DOMAIN-NAME.DOMAIN --debug
Traceback (most recent call last):
  File "/root/.local/share/letsencrypt/bin/letsencrypt", line 11, in
    sys.exit(main())
  File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/letsencrypt/cli.py", line 1283, in main
    return args.func(args, config, plugins)
  File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/letsencrypt/cli.py", line 512, in obtain_cert
    _auth_from_domains(le_client, config, domains)
  File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/letsencrypt/cli.py", line 336, in _auth_from_domains
    lineage = le_client.obtain_and_enroll_certificate(domains)
  File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/letsencrypt/client.py", line 283, in obtain_and_enroll_certificate
    certr, chain, key, _ = self.obtain_certificate(domains)
  File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/letsencrypt/client.py", line 266, in obtain_certificate
    return self._obtain_certificate(domains, csr) + (key, csr)
  File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/letsencrypt/client.py", line 224, in _obtain_certificate
    authzr = self.auth_handler.get_authorizations(domains)
  File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/letsencrypt/auth_handler.py", line 84, in get_authorizations
    self._respond(cont_resp, dv_resp, best_effort)
  File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/letsencrypt/auth_handler.py", line 142, in _respond
    self._poll_challenges(chall_update, best_effort)
  File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/letsencrypt/auth_handler.py", line 204, in _poll_challenges
    raise errors.FailedChallenges(all_failed_achalls)
FailedChallenges: Failed authorization procedure. MY-DOMAIN-NAME.DOMAIN (tls-sni-01): urn:acme:error:connection :: The server could not connect to the client for DV :: Failed to connect to host for DVSNI challenge


IMPORTANT NOTES:
 - The following 'urn:acme:error:connection' errors were reported by
   the server:

   Domains: MY-DOMAIN-NAME.DOMAIN
   Error: The server could not connect to the client for DV


うん、エラーで止まった。
httpdを有効にしてスタートすると、メールアドレス入力までは行き着くが、80番を聞いてるから落として再実行しろとのたまう。
現状ここまで。


追記
成功したのは
http://roserogue.blogspot.jp/2016/10/centos-owncloud-lets-encrypt.html
で。
というか、これもある意味成功していたのだけれども、ルータとサーバでポートを空けていなかったから、letsencrypt側から確認出来なかった、というのが原因でエラーを吐いていた。
あと、あるあるミスのselinux。

2015年11月26日木曜日

rsyncで外付けUSBハードディスクにバックアップするシェルスクリプトのメモ。

rsyncを使ったバックアップ用のシェルスクリプトを書いたのでメモ。
USBに対してバックアップする用途。
USBにはあらかじめ「backupdata」というディレクトリを作成しておく。

vi backupusb.sh
で作成。

#!/bin/sh

#変数。上がソースで下が書き出し先
sharedir=/backup-source-directory
backupdir=/media/backupusb/backup-data-directory

#if文で同ディレクトリが存在するかどうか確認(特にバックアップ先のマウント忘れ防止)

if [ -e $backupdir ] && [ -e $sharedir ]; then

#ログファイル作成
touch $backupdir/rsync.log

#rsyncでバックアップする。
#書式はrsync -オプション /バックアップ元ディレクトリ /バックアップ先ディレクトリ

rsync -avhP $sharedir $backupdir --delete --log-file=$backupdir/rsync.log

#各オプションは、大文字小文字の区別あり。
#「-a」再帰的に様々な要素を複製する。ざっくり言うと、極力まんまコピーする。
#「-v」おしゃべり。
#「-h」単位を丸める
#「-P」進捗表示
#「--delete」オプションはバックアップ元ディレクトリとバックアップ先ディレクトリを比較
#バックアップ元から無くなっている場合はバックアップ先からも消去する。
#「--log-file」オプションは、指定先に対してログを書き出す。

else
 echo "DONT MOUNTED!!"
fi
以上で。

chmod +x backupusb.sh
で実行権限を付けて、
sh backupusb.sh
で実行。
cron等に登録するのも良い。

オプションに-nが入るとテストモード。

http://open-groove.net/shell/if-and-or/
とまんま同じところではまったので、リンクを残しておく。
要はif文で、●●かつ■■が正しい場合、はandではなくtest文の[]を&&でつなぐという。

http://inaz2.hatenablog.com/entry/2013/07/10/142129
がわかりやすい。

2015年11月9日月曜日

F-Secure問題の続報が酷すぎる

どうしたんだろう。

前のエントリから一転、トンデモリリースが出た。

11/4のニュースについての続報
https://www.f-secure.com/ja_JP/web/press_jp/news-clippings/-/journal_content/56/1082220/1423364


二文目
エフセキュアの社内のお客様情報や業務上知りえた個人情報が外部に漏えいしたという事実はありません。
ここが既に五文目と矛盾しているのだが、気にしない。
恐らくf-secureとしては触れたくないのだろう。
あくまでも、自社で収集した個人情報は漏洩していないとアピールしているのである。
そして当該(元)社員が行った行為は、業務時間外で且つ業務システムは使っていないと暗に示している、というところか。

三文目
エフセキュアはフェイスブックやその他SNSに登録されている個人情報を保持しておりません。
もし
http://news.mynavi.jp/news/2014/05/21/295/
で説明されているように、エンジンのみの提供で通知は全てfacebookからなのであれば、たしかに個人情報を持っていない可能性はある。
ただそうなると、今回炎上した理由の一つ(どうやってリストを作成したのか)を説明できない。

四文目
エフセキュア製品が、エフセキュア製品をご利用のお客様の個人情報を収集することは、いかなる利用形態においてもございません。
いやユーザー登録するでしょ、というツッコミが入ることを気にもせず言い切ったのは偉いと思います。

五行目
エフセキュアでは、今回公開されたとされるリストは所持しておらず、内容も確認致しておりません。
これが一番拙い点。
検証するためには内容確認は最低限必要。
問題が起こったにもかかわらず、それを調査する気は無いと断言しているようなもの。
そもそも手に入れようと思えば簡単に手に入るものなのに、である。
何故これを書いてしまったのか、その意図が兎に角つかみかねるところ。

六行目
なお、不適切なSNS利用があったとされている社員は、本人の意思により既に弊社を退職しております。
これは言わずもがな。海外ならこれで通用するのかも知れないが、日本だと反感を買うだけである。

何とも言えない、としか言えない。
日本でリリースする文章ではないのは明白だし、意図を掴みかねている。
下衆の勘繰りで想像するならば、敢えてこう書かなければならなかった会社内部の事情があるとしか思えない。

何にしろ、この一件は、兎に角これで幕引きをしたいというf-secure側の意図が見えるので、恐らく続報はもう無いだろう。
そして間違いなく言えることは、今後の案件でf-secure製品とサービスを利用する人は圧倒的に減るだろうということである。

追記
あまりにも納得いかなくてggったところ、大体同じように思っている人や政治家が見つかった。
http://abyssus.hatenablog.com/entry/2015/11/07/203647

https://samurai20.jp/2015/11/f-secure/

まあ日本人だとそう思いますし、そうしますよね。

ただ、英文だと
https://www.f-secure.com/en/web/press_global/news/news-archive/-/journal_content/56/1075444/1423376

なので、訳が正しければ、こちらの方がまともな文章にみえる。
ということは、水面下では動いているのかも知れない。

2015年11月5日木曜日

F-Secure問題に見る、顧客を安心させる秀逸なリリースの掲出

大変気になるニュースと感心したことがあったので備忘録として。

【エフセキュア株式会社】F-Secure社、久保田直己氏の情報漏洩事件
http://matome.naver.jp/odai/2144661883763922401
F-Secure(エフセキュア)の久保田直己氏が大量の個人情報漏洩で炎上
http://matome.naver.jp/odai/2144661266249874601

要旨としては、フェイスブックで特定の記事に対して「いいね(like)」ボタンを押した人の個人情報を、
公開/非公開にかかわらず収集してリスト公開したらしいというもの。

恐らく
Facebookがマルウェア対策を無償提供 - TrendMicro、F-Secureと提携
http://news.mynavi.jp/news/2014/05/21/295/
の一環で、顧客情報へのアクセスをfacebookがf-secureに提供しているから実現できたと思われる。

セキュリティ会社がセキュリティホールでしたというお粗末な話のようだが、f-secureのリリースが秀逸過ぎた。

04 11月 2015
弊社社員による個人的なソーシャルメディアの不適切な利用とされている件について
https://www.f-secure.com/ja_JP/web/press_jp/news-clippings/-/journal_content/56/1082220/1423363

まずタイトルから
弊社社員による個人的なソーシャルメディアの不適切な利用とされている件について
自分のところの従業員であることを認めながらも、個人が行ったことであるとしている。
これによって、会社側としての保険をまず担保している。また、あくまでもソーシャルメディアを利用したとして、
f-secureのシステムを使ってやったわけでは無い(のではないか)と示している。
また、「されている」という、未だ未確認である旨を示すことで、確定情報では無いと暗に示している。
これは上のf-secureのシステムを使ったかどうかも現状不明であるとも示しているが、文言としてのニュアンスで解釈するところ。
上手い。

一行目
エフセキュア日本法人の社員が、ソーシャルメディアの個人使用において、不適切な使用を行ったとされております。
こちらもタイトルの内容をそのまま繰り返しているが、微妙にソーシャルメディア(に紐付いたシステムを)個人使用したかも?ともとれる。ここは何ともいえない歯切れの悪さでいい。

二行目
エフセキュアは、社員の行動規範には厳しい基準を設けており、本件を非常に重く受け止めており、現在この件について社内調査を進めております。
会社としてはあり得ない話だから、がんばって調査をしているよ、と社内コンプライアンスは完璧だが、一部の社員のせいでこうなったのだとアピールしている。
また、ここで現状の確定報告(社内調査中である)している。タイトルに対するリリースとしてはここが本旨だったりする。

三行目
また、当該社員によるエフセキュア重要データ等へのアクセスは行われておらず、本件によるお客様へのエフセキュアのサービスやデータに影響はございません。
ここが秀逸。
あくまでも「エフセキュア重要データ等へのアクセス」はされてなく、且つ顧客に提供しているサービス、及びデータは問題ない、安心してね、と書いてある。
裏を返せば、facebookのデータ(facebookから提供される個人情報を含めた諸々)は知らない(調査中だ)ということ。

そのあとは謝罪文と問い合わせ文。

ぱっと見だと「ああ、問題ないんだな」と思わせる(実際f-secure製品としては問題ないという)リリース。
かなり参考になった。

要点は
・まず分からないことは分からないようにする(伝聞や想定であるとアピールする)。要は、徹底的にはぐらかす。
・現状は断言する。二行目の文章。強い企業の姿勢もアピール。
・実際問題ないところは問題ないとアピールする(言い方は悪いが、話を上手くすり替える。今回の件だと、facebookの個人情報の件は調査中であると言っているので、文章としてもリリースとしても全く問題が無い)

かな。

個人的には痛い話。
F-Ssecure製品を購入するという選択肢が無くなってしまう。セキュリティ企業で無ければ、未だよかったのにとつくづく。
企業コンプライアンスって大事ですね。
特にマイナンバーが始まるので、もしかしたらSophosが全取りするんじゃないかと密かに思っていたり(まあ、なさそうだけど)。
また、どうやって非公開の個人情報を抜いたらしいのかが一番気になるところ。想像通りfacebook←→f-secureのデータ融通なのであれば良いけど。

今後のリリースも練られたものが出るはずなので、続報を待つことにする。

続報
http://roserogue.blogspot.jp/2015/11/f-secure_9.html
酷い。

2015年7月4日土曜日

cache.google.com

この忌々しきgoogleのトラフィックはいつも僕を悩ませる。

人がいるときにcache.google.comに対するトラフィックが半端ないのである。
何かと思ったら、
http://www.ozonesolutions.com/programming/2011/07/cache-google-com/

なんとyoutube。
80番で通信してるんですね。
ということは、やっぱりまだ動画がダウンロードできるということなのか。