2020年 11月 20日
三菱電機のMicrosoft 365に不正アクセス、取引先情報8635件流出
2020年 06月 05日
202x 年 Windows 最期の日


最大のライバル Apple は手ごろな価格の iPhone SE や、iPad の低価格版を販売し、モバイル、テレワーカー、教育関係者から大きな支持を得ていた。これらは、軽量で低価格でも快適に作業ができた。
2020年 02月 29日
SUSE Linux 15 (openSUSE Leap 15)の vncserver,VNC接続をする。
MovaXterm で Mac の VNC 接続を始めたら、やめられなくてもう一度、 vncserver の事を、復習してみます。
参考ドキュメント
8 VNCによるリモートアクセスhttps://documentation.suse.com/ja-jp/sles/15-SP1/html/SLES-all/cha-vnc.html
tigervnc がインストールされているか。YaST > Software Manegement で確認して、なければチェックしてインストールします。 opensuse151:~ # vncserver --helpusage: vncserver [:<number>] [-name <desktop-name>] [-depth <depth>][-geometry <width>x<height>][-pixelformat rgbNNN|bgrNNN][-fp <font-path>][-fg][-autokill][-noxstartup][-xstartup <file>]<Xvnc-options>...vncserver -kill <X-display>vncserver -list上の SLE15 のマニュアルにはこんな簡単な説明がありました。
手順 8.2: vncserverを使用した永続的VNCセッションの開始 REPORT DOCUMENTATION BUG#1. シェルを開き、VNCセッションを所有するユーザとしてログインしていることを確認します。2. VNCセッションで使用されるネットワークインタフェースがファイアウォールで保護されている場合は、ファイアウォール内でセッションによって使用されるポートを手動で開く必要があります。複数のセッションを開始する場合は、一連のポートを開くことができます。ファイアウォールの設定方法の詳細については、Chapter 16, Masquerading and Firewallsを参照してください。vncserverは、ディスプレイ:1にはポート5901、ディスプレイ:2にはポート5902という順序でポートを使用します。永続的セッションの場合、VNCディスプレイとXディスプレイは、通常、同じ番号です。3. 1024x768ピクセルの解像度と16ビットの色数でセッションを開始するには、次のコマンドを入力します。vncserver -alwaysshared -geometry 1024x768 -depth 16vncserverコマンドは、何も指定されない場合、未使用のディスプレイ番号を選択し、その選択内容を出力します。追加オプションについては、man 1 vncserverを参照してください。
opensuse151:~ # vncserver :0You will require a password to access your desktops.Password:12345678Verify:12345678Would you like to enter a view-only password (y/n)? nNew 'opensuse151:0 (root)' desktop is opensuse151:0Creating default startup script /root/.vnc/xstartupCreating default config /root/.vnc/configStarting applications specified in /root/.vnc/xstartupLog file is /root/.vnc/opensuse151:0.logopensuse151:~ #
※ desktop is opensuse151:0の ":0" に注意
※ 因みに SLES11, 以降の XEN/KVN の仮想 HVM を使っている場合、 lib-virt が使っているので vncserver :0 などの低いディスプレー番号は使えないようです。二桁以上のディスプレイ番号を使うと上手く動きました。あるいは、単にディスプレー番号を指定せず vncserver .... を実行すると、最初に空きがある番号に自動的に割り当てられます。
sle15:~ # vncserver :10 <-- 怒られたA VNC server is already running as :10sle15:~ # vncserver :11 <-- 11 番は使えたNew 'corsair:11 (knakaj)' desktop is corsair:11Starting applications specified in /root/.vnc/xstartupLog file is /root/.vnc/corsair:11.logsle15:~ #sle15:~ # vncserver <-- 番号を指定しないで単純起動New 'corsair:6 (root)' desktop is corsair:6 <-- :6 が割り当てられたStarting applications specified in /root/.vnc/xstartupLog file is /root/.vnc/corsair:6.logsle15:~ #
MobaXtermhttps://mobaxterm.mobatek.net
Session > VNC (必要に応じて "network settings" タブで SSH gateway 経由をチェック) で VNC 接続できました。 接続を切ります。
opensuse151:~ # ps ax | grep vnc*14306 pts/0 Sl 0:01 /usr/bin/Xvnc :0 -auth /root/.Xauthority -desktop opensuse151:0 (root) -fp /usr/share/fonts/misc,/usr/share/fonts/75dpi,/usr/share/fonts/100dpi,/usr/share/fonts/Type1 -geometry 1024x768 -pn -rfbauth /root/.vn /passwd -rfbport 5900 -rfbwait 3000015198 pts/0 S+ 0:00 grep --color=auto vnc*opensuse151:~ #opensuse151:~ # vncserver -kill :0Killing Xvnc process ID 14306opensuse151:~ #
Finder > 移動 > サーバーに接続 > URL に
vnc://IP_Address:590n
(n は vncserver を立ち上げた時に指定した :0 のディスプレイ番号のパラメータ)
デフォルトでは 5900 番台のポートが使われるので、いたずら対策にこのポートを変えておく事です。/usr/bin/vncserver スクリプトの
$vncPort = 5900 + $displayNumber;
の行を任意の違うポートに変えておくと良い。 あるいは "vncserver :1000" の様に、一桁多いディスプレイ番号を割り当てる。
- ファイアウォール
ファイアウォールはポート 5900 から開けておくこと。勿論、 vncserver のポートを変えた場合ほそのポートを開ける事になります。
接続するパスワードは vncpasswd コマンドで変更され。 ~: .vnc に保管される。もし動作が妖しければ、このディレクトリの中を削除すればリセットされる。vnc パスワードは最長8バイトであり脆弱である事に注意します。頻繁に変えるか、使う予定がなければ vncserver を立ち上げっぱなしにしない事をお勧めします。(そういう時に使いたくなるんですけど....)
opensuse151:~/.vnc # vncpasswdPassword:Verify:Would you like to enter a view-only password (y/n)? nopensuse151:~/.vnc # ls -ltotal 64-rw-r--r-- 1 root root 332 Feb 27 14:56 config-rw------- 1 root root 8 Feb 28 13:24 passwd-rwxr-xr-x 1 root root 639 Feb 27 14:56 xstartup-rw-r--r-- 1 root root 34652 Feb 28 11:12 opensuse151:0.log-rw-r--r-- 1 root root 6 Feb 28 11:09 opensuse151:0.pid-rw-r--r-- 1 root root 8788 Feb 27 18:10 opensuse151:1.log
vnc プロトコルは、telnet 同様、暗号化されない平文通信なので、デリケートなケースでは安易に使わない事。 SSH によるポート転送との組み合わせを勧めます。少なくとも MovaXterm には VNC 接続の中に SSH ゲートウェイの設定があるのは単純にすごい。Mac の ”画面共有” は暗号化されないので注意。SSH トンネリングする方法があるので "mac vnc ssh トンネル" などで検索してください。
一つしかないモニタに複数のホストを扱う事は、システム管理にとっては便利な機能です。しかし、vncserver を改めて研究してみると、そこには大きな脆弱性や欠陥が見えてきました。便利な反面、セキュリティホールでもあるんですね。今回は Windows の RDP については説明はしませんが、やっぱり RDP 接続も脆弱性があるので、何だかなぁ、という気分です。事業所内のプライベートネットワークであればまだしも、「働き方改革」なんかで、自宅からリモート接続したい、などの要求は高まるばかり。利便さと脆弱性との両立って難しいのです。ますますインフラ系の技術者にとっては厳しい要求があるのですね。
2020年 02月 26日
Windows から Mac へ MobaXterm で VNC デスクトップ共有接続
あまり使わない Mac mini が、ほとんど iTunes マシンとなっているのですが、ライブラリを切り替えるのが面倒くさくて、つい同じライブラリを聞き続けています。ライブラリ切り替える度にキーボード引っ張り出して、モニタをHDMIに切り換えて、ってやっていたのですが面倒です。Mac の画面キャプチャも、撮っては、NASに保存して、GIMP で加工してって面倒だし、いい方法がないかと考えていました。という事で、MovaXterm を使って VNC 画面転送をしします。
Mac 側は「システム環境設定」から「共有」の画面共有を有効にします。また、Mac 側の IP は固定するか、事前に ifconfig で、IP アドレスを調べておく必要があります。 ip a コマンドじゃないのね... 「画面共有」を有効にするユーザに「アクセスを許可」させて、VNC接続するパスワードをセットします。
mobaXterm はこちらからダウンロードしてインストールします。openSUSE のアプリケーションをWindows からGUI操作する。MobaXtermmobaXterm がを起動したら、"Session" を開き、"VNC" 接続します。その時、Mac 側の「画面共有」パスワードをセットすると VNC 接続ができます。
どーんと Mac のデスクトップが Windows 側の MobaXterm のウィンドウ内にフルサイズで表示されます。サイズの変更も簡単だし "Fullscreen" 表示にも切り替えられます。
Dock が四角いのは、ご愛敬ですが、iTunes の操作程度では、何のストレスも感じません。iMovie とか Quick Time とかはさすがに VNC では無理がありますが、ちょっとした操作であれば、「大体使える」レベルです。こらなら、普段使いは Windows のヒトでも、「Mac もたまには使う」ヒトにとっては作業スペースの節約にもなります。勿論、Macのための SSH のテキストターミナルも使えます。
普段、SUSE Linux を操作するために MobaXterm を使って Linux のための X サーバー(端末)、 SSH ターミナル便利だなと思って使っていました。色々ひっくり返して突きまわると、こんなに強力、多機能だったとは気が付きませんでした。すまぬ MobaXterm よ。これなら Pro 版買ってもいいくらいです。もうWSLもいらないくらいです。
2020年 02月 24日
ファイル名とパスの最大長の色々

SUSE に限らず多くの Linux ディストリビューションや UNIX 系では getconf コマンドで NAME_MAX を調べてみると良いでしょう。 255 バイトで、最後の一文字は NULL なので、実質 254 バイトになるはずです。誤っていたらコメントください。これは posix 準拠のためなんでしょうね。
sle15:~ # getconf -a | grep NAMENAME_MAX 255_POSIX_NAME_MAX 255LOGNAME_MAX 256TTY_NAME_MAX 32TZNAME_MAX_POSIX_TZNAME_MAXCHARCLASS_NAME_MAX 2048HOST_NAME_MAX 64LOGIN_NAME_MAX 256sle15:~ #
IBM の資料ですが、getconf の詳細はこちらをご参考ください。
getconf — 構成値を取得する
Samba や NAS などでは 255 「バイト」、Windows では260「文字」。長いファイル名は Samba では使えないわけです。
長いファイル名を扱うことができない
ただし、これは「ファイル名の制限」で、limits.h によるとパスも含める 4096 バイトの様です。これはファイルシステムフォーマットの問題ではなくシステムAPIによる制限です。
最大パスサイズは「バイト」で日本語でパスを作成する場合、UTF8 では3~4バイト使うため、「日本語の文字数」に注意が必要です。
opensuse151:~ # cat /usr/include/linux/limits.h | grep PATH#define PATH_MAX 4096 /* # chars in a path name including nul */opensuse151:~ # getconf -a |grep PATHPATH_MAX 4096_POSIX_PATH_MAX 4096PATH /bin:/usr/binCS_PATH /bin:/usr/binopensuse151:~ #
実際にプログラムを書いて試したヒトがいました。中々面白いプログラムです。
Check File Systems maximum path depth
Now run it:$ time ./createDirectoriesreturn code : -1Created sub-directories : 1018length of pathname : 4096real 0m0.281suser 0m0.004ssys 0m0.180s
私の openSESE Leap 15.1 の環境では若干違いがありました。
opensuse151:~/test # ./ptestreturn code : -1Created sub-directories : 1022length of pathname : 4098
※ 1023 バイト説もありますが、その根拠が分かりませんでした。コメントいただけると幸いです。
ファイルサーバー専用OSの Novell Open Enterprise Server (OES)では、ファイル名そのものは16ビット Unicode で 255 文字、フルパスは 1023 文字です。6.4 Naming NSS Storage Objects
6.4.2 Number of Characters AllowedFor the NSS file system, the maximum length supported for a filename (the name and file extension) is 255 16-bit Unicode characters. The maximum length supported for the full path name (which includes the volume name, directories, filename, extension, and delimiters in the path) is 1023 16-bit Unicode characters.However, different tools, applications, and file systems place different limits on filenames and path lengths, some of which can be more or less restrictive than these limits.
16bit Unicode でパスも含めて 1023 文字です。もっとも、それだけの長さを扱えるソフトウェアやアプリケーションがあるとは限らないのでマウントしたシステムによる、という事です。標準的なシステムより、長いパスを作ってマルチベンダー対応、という事なのですが、良くある話でマルチベンダー固有のトラブルも抱えます。なお、上の記事は、OES2018 のNSSなので OES2 以前のバージョンや NetWare カーネルでは 255 文字という記述もありました。多分ファイル名だけの制限でしょう。
NTFS の概要
拡張パスのサポート: 多くの Windows API 関数には、MAX_PATH 設定で定義された 260 文字のパスの上限を超える約 32,767 文字の拡張パスを許可する Unicode バージョンがあります。
最大 32,767 文字が MAX_PATH 変数によって 260 文字(パスも含む)に制限されています。この数値は Win32 の制限によるもので、グループポリシーで変更できます。> gpedit > コンピュータの構成 > 管理用テンプレート > システム > ファイルシステムに "Win32の長いパスを有効にする" を有効にして > gpupdate を実行します。 例えば、サーバー上の "D:\(フルパス含めて全部で260文字).txt" をネットワーク共有で "\\server\my-long-share\(共有名を含めると260文字超えちゃった).txt" でアクセスする場合などにはこの制限を撤廃すべきでしょうか。やはり「255文字前後が一般的な壁」なので、濫用は要注意です。バックアップからのリカバリなどでも、このファイル名の長さ制限でリストアできないファイルがある場合も考えられます。Windows Server -> Samba でバックアップエラーが起こるとややこしい事になりそうですね。Linux側では、4096(NULL含) のパスの長さなので、 Unix 系OSや macOS とファイル共有すると、ファイル名の長さで Windows からアクセスできないケースも出てくるわけです。
Wikipedia によると
最大ファイル名長255文字(UTF-16での文字数。Appleが改変したUnicode正規化形式Dに正規化される)https://ja.wikipedia.org/wiki/HFS_Plus
残念ながら、パスを含んだ最大の数字は見つからなかった...ので getconf してみました。
etesian-mini:etc uhoge$ uname -a
Darwin etesian-mini.local 19.0.0 Darwin Kernel Version 19.0.0: Thu Oct 17 16:17:15 PDT 2019; root:xnu-6153.41.3~29/RELEASE_X86_64 x86_64
etesian-mini:etc uhoge$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.15.1
BuildVersion: 19B88
etesian-mini:etc uhoge$ getconf NAME_MAX /
255
etesian-mini:etc uhoge$ getconf PATH_MAX /
1024
etesian-mini:etc uhoge$
どうも macOS X 10.15.1 では、ファイル名の長さは 255(NULLを除いて254)バイト、最大パスは 1024 ということになりそうです。古いHFSの場合は31文字です。また、AFP を使う時も 31 文字のよう。
色々調べてわかったのは....
- 大体のシステムでは2020 年現在 255 文字前後のUTF16、またはバイトが、ファイル、ディレクトリ名で使える- バイトの場合と UTF16 の場合がある。- Unix 系システムでは、ディレクトリパスも含めて、4095(+null) で 全部で4096バイトのようだ- Unix 系システムで Samba を使う場合、長いパスは Windows からアクセスできない場合がある。- ただし OS が扱うファイル名の文字コードが UTF16 であるとは限らない。最近は大抵 UTF8 だったりする- Windows10 系は 260 文字だが、「初期の Windows は 254" バイト"」だったりでバージョンによってはバラバラ。- Windows10 系のパスの長さ制限は「拡張パス」という秘密の扉を開けると32,767 文字まで使える- システムが使う文字コードが Shift-JIS だったり、Unicode だったり、UTF-8 だったり EUC だったりするとどうなるか不明- 日本語コードに慣れたプログラマとはトモダチにになっておくべきだ。- バイト数と UTF16、UTF8、の「文字数」とは違う事をエンドユーザに説明するのはインド人にウナギを食わせるくらい難しい- 特に文字数とバイト数の違いに注意。chars が、いわゆる char 変数なのか、文字通りの「非アルファベット」の複数バイトの文字数(letter数)なのか- 職場を辞めたヤツが、Mac からファイルサーバーの日本語フォルダの深さをチャレンジ、しかも読み込み専用のフラグを立てて退職したことを思い出した。頭にきた。- 長くて深いディレクトリ名、ファイル名をユーザは使わないで欲しい。ってか、よくそんな面倒なことするなよ。- ファイルシステムに制限がなくても(no limit) OS の API 制限に引っかかることが多い。Windows のエクスプローラは「アプリケーション」である。- アプリケーションからアクセスできないファイルは夜作られる。- ファイル名とパスの長さは、誰か Wikipedia に記事を書いてまとめて欲しいくらい、面倒である。
他にも文字コードの違いや機種依存文字、使えない記号符号特殊文字などもあります。これはまた別の機会に調べてみます。
コンピュータ名(ホスト)の命名規則? 15文字の63バイト制限、ホスト名の命名権利はだれの責任?
2019年 12月 07日
クラウド時代の激震!リース終了サーバーのHDDがオークションに、ユーザ企業は..
神奈川県、行政情報に大量流出懸念 廃棄機器転売され"県のサーバーを更新した際、取り外されたHDの廃棄を委託された事業者の社員がデータ消去の不十分な状態で一部を持ち出し、ネットオークションで販売した。データ量は最大54テラバイトに上る可能性があるという。"
"出品されたHD18個の半数は県が回収したが9個は未回収という。"
全部で18個の半分回収済み、半分の9個行方不明、合計18個、ここに 54Tbなら 54Tb/18玉=3TbのHDD
「なんだこれは…」と絶句 HDD落札男性が見た中身
「SAS Raidじゃないな」
空中分解したスペースシャトルから地上にたたきつけられたハードディスクのデータを復元Novell Storage Service
データの完全消去
1. 乱数書き込み3回2. 最後に Null 書き
1. # dd if=/dev/urandom of=/dev/sda2. # dd if=/dev/urandom of=/dev/sda3. # dd if=/dev/urandom of=/dev/sda4. # dd if=/dev/zero of=/dev/sda
openSUSE Leap 15.1 の Live USB で「初めてのどこでも Linux」の作り方
2019年 11月 04日
コンピュータ名(ホスト)の命名規則? 15文字の63バイト制限、ホスト名の命名権利はだれの責任?
数十年前に初めて、お客さんのネットワークシステムを構築したとき「コンピューター名どうしましょ」となった時に「ま、花鳥風月でいいんじゃないっすか?」と申し上げた事がありました。コンピュータ、ホスト名の命名規則のお話です。
※ちなみに英国海軍の場合は、必ず正式名に HMS が付きます。カナダ海軍は HMCS です。艦船接頭辞と言うそうです。
そこで戦後に初めてアメリカの GM が作った小型スポーツカーにつけられた名前が「コルベット」。
旧日本海軍では軍艦の命名規則は、律令時代の「国名」が戦艦、「河川名」が巡洋艦。空母は「喜ばしい架空の鳥の名前」駆逐艦は「洋上の自然現象」と決まっていたようです。
ま、余談はここまで。「花」はこんなものですが、「鳥」は何だかメンド臭そう。「月」は moon 以外に見つからず、じゃ「風」の名前はどうなんだろうと調べたら、結構、コンパクトで魅力的な風の名前(地方風)の語には蠱惑的な単語が結構あるんですね。
List of local winds
特にヨーロッパ古代から中世史に興味があったので、地中海の船乗りに関する「風の名前」「船乗り用語」「船乗りが嫌がるもの」など地中海の船乗りが使う語彙が豊富になりました。という事で、ウチのコンピュータや Wifi の SSID なんかには、いいも悪いも含めて地中海の船乗りになじみのある自然現象などの名詞が使われています。ちなみにSSIDの文字列の最大長は32バイトだそうです。そういえば、電車の中でスマートフォンのSSIDを変えて、見知らぬ他人と会話する、という話が一時期話題になったように、2バイト文字も使えますが、お勧めはできません。
WifiのSSIDで隣人とコミュニケーションしよう
軍艦の命名規則には、それぞれお国柄があるようです。特に海軍国である英国艦艇の補助艦には、フラワー級だけではなくリバー級とかタウン級なんて命名規則がありました。アメリカ海軍の場合 USS で始まり、州の名前とか政治家とか、頑張って戦死した二等水兵の名前とか。ま、そのうち風の名前のセンスに苦しんで、コンピューターのホスト名には北欧の物語に出てくる妖精の名前をかたっぱしから付ける様になりました。英国空軍の機種名やエンジンの名前によく使われています。英国人のセンスですね。名前を見るとユニークでインパクトがあるものをよく見ます。
- あわせて読みたい -
ユーザアカウント名は8文字以内にすべきか?ユーザの命名規則の理由
社内ネットワークが構築され始めたころ、良く客先で見かけた命名規則が「星の名前」や「ギリシャ神話の神」をルールにしているところが多かった。これは単純に使いやすいのと、ゲームの主人公なんかによく使われるんですね。どうも、「天体名」は人気があるそうです。でもその名前の由来を調べたら、縁起の悪いものもあるので、気を付けたいところです。こういった命名規則を作った趣味人の命名規則。例えば、片っ端から「ガンダム名」にしてしまうと、
「シャーが死んだ」とか「ザクにバグがある」「ホワイトベースが堕ちた」
なんていう楽しい会話ができます。私にはそんな趣味ありませんけどね。まぁ”ウルトラマンに出てくる怪獣の名前”とか、ま、やめときましょう。最後には倒されるンですから...フォネティックコードを使うのも一つのアイディアです。短くて誤読、認識性が高い。さすが軍隊の通信に使われるだけあってよく考えてある。ですが、欠点はアルファベットの26種類しかない事。
明確で単純ですがあまり人気はありません。自社の製品名、自社のサービス名を使うケースもあるのですが「xxx(自社製品名)が死んでいる」とか「xxxがおかしい」なんて会話が飛び交うと、社内で変な誤解を生んでしまいます。あまり流行らないようですね。また、プロジェクト名などを付けると、後でそのプロジェクトがポシャって、プロジェクト名が付いたホストが残ると淋しいものです。また、いくら花鳥風月でも "chrysanthemum" (菊)なんて言うような、舌を噛むような難読名は命名規則には避けるべきでしょう。私なら「薔薇」って書けません。植物の名前は豊富ですが、微妙な花言葉だと、使う側もビミョーな気持ちになります。でも語彙は豊富です。鶏の名前は英語だとピンときませんね。
List of garden plantsList of birds of Japan
ここでリストアップされた単語は、アクセントや綴りに重複や読み間違えを生みにくい4~7文字の単語のリストです。1626語ありますから選択は自由です。命名規則に関わらず、任意にコンピュータ名に付けたい時には参考になるリストです。
これは、どこの現場でも良く見る命名規則です。通し番号は最低2桁、できれば3桁の通し番号を付けます。この方法のメリットは、 # grep | sort した時に見やすい事です。
例えば
- PRNnnn - プリンタ
- WPCnnn - Windows 端末
- DNSnnn - DNS サーバー
- APSnnn - アプリケーションサーバ
- FSVnnn - ファイルサーバー
ただ、これだとユーザや管理者から即時認識できないので、[SRV+nnn+PANSY]の様な、共通接頭辞+ユニークで機械的な通し番号+ユニークな愛称はいいアイディアだと思います。愛称があると判りやすいし、Nattou とか Umeboshi なんてミヤビな名前があれば愛着も沸くものです。でも、自分のPC名が「鶏レバー」だったら愛着は湧きませんが....実際、意味のない文字列+数字の場合は担当者はさておき、協力会社の担当者さんやエンドユーザは即座に識別できないので、何等かの愛称があると識別性が高いという事になります。ホスト名は「記号化」してしまうと、認識度が低くなり、伝達性を損ないミスタイプを誘います。一意にするための"記号+理解可能な単語"の組み合わせが良いだろうと思いますけどね。まぁ Linux の場合、ホスト名が影響するのは Samba の Netbios 名程度(設定でホスト名とは違う名前を付けられる)で、後は DNS 名ですから、 DNS 名の命名規則と異なる機械的な命名方法でも構わないでしょう。
テスト用だから、"SVtest001" なんて名前を付けるのはいいアイディアとは思えません。作り込んで本番運用するときに至って、名前を書き換える手間を考えると恐ろしいほどの後戻りが発生します。 いつまでテスト用なンだ? ってことになります。
「NetBiosの都合」というややこしい制限があるので、それぞれエンドユーザさんが使うPC一台一台には工夫が必要でしょうね。クライアントPCはネットワーク上では、将棋の「歩」です。それぞれの足軽は「姓」を名乗らない「歩」なので「貫太郎」とか「強右衛門」の様なユニークな名前を与得る場合もある訳です。私も自分のコンピュータ名を「タマちゃん」と呼んでいた時期がありました。英米の海軍でもこれらの「歩」の様な哨戒艇などには とか PT-109 の様な、記号+通し番号が正式名称だったのですが、実部隊の現場ではお互いを「愛称」や「コールサイン」「 MTBnnnペナントナンバー」で識別していたようです。所詮「足軽」なので、端末は3~4年で入れ替わってしまいます。永続的にホスト名やIPアドレスが使われる、DNSやメールサーバーの様に厳密にする必要はありません。端末のホスト名は、アセット管理とヘルプデスク、ワークグループの使い勝手を優先目的とします。「PC+導入年度下二けた+シリアル番号(SKU)下4けた+数バイトの認識名」とかも良いでしょうか。認識名としては、3バイトの空港コードのように短くて聞き間違えがなく認識性が高いものが良いでしょう。「WPC+3桁の通し番号+3桁の空港コード(HND-羽田,CTS-千歳,NRT-成田)」などです。桁が揃った一意の綴り3文字なので、応用が利きそうです。3文字だと記号っぽいので、5文字の英単語(名詞)とかも桁が揃ってよさそうです。ただ、あまりに不吉だったり、非常識な単語は避けるべきです。修理でマザーボードを交換したとか、USBドングルアダプタで有線化した場合はMACアドレスが変わります。IP や MACアドレス、利用者名などを使うと何れ破綻します。
例えば通し番号を数字二けたとすると 00から99 までの 100 個の個体を識別できるわけですが、これを16進数にすれば 00 ~ FF まで二けたで 256 個の個体を識別できます。 256 はクラスCのひとセグメントですから、大体の中小組織では十分な数です。3桁 000 ~ FFF を使うと全部で 4096 の識別個体を作れます。中堅企業以上では、これで十分ですね。ただし3桁の先頭文字にアルファベットはつかわないのがいいでしょう。000 ~ 9FF までです。また、不吉な数字は欠番にすべきかもしれません。中華系のユーザのPC符号が WPC4444 だったり、まじめなカソリック教徒にWPC013というPCを与えるのはいかがなものでしょう。13番が似合うのはゴルゴ13くらいです。
OS 種別を命名規則に取り入れると、例えばWindows で動いていたサービスを Linux に置き換えた場合はちょっと面倒なことになります。また機器のベンダー名や型番を命名規則に使うと機器のリプレースの時に面倒な事になります。設置したオフィスや部門の所在地を使うと、オフィスが移転したときに問題となります。nnnn の通し番号に IP アドレスを指定している所がありました。リーズナブルなようで、後でハードウェアのリプレースで問題となります。あまり IP や Mac アドレスをコンピュータのホスト名に使うべきではないと思います。仮想化時代なのでいずれ破綻します。また、「会社名」も避けるべきです。会社名なんてしょっちゅう変わるものなんですね。Windows ドメイン名に「会社名」を付けてすぐに買収されて、泣く泣くドメインを再構築したお客さんがありました。
「社内向けドメイン?」何ンか変だな。まぁ Microsoft Active Directory を始めとして、イントラネット向けのドメイン名なんですが、".local" は禁忌ドメイン名です。絶対に使ってはいけません。間違っても AD では ”mycompany.local” で作ると問題がありそうです。Google 大魔神の投票結果なので、探してみてください。そもそも、"mycompany" という、アナタの所属する組織名は移ろいやすいのですね。ローカルネットワークで使うFQDNに含まれる、ドメイン名、ホスト名はもう少し真面目に考えてもいいのではないのかなと思います。例えばですよ、あくまでも例えば。社内向けのDNSのADのローカルドメイン名に local.google.com なんてオレオレドメイン付けてしまって、prn01.local.google.com に印刷してしまった場合、オレオレじゃない本物の Google さんの prn01.local.google.com から極秘文書がジーコジーコとプリントアウトされる可能性があるのですね。ま、考えにくいけど。だから、社内向けのドメイン名は、インターネットにおいてユニークで唯一無二で、しかも将来においては他人に使われない、変更される可能性がないドメイン名を指定すべきでしょう。会社名.com なんかはよした方がいい。どうせ会社名なんて、いつCIされて変わってしまうかわからないのです。その後 Windows ドメイン名を変えてしまうのは恐ろしく手間がかかる作業になってしまうでしょう。これは社内ドメインの工夫。アクティブディレクトリの命名規則のポイントですね。だから、Active Directory のドメイン名に組織名はつかうべきではないと思うのですが、唯一無二という事なら、思い切って”花鳥風月”の一般名で公式な名詞をオレオレなインターネットドメインを取ってしまい、そのサブドメインをイントラネット用ドメイン名にしてしまえば、社名が変わっても将来にわたって使えるわけですね。.NET とか .SITE とかはかなり安く取得できるので、例えば pansy.site なんかを1円で取得して fsv001plum.ad01.pansy.site というドメインやFQDNを AD や社内向けサービスの名称にするというのも思い切った手段です。これなら会社名が変わろうが、組織が改変されたり、引っ越しても使い続けられます。zzzzzzzz.com みたいな単純なドメインでも格安です。
オレオレドメインがもたらす当たり前な問題
FQDNではゾーン名を含め1バイトから最大253文字です。FQDN は hostname.mydomain.com となりますが、ドットの間の「ラベル」に使われる最大文字数は63文字です。従って、「コンピュータのホスト名」の公約数は「1から63文字以内で、かつFQDNも含めて253文字に収まること」がまず条件になります。SUSE Linux では getconf コマンドで確認できます。Linux のホスト名は最大で64バイトですが、最後は Null なので63バイトという事です。suse15:~ # getconf -a | grep HOSTHOST_NAME_MAX 64suse15:~ #ラベルに使われる文字は、英数字とハイフン、ただしハイフンは「ラベルの先頭と末尾」には使えません。基本的には使わないのが無難。 Windows では "_"(アンダースコア)も利用可能ですが、他との公約数として"_"も Windows でも使わない方が無難でしょう。Windows DNS では AD 環境で動いてしまいますが bind DNS と混在する環境では確実にトラブルが起こります。この63文字の文字制限は hostname コマンドのマニュアルには記載がないのですが、 limit.h に定義されているそうです。63文字以内です。ドメイン名の構成ただし、いくら 253 文字使えるとは言え、長すぎる FQDN 名は避けるべきでしょう。解りやすく、短くが原則です。そもそも文字列が長いと、タイプミスしやすいし、メンドクサイものです。
重要なのは、命名規則で使える文字種、最大、最小文字数などは、&&条件で最小公約数で決める事です。Windows や Netbios で許されても、FQDN の条件に合わない命名規則は、好ましいことではありません。Windows から、他のシステムに移行した場合に問題となる可能性があります。逆に 63 文字のホスト名が付いたシステムを Windows に移植したら、これも問題が出てきます。
Windows におけるコンピュータ名も同じく63文字の様です。
Enter your computer name
ただし15バイト以上の「コンピュータ名」はトランケート(丸められる)ようなので、15バイト以内が無難なようです。なぜなら、"Netbios" という20世紀に作られたDOS時代のレガシーなシステムの残骸を引きずっていて、 FQDN での制限である63バイトより、短い「Windows は15バイトのコンピュータ名」をつけた方が良い様ですね。しかもNetbios では特殊文字のドットも可能。勿論、ドット(ピリオド)はFQDNのラベルの区切りになるので、NetBiosでは許されてもコンピュータ名で使うべきではありません。だからADの命名規則では禁止されているという矛盾。また RFC では "_" (アンダースコア)は積極的に推奨されていないようなので、Windows では認められても使うべきではないようです。Active Directory におけるコンピューター、ドメイン、サイト、および OU の名前付け規則この Netbios 名の制限は、当然 Linux/Unix 系OSで使われる Samba にも影響しますから、 Linux で SMB/CIFS を使う場合は Linux のホスト名とは別に Netbios 名も英数字 15 バイトに収めるのが無難である、ということになります。もっとも BIND なんかで名前解決するなら問題ありませんが、Windows ガチガチなネットワークの場合、制限は「NetBiosに従え」ということになりそうです。
大体、コンピュータのホスト名の命名規則というのは、管理している人間の趣味で作られるものです。まぁほとんどはその場の思い付きなんですね。
例えば、先頭6バイトの文字規則(ナンバリング規)+愛称名の利用可能なリスト
命名規則の原則は、文書化と認証。必ず文書化して、担当マネージャーのハンコをもらっておく事です。
- grep | sort したり、正規表現での検索、スプレッドシートでソートしやすい様、先頭 4 ~ 6 バイトには特殊記号のない規則性を持たせる
- 基本は英数字のみ15バイト以内に抑える。もっとも短い方がいいのは勿論。
- 特殊文字は "-" ハイフン以外使わない、と言うより正規表現で特殊処理が必要な文字なので "-" , ”_” の利用も控える。
- 後半部には規則性のある任意のニンゲンが認識可能な文字を付け加えても構わないが、4~5文字に控え長い文字列は避ける。
- 数字で始まるホスト名は避ける。
- オフィスのストリート、住所、部署名、社名など、将来も使い続ける可能性がない略字、語句は使わない。
- 恥ずかしい名前や、難読性なもの、「そういう面白い趣味か」「不吉な単語」といった名前は避ける。
- IP アドレスや Mac アドレスの様な変化する可能性のある命名規則はそのうち破綻する。
- 愛称のストックは常にためておく事。花鳥風月、空港コード、フォネティックコードの様なリストを決めておく。
まぁ、RFC1178 に、べき論とべからず論があるので、一読しておくことです。
Choosing a Name for Your Computer
202x 年 Windows 最期の日ファイルサーバーをゴミ箱にしない工夫PCDAサイクルから考えるセキュリティポリシーの見直し

2019年 07月 01日
既に終った技術: Windows 10 S mode お前は既に死んでいる。
Windows 10 Mobileのサポート終了、移行先についての身も蓋もないアナウンスが話題に
2019年 06月 04日
初めての Linux, openSUSE Leap を Hyper-V で動かす。
ドイツの SUSE 社は、米 RedHat が IBM 傘下に入ってしまったため、 2019 年現在、世界最大の独立系のオープンソースソフトウェア企業となりました。かつては Novell 傘下だったり、Attachemate, Micro Focus などから出資を受けていましたが、現在はヨーロッパ・スウェーデンの投資組合、EQTのまとまった出資を受けた世界最大の独立系 OSS ソフトウェア企業です。SUSE Enterprise は有償 Linux のディストリビューションの中では世界で約 30% 程度のシェアがあるようです。openSUSE Leapは、主力製品、SUSE Linux Enterprise のいわゆるデチューン版のようなものです。
SUSE Linux という言い方は誤解を呼ぶかも知れません。SUSE が関連する Linux のディストリビューションには SUSE が後援する openSUSE と呼ばれるシンプルで無償のコミュニティ版と、エンタープライズ向けのバリエーションが豊富な SUSE Linux Enterprise (SLE) と呼ばれる有償版の二つのディストリビューションがあります。SLEは、SLES(Server)はじめ SLED(Desktop)から、SAP専用、大手クラウド事業者用など、数々のバリエーションに分かれています。SLE 15 より、openSUSE は SLE のコードを基に、テクニカルサポートやプロプラエタリなパッケージ、エンタープライズ向けのハイエンドな機能を削除して、インストーラをコンパクトに、無償化したディストリビューションが openSUSE です。
- アウトバーンの国、ドイツ製という事もあり、堅牢性、安定性はずば抜けている点。
- YaST という Linux 知らずの初心者にもベテランにも取っ掛かりの良い設定・管理ツール。
- モバイル環境から一般的なビジネス用途、サーバー用途にも使える高い汎用性
に特徴があります。また、「比較的新しいハードウェアでも問題なく動く」と割と評判はいいようです。2019 年5月現在、 openSUSE Leap は 15.1 が最新版です。SUSE Linux Enterprise は 15.1 がリリースノートで発表されていますが、まだ公式に入手できるのは SLE 15.0 が最新版の様です。openSUSE には openSUSE Tumbleweed と呼ばれるローリングリリース版と、安定版の Leap の二の種類があります。Tumbleweed は openSUSE/SLE の開発用テスト版の様なもので、初心者には向いていません。初心者がちょっと入門で Linux を触ってみたいのであれば openSUSE Leap 版を使ってください。わざわざ初めての Linux に、openSUSE Tumbleweed を選んでチャレンジして、Quita なんかで「openSUSE はバグだらけで使い物にならない」とボヤいて諦めるチャレンジャーさんが大勢います。そういう方は、是非バグ情報を openSUSE の開発者向けコミュニティで元気よくボヤいてください。自らソースコードを弄って改良すれば Leap 版にいずれ反映されるでしょう。初めての openSUSE は openSUSE Leap を選ぶのが定石です。--ちなみに SLE (SUSE Linux Enterprise)については、無料アカウント登録すれば、60日間の評価用サブスクリプションコードとインストール用のメディアを入手できます。SUSE 15 より openSUSE Leap 15 --> SLE15 へのアップデートがサポートされました。ここでは、コンパクトで無料、手軽に利用しやすい、2019/6 現在、最新の openSUSE Leap 15.1 について説明します。
openSUSE/SLE を特徴づけている機能が YaST(Yet another Setup Tool) です。そもそも openSUSE/SLE のインストーラ自体が YaST の機能の一部です。
ほとんどの Linux の管理を、このツールで行う事ができます。おかげで古本屋で買った時代遅れの Linux/Unix 管理者向けのアンチョコ本とはオサラバできます。 まず、SUSE Linux では、YaST で80%の管理、運用を行えるため、他のディストリビューションの様に、コマンドラインのヘルプや vi エディタと闘う事がありません。ある意味では Linux エンジニアのスキルキラーの様な高度なツールです。 おそらく Windows ユーザが初めて YaST に触れれば、驚くほど、キーボードタイプが少なく、マウス操作だけで多くの作業ができる事に気が付くでしょう。他のディストリビューションから乗り換えてみると、こんなに便利なツールはないのか、と思うはずです。 YaST自体はオープンソースなので、Oracle Linux などでもオプションとして用意されており、互換性がある CentOS の管理者さんが、強引に突っ込んだら「動いた」そうです。海外の Ubuntsu のフォーラムに "Ubuntsu で YaST を動かす方法はないのか" という書き込みも見たことがあります。
SUSE Linux 15 YaSTの基本 (openSUSE Leap, SLE) https://islandcnt.exblog.jp/238758768/
また、GUIが使えない、貧弱なWANのネットワーク越しでも、同じ機能をメニュー形式で使える CUI 版 yast コマンドもあります。ほとんどの操作を TAB, やカーソルキーで操作できる優れものです。 軽量なので、ちょっとした変更をしたい場合によく使います。 Windows は知っているけど、初めてだけど、少しは Linux も知っておきたいという程度からの、入門者には実に便利で「使えるツール」です。
openSUSE Leap 15.1
ダウンロードリンクには、DVDの ISO イメージ版と、ネットワークインストール用の二つのメディアがあります。ネットワークインストール版は、最新のパッケージがインストールされる事。ダウンロードサイズが小さい事がメリットですが、インストールがオンラインで行われるので、私の環境の様にインターネット回線が弱い場合、インストールに却って時間がかかったり、途中で止まってしまい、やり直す事も良くあります。ネットワーク版は、私は使ったことがありません。という事もあり、何度も練習するには、DVD版の ISO ファイルを一つ、ダウンロードしておく事をお勧めします。
手元のノートPCには Windows 10 Pro x64 には Hyper-V が用意されているので、ここでは Hyper-V を使って openSUSE Leap 15.1 をインストールしてみました。SUSE は Novell 傘下の時に、Windows と Linux の相互運用について協力体制を取りました。そのため、多くの Linux ディストリビューションの中で Hyper-V 上での認証された Linux の最初のディストリビューションです。という事で Hyper-V はもちろん、Asure 上で最も最適化されたバリエーションを用意しています。ここでは Hyper-V そのものの詳しい説明は割愛します。Hyper-Vは有効化しておきます。 Hyper-V Manager から「新しい仮想マシン」を作成します。1G バイトの仮想メモリ、 16Gb の仮想ディスクがあればとりあえずインストールできます。ウィザードの中で数値を適当に設定して進めます。 作成が終わったら、仮想マシンに接続して、「起動」します。インストールソースに DVD ISO を指定したので、インストーラが起動します。F2キーを押すと、言語設定リストが出てくるので、どうしても「ブート画面からニホンゴじゃなきゃ嫌だ」という場合は、F2キーから「日本語」を選んでください。openSUSE でサーバー運用する場合、日本語のドキュメントや、詳しい情報が少ないため、私の場合、英語でインストールしてから、第二追加言語を日本語にしています。SUSE Linux Enterprise Server (SLES) の場合、基本的にサーバー運用で、ヘルプ情報がほとんど英語になってしまうので、私は第二外国語で日本語フォントを入れる以外は殆ど英語版で運用をお勧めします。変に日本語のメッセージやログ、ダイアログが出ても、意味わかりませんからね。デスクトップを使ってみたいのであれば、日本語でインストールすると良いでしょう。
ここでは、初めてインストールする方に向けてポイントだけを説明します。実際のインストールの流れは、別記事にまとめてあります。そちらをご参考下さい。
openSUSE Leap 15 Install
15.0 > 15.1の差分として参考にしてください。
openSUSE Leap 15.1 インストール
openSUSE 15.1 のインストールの全体の基本的な流れはこちらの動画(音出ます)
Web LAMP を使いたい場合のインストール手順はこちら(音出ます)。 パーティションは分けてみました。
実際、OSのインストールから、Web Server の立ち上げまでのほとんどの作業を、マウスクリックで行える事に気づかれたでしょうか。DVD.iso のフルインストール版(3.7GB)を使ってインストールする場合、私はオンラインのリポジトリは使いません。すごく時間がかかるし途中で止まってしまう場合があります。
※ ファイルコピーの途中で止まってしまう場合があります。単に時間がかかっている場合もありますが2~3分待っても進捗しない場合があります。もう一度やり直せばいいだけなのですが、パーティションをフォーマットするので、本番環境の場合は、大事なデータは事前にバックアップしておきます。
openSUSE Leap のデスクトップは KDE を選ぶ人が多い様です。SUSE Enterprise Linux Server(SLES) は gnome のみです。私は SLES に合わせて使うので openSUSE をインストールする場合も gnome デスクトップを使います。どちらがいいのかは好みの問題です。「サーバー」を選んだ場合はデスクトップ環境がインストールされません。YaST の GUI 版を使うため、初めて SUSE Linux を使う場合も、本格的にサーバー化したい時も、 KDE か gnome デスクトップを選んだ方が良いでしょう。
インストールの途中で、ネットワークの設定はできません。デフォルトで DHCP です。また、コンピュータ名はランダムな名前が与えられるため、この二点を最初に修正します。YaST > System > Network Settings の中で、ホスト名、固定IP/DHCPの設定ができます。
※ openSUSE Leap 15.1 よりネットワーク管理が YaST(Wicked) ではなく、モバイル環境を考慮してデフォルトでデスクトップのアプレット(Network Manager)から設定する様に変更されました。もちろん従来の YaST でも設定できます。私はモバイル環境で使うつもりがないので Wicked に変更して使っています。openSUSE Leap 15.1:ネットワークの設定はYaSTではなくアプレットで
openSUSE Leap 15.1 では 15.0 とはネットワーク設定のデフォルトが異なります。(音でます)
YaSTによるネットワーク接続の設定
YaST のネットワーク設定で、 hostname を設定する箇所があるので、ホスト名を任意に変更するには YaST のシステム > ネットワーク設定から変更します。こちらの動画では、一つ古いバージョン、 openSUSE Leap 15 のインストールから、HOSTNAME の設定、ネットワークやNTPの初期設定を説明しています。(うるさい音出ます)後半1/3あたりから、初期インストールの「その後」の作業の様子をキャプチャしました。
さて、そうこうしているうちに openSUSE Leap 15.1 がインストールされました。(やっぱり Hyper-V は KVM に比べて遅いなぁ)ここでは gnome デスクトップですが、検索ボックスから "yast" で検索すると、YaST アイコンが出てきます。一般ユーザでログオンした場合は、root パスワードが必要になります。それでは始めましょう。 LibreOffice もインストールされます。日本語入力もできました。Windows でも Mac でも Linux でも使える無料のオープンソース、LibreOfficce と GIMP は最強の組み合わせです。
今回は 「Hyper-V で使ってみよう」の提案なのですが、実際にはベアメタル環境やコンソールを繋がないサーバー運用もあるでしょう。 Windows 環境から openSUSE/SLE を管理するのに便利なツールを紹介しておきます。
Linux 管理者が持ってると便利な Windows 用ツールとは
個人的には movaXterm と winSCP があれば、おおよその作業は問題ありません。タマに putty と xLaunch を使う程度です。
これらを手元の Windows ノートブックに用意すれば、どこでも困ることは殆どないでしょう。
レンタルVPSでは、さくらインターネットが openSUSE Leap 15.0 を提供しています。他の ISV ではまだまだです。この点が日本市場での弱さです・
さくらのVPS カスタムOS「openSUSE Leap 15.0」「FreeBSD 12」提供開始のお知らせ
一般的ではないのですが、ビジネス・エンタープライズ向け Microsoft Azure などの海外の ISV では、普通に SUSE Linux Enterprise が対応しているようです。SLES の場合は、専用のバリエーションがあるので、それを使う事になります。もし、openSUSE についてもっと情報が欲しい方は、コメント残してください。今後のネタにしてみます。