ワークグループ設定のWindowsでは管理共有にアクセスできるのは「Administrator」だけ

Windowsがドメイン参加ではなく、ワークグループ設定である場合、そのホストの管理共有「ADMIN$」に対してアクセスできるのは、ローカルの「Administrator」ユーザのみとなっているようです。
「Administrator」という文字列以外のユーザが管理者とは認められていません。

別の管理用ユーザ(たとえばmachineadmユーザ)を作成し、管理者権限(Administratorsグループに参加)を与え、「Administrator」ユーザを無効化してしまった場合、ネットワーク越しで管理共有「ADMIN$」にアクセスできるユーザがいなくなってしまいます。

回避するには、UACを無効化する必要があります。
無効化することによって、Administrator以外のユーザ名を持つ管理者ユーザであっても管理共有「ADMIN$」に対してアクセスできるようになります。

このUAC無効化の操作ですが、Windows Server 2008R2の場合は、コントロールパネルから行って問題ありません。
しかし、Windows Server 2012の場合、コントロールパネルから設定を行ってもこの操作ができるようにはなりませんでした。

インフラSEの設定・構築メモ「[Windows] 管理共有 (C$, D$など) にビルトイン administrator 以外は接続できない

上記にあるようにレジストリを変更する必要がありました。
「HKLM¥SOFTWARE¥Microsoft¥Windows¥CurrentVersion¥Policies¥System」内のDWORD「EnableLUA」の値を「1」→「0」として再起動するか
「HKLM¥SOFTWARE¥Microsoft¥Windows¥CurrentVersion¥Policies¥System」内にDWORDで「LocalAccountTokenFilterPolicy」を作成し、値を「0」として再起動

Microsoftのオフィシャル記述としては全体的な解説を「Windows Server でユーザー アカウント制御 (UAC) を無効にする方法」(英語版)で行い、実際の設定内容についてはKB951016「Windows Vista でのユーザー アカウント制御とリモート制限の説明」(英語版 How to change the Remote UAC LocalAccountTokenFilterPolicy registry setting in a Windows Vista image)で説明しています。

全体的な解説にあるようにLocalAccountTokenFilterPolicyの設定変更はセキュリティ的なリスクがあるものとなりますので、注意が必要です。

なお、この制約は、ワークグループ設定のみです。
Active Directory参加(ドメイン参加)の場合は、この制約がありません。

ジャンクでDynaBook RX3 TM240Eを手に入れたのでWin10TPを入れた

秋葉原のジャンク屋をまわっていたら Core i5-520M(2.4GHz)搭載のDynaBook RX3 TM240Eが1万円、という値段で転がっていた。

CPU Core i5-520M(2.4GHz)
メモリ 2GB
HDD 160GB
13.3インチ液晶 1366×768
(DVDは内蔵されていないモデル)

と、十分なスペック。

「ジャンク」扱いとなっている理由のマイナスポイントとしては
・液晶に色むらがある
・キーボード入力が入りにくい
・キートップが一部はげている
・Win7Proのプロダクトシールがあるんだけど、読めない
と書かれていたものの、電源を入れてみることができ、BIOS表示できたし、そのレベルだとおかしな表示も無いし、外見もキートップ以外はまぁ普通なので、いいかなぁ、と買ってみた。

Windows10TPを入れてみたところ
・色むらは大したことない
・指紋認証デバイス以外は認識できる
・キーボード入力のうち「U」「I」が入りにくい。特に「I」
・ドラクエXを動かしていると、15分ぐらいすると画面が乱れ、ハングアップする
・ハングアップ後、しばらくは電源が入らない。
という状況であることが分かった。

キーボードについては探してみると3千円ぐらいで入手できることが判明。

ハングアップについては、高負荷になると駄目なのかな?とBIOS設定で、Turbo Boost機能オフ、CPUもLow設定にしてみると、ハングアップをしなくなった。

足らないドライバについては東芝ページを捜索。

まず、DynaBook RX3は企業向けモデル。
一般(コンシューマ)向けモデル名だとDynaBook R730。
また、筐体は同じの後継機 DynaBook R731になるようだ。

Windows8.1アップデートに関係するページを見ても、この世代だと無いようで、一番近そうなの「dynabook R632/H、R632/Gシリーズ用 Windows 8.1 アップデートモジュール」が使えそうなので、そこからいろいろ試して見ると、指紋認証デバイスのほかにもいくつかアップデートできるものを発見できた。

TOSHIBA Fingerprint Utility
※指紋センサー搭載モデルのみ 【Windows 8.1アップデート用】
(version 2.0.0004.00404)
 → win10tp標準:ドライバなし からドライバが適用された

Synaptics Touch Pad Driver 【Windows 8.1アップデート用】(version 17.0.9.1)
 → win10tp標準:PS/2標準マウス からアップデートできた

Atheros Wireless LAN Driver
※Atheros無線LANモデルのみ 【Windows 8.1アップデート用】
(version 10.0.0.263)
 → win10tp標準:3.0.2.170 からアップデートできた

Intel Display Driver 【Windows 8.1アップデート用】(version 9.17.10.3223/10.18.10.3308)
win10tp標準:8.15.10.2900
 → 適用されない?

Intel Management Engine Interface
※vPro非対応モデルのみ 【Windows 8.1アップデート用】
(version 9.5.13.1706)
win10tp標準:6.0.0.1179
 → これは適用できない。(unsupported device)

TOSHIBA System Driver 【Windows 8.1アップデート用】 (version 1.00.0032)
 → 入れてはみたものの、何が更新されたのかわからなかった・・・。

TOSHIBA Function Key 【Windows 8.1アップデート用】 (version 1.1.0002.01)
 → これを入れると、WiFi ON/OFFキーなどが使えるようになる。
  Fnキー周りの設定を一部変更することができる。

東芝サービスステーション
※Ver.2.6.8へアップデート済みの場合は必要ありません 【Windows 8.1アップデート用】
(version 2.6.8)
 → 東芝からのお知らせを表示するだけだったので、入れる必要が無かった。

samba 4.xのデータバックアップ手法

samba 4.xにおけるデータのバックアップ手法を調べた。

まず、公式記述:「Backup and Recovery
公式記述「Back up and Restoring a Samba AD DC」(2018/01/30 URLが変更になっていたため修正)

公式記述の要点
・ドメインコントローラを複数用意すれば、どれか1台でも残っていればデータは保持されるので失われることはないよ
・sambaの内部データベースとしてLDBとTDBの2種類ある
・標準ではインストールされないがsourceにsamba_backupというスクリプトが用意されている
・samba_backupを実行すると/usr/local/backupsにtar.bz2形式のバックアップができる
・リストアは、tarコマンドを使って行う

で、samba_backupを使うには、ソースファイルのディレクトリから/usr/local/sbinなどにコピーする必要があります。

[root@ホスト名 samba-4.1.16]# cp ./source4/scripting/bin/samba_backup /usr/local/sbin/
[root@ホスト名 samba-4.1.16]# mkdir /usr/local/backups
[root@ホスト名 samba-4.1.16]# chmod 750 /usr/local/backups
[root@ホスト名 samba-4.1.16]# 

ただ・・・このまま実行すると

samba_backup: line 54: tdbbackup: コマンドが見つかりません
Error while backuping ./private/idmap.ldb

といったエラーが出力されるかも?

これは、tdbbackupがPATHに無いため。
samba_backupスクリプトのWHERE=~行の次ぐらいに
「PATH=/usr/local/samba/sbin:/usr/local/samba/bin:$PATH」といった記述を追加して、tdbbackupコマンドにパスを通します。

[root@ホスト名samba-4.1.15]# /usr/local/sbin/samba_backup
[root@ホスト名 samba-4.1.15]# ls -l /usr/local/backups/
合計 5912
-rw-r--r--. 1 root root     415  3月 12 10:12 2015 etc.120315.tar.bz2
-rw-r--r--. 1 root root 6043216  3月 12 10:12 2015 samba4_private.120315.tar.bz2
-rw-r--r--. 1 root root     481  3月 12 10:12 2015 sysvol.120315.tar.bz2
[root@ホスト名 samba-4.1.15]#

Windows 10 TPにてRealtek HD Audioドライバ関連でWindows Updateが失敗する

NECのVersaPro J VC-6にWindows 10 TPをインストールして使っている。
インストール自体は特に問題なく完了したわけだがWindowsアップデートでエラーが・・・

下記の様に「Realtek Semiconductor Crop. driver update for Realtek High Definition Audio」のアップデートを行っていると・・・
update

5分ぐらいたってから、以下のエラー 0x800705b4 が・・・
error

調べてみると、それっぽいものを発見
How to fix: Realtek Audio Driver Wont Install – Error Code 0x000005b4 displayed, or driver update process times out

どうやら、Windows10TPだけではなく、その他のWindowsでも発生している現象らしい。
対処方法としては、デバイスの応答待ちタイムアウトを標準値300秒から1200秒に変更する、とある。
設定方法は、「グループポリシーの編集を行う(Method 1)」か、「レジストリの書き換えを行う(Method 2)」とある。

グループポリシーの編集が正攻法であるので、それを行った。

1. グループポリシーの編集を行うため「gpedit.msc」と入力
gpedit

2. メニューに表示される「gpedit」を右クリックすると「Run as administrator(管理者で起動)」が表示されるのでそれを選択。
gpedit-admin

3. [ローカルコンピュータポリシー]-[コンピュータの構成]-[管理用テンプレート]-[システム]-[デバイスのインストール]にある「デバイスインストールのタイムアウトを構成する]を選択
gpedit-1

4. 標準では下記の様に「未構成」となっている
gpedit-2

5. 「有効」を選択し、オプションの「デバイスインストールのタイムアウト」を「1800」に変更し[OK]ボタンをクリック
gpedit-3

6. 変更すると「デバイス インストールのタイムアウトを構成する」が「有効」になったことを確認
gpedit-4

7. 変更後、Windows Updateを再試行すると下記の様に適用が完了する
update-done

というわけで無事に解決しました。

Courier-IMAPからdovecotへの移行

Courier-IMAPの最近のバージョンが使っているcourier-authlibは、vpopmail連携機能が切られてしまい使えなくなってしまっているため代替策を検討中。

まず、dovecotに乗り換え実験中。

Dovecotのwikiを探すと「AuthDatabase/VPopMail」というページを発見。
vpopmail専用のデータベースファイルを使っている場合は、「–with-vpopmail」でコンパイル。
vpopmailからmysqlを使っている場合は、「–with-sql –with-mysql」でコンパイルということが分かる。

次に、設定。

うちの環境では、単純なvpopmailではなく、ユーザ管理にmysqlを利用している。
このため、vpopmail由来のmysqlを使う場合に重要なポイントのみを記載する。

・「/etc/dovecot/dovecot-sql.conf.ext」

password_query = SELECT CONCAT( pw_name,'@', pw_domain ) AS user,\
        pw_passwd AS password \
        FROM vpopmail  \
        where pw_name='%n' AND pw_domain='%d' ;
user_query = SELECT pw_dir as home, \
        <vpopmailのUID> AS uid, <vchkpwのGID> AS gid \
        FROM vpopmail \
        WHERE pw_name = '%n' AND pw_domain = '%d'

なお、動作確認時はmysqlを起動して「SELECT CONCAT( pw_name,’@’, pw_domain ) AS user, pw_passwd AS password FROM vpopmail where pw_name=’ユーザ名’ AND pw_domain=’ドメイン名’ ;」という感じで実行して、以下の様な感じで表示されればok。

# mysql -u root --password=パスワード
mysql> use vpopmail;
Database changed
mysql> SELECT CONCAT( pw_name,'@', pw_domain ) AS user, pw_passwd AS password FROM vpopmail where pw_name='ユーザ名' AND pw_domain='ドメイン名';
+---------------------+------------------------------------+
| user                | password                           |
+---------------------+------------------------------------+
| ユーザ名@ドメイン名   | 文字列~                           |
+---------------------+------------------------------------+
1 row in set (0.00 sec)

mysql> quit
Bye
#

・「/etc/dovecot/conf.d/10-auth.conf」と「/etc/dovecot/conf.d/auth-sql.conf.ext」
上記で作成したsql設定ファイルをここで指定
10-auth.confでは、下記の「sql」に関するところだけを修正。(vpopmailはいじらない)

!include auth-sql.conf.ext

auth-sql.conf.extでは、dovecot-sql.conf.extのパスがきちんと指定されていることを確認。

・「/etc/dovecot/conf.d/10-mail.conf」
Maildirを操作する際のユーザ権限のチェックをしている項目の設定を変更する。
今回は元々vpopmailの1アカウントのみで全ユーザを動かしていたため、UIDを1つだけ指定している形になる。

first_valid_uid=<vpopmailのUID>
last_valid_uid=<vpopmailのUID>
first_valid_gid=<vchkpwのGID>
last_valid_gid=<vchkpwのGID>

なお、この設定をしていないと、POP3などでログインしてみると、/var/log/maillogに以下のようなエラーが出力される。

Feb 25 15:21:46 サーバ名 dovecot: pop3: Error: user ユーザ名@ドメイン名: Mail access for users with UID <vpopmailのUID> not permitted (see first_valid_uid in config file, uid from userdb lookup).
Feb 25 15:21:46 サーバ名 dovecot: pop3: Error: Invalid user settings. Refer to server log for more information.

・POP3の未読管理の移行
標準設定だとPOP3のUIDLコマンドの出力結果が全然違うので、メーラ側の未読管理がリセットされる。
dovecot公式wikiに「Migration」という項目がある。

「/etc/dovecot/conf.d/20-pop3.conf」内の「pop3_uidl_format」を定義することで対処できる、とあるが、20-pop3.conf内に記載されている「Courier: %f or %v-%u (both might be used simultaneosly)」を設定してみると、「%f」と「%v-%u」は、Courier-IMAPでの結果と異なるものになる。

よく見てみると、「Migration/Courier v0.43 and later to Dovecot v1.1+」と専用の項目がある。
「courier-dovecot-migrate.pl」を使って、各Maildir内にある「courierimapuiddb」などをdovecot用の「dovecot-uidlist」にコンバートする、というもの。
コレを実行することで、同じUIDLの結果が得られるようになった。

・「/etc/dovecot/conf.d/15-mailboxes.conf」
IMAP用メールボックスの標準名調整。
いままで下書きフォルダ名「Draft」、スパムメール用「Spam」と設定していた。
dovecotの標準設定では「Drafts」、「Junk」であるため、読み替え設定を入れる

  mailbox Draft {
    special_use = \Drafts
  }
  mailbox Spam {
    special_use = \Junk
  }
  mailbox Trash {
    special_use = \Trash
  }

・・・・・・・

で、ここまでやって気がついたこと。
Courier-IMAPでも、vpopmail関係無く、直接MySQLを見れば良かったんじゃね?ということ。

まぁ、2つのバージョンの並行動作が難しいので、動作確認がしにくく、やりたくはないですがね。