移動プロファイルにはログインするユーザーの色々な設定を保存してあるので、ログインするコンピューターが変わっても同じような環境で作業が出来るので便利である。もちろんコンピュータ A にはソフト AA がインストールされ、そのソフトがインストールされていないコンピュータ B でログインすると ソフト AA は使用できない(当たり前!)。
私がよいと思ったのは、社員にデスクトップやマイドキュメントにはデーターは保存せず、ファイルサーバーの共有フォルダーに保存してとお願いしても、人間の習性かどうしてもデスクトップやマイドキュメントに保存をし、そのディスクが壊れるとデーターがなくなる。移動プロファイルを使うと、これらはファイルサーバーに保存され、それはバックアップもされているので、このような事態は起きない。もちろんログインに若干時間が多く要ったりはするが、メリットのほうが大きいと思う。
というわけで設定をするがサーバーの設定と、RSATでの設定が入る。
まずはサーバーの /etc/samba/smb.conf の設定。下記を最後にでも追記する。
[profiles]
path = /XXXXX/XXXXX/XXXXX ← 移動プロファイルを保存するDirectoryのパス
browsable = no
guest ok = yes
read only = no
profile acls = yes
create mask = 0600
directory mask = 0700
SAMBAの再起動
# service samba restart
ここでWindow機側で、アドミン権限のあるユーザーでドメインにログオンし、スタートメニュー→管理ツール→Active Directory ユーザとコンピュータ と進み、設定したいユーザーを右クリックし、プロパティを選択し、開いたウィンドウのプロファイルタブを選び、プロファイルパス(P):に
\\サンバサーバーの名前¥プロファイルに設定した名前\%UserName%(私の場合は\\xxx.kinryoai.net\profiles\%UserName%)と入力しOKをクリック、その後、そのユーザーでログインとログオフをするとサーバーにプロファイルが出来る

samba-toolでも出来るのですが、Window機からGUIで管理出来るRSATを使うほうが楽なので、Window 7 Proffesinal にインストールして管理するようにする。このツールはドメインに参加していないと使えませんので、3:windowホストの設定を参考にドメインにログオンしてください。
http://www.atmarkit.co.jp/fwin2k/win2ktips/1031rsat/rsat.html にVistaと7 のインストールや設定方法がありますのでこれを参考にインストールしてください。Windows 8は持っていないので確認はしていませんが、マイクロソフトのWEBにある筈です。
私は Windows 7 Professional を使用しています。
最初にDNSの設定を変更します。(2013-12-01追記)
コントロールパネルからネットワークと共有センター(カテゴリー表示なら、ネットワークとインターネット→ネットワークと共有センター)とクリックすると
画面Aが開きますので、ローカルエリア接続をクリック(無線であればワイヤレスネットワーク接続...)をクリック。
開いた画面Bでプロパティをクリック
開いた画面CでTCP/IPv4を選択しプロパティをクリック。
画面Dが開くので、次のDNSサーバー...を選び、優先DNSにsambaのIPアドレス、代替DNSサーバーにルーターのLAN側のIPを設定後OKをクリックし、開いているファイルを全部閉じる。
次にコントロールパネルから、システムをクリックすると、
画面1の左側が開きますので、左ペインのシステムの詳細設定をクリックすると、右の画面が開き、コンピュータ名タブを選んでから、ネットワークIDをクリック
画面2が開きますので、このコンピューターは.....を選んで次へ。
画面3が開き、ドメインを使用しているを選び次へ
画面4が開くのでそのまま次へ。
画面5が開き、ユーザー名はadministrator(他のユーザーはまだ設定していないので)、パスワードは設定してある分、ドメインはドット以降は省いて(KINRYOKAI.NETではなくKINRYOKAIのみ)入力後、次へ
初回はこのWindowホストがドメインに登録されていないので、画面6が開き、コンピューター名はデフォルトで表示されている設定してあるこのホストの名前、コンピューターのドメインは必ず変更し(デフォルトでは確かコンピュータ名になっていた)そして次へ。
このユーザは登録しているadministratorを使っているので、画面7では追加しないを選んで次へ、完了後再起動をし、Ctrl+Alt+Delを押すとログイン画面になるのでパスワードを入力し、ドメインへ参加できる。
このページを作ったのは、何回かドメインとワークプレイスの設定を行き来した後なので、何かの画面が抜けているかも知れませんが、要点は上記を抑えれば出来るはず。
先ずは必要になるlibldbをインストールする
# yum install libldb
これで、libldbとlibtdbがアップデートされ、libbsdがインストールされた。この時CentOS-Base.repoをenabled=0にしておかないと、ここでlibldbがアップデートされない。(ここまで2014-1-20追記)
wingレポジトリーには4.1.1がアップされているので、これをインストールする。蛇足だが CentOS-Base.repo には4.0.0-53(最後の数字は不確か)がアップされているようなので、repoの設定変更をしておかないとこれがインストールされてしまう。
また4.1は名前が samba41 になっている。
2014-1-25追記:今日別のマシンにインストールしようとしたら
Error: Package: libtalloc-2.0.8-2.el6_1.wing.i686 (wing)
Requires: librt.so.1
Error: Package: libtalloc-2.0.8-2.el6_1.wing.i686 (wing)
Requires: libc.so.6(GLIBC_2.1.3)
Error: Package: libbsd-0.6.0-1.el6.i686 (epel)
Requires: libc.so.6(GLIBC_2.8)
Error: Package: libtalloc-2.0.8-2.el6_1.wing.i686 (wing)
Requires: libattr.so.1
Error: Package: libtevent-0.9.18-1.el6_1.wing.i686 (wing)
Requires: libc.so.6(GLIBC_2.4)
Error: Package: libtevent-0.9.18-1.el6_1.wing.i686 (wing)
Requires: libdl.so.2
Error: Package: libtalloc-2.0.8-2.el6_1.wing.i686 (wing)
Requires: libdl.so.2
Error: Package: libtevent-0.9.18-1.el6_1.wing.i686 (wing)
Requires: libattr.so.1
Error: Package: libtevent-0.9.18-1.el6_1.wing.i686 (wing)
Requires: librt.so.1
Error: Package: libtalloc-2.0.8-2.el6_1.wing.i686 (wing)
Requires: libcrypt.so.1
Error: Package: libtevent-0.9.18-1.el6_1.wing.i686 (wing)
Requires: libcrypt.so.1
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
と大量にエラーが出た。ここには長くなるので載せていないが、このエラーの前のdependancyチェックのところで、samba-dcのために python-teventをインストールしようとしている。私のホストには入っていないのでインストールする必要があった。
なので、/etc/yum.repos.d/CentOS-Base.repoのenabled=0の先頭に#をつけコメントアウトし、
# yum install python-tevent
でインストールをして置く。(その後enabled=0のコメントを外しておく。またsambaは4.1.4-2になっていた)(ここまで2014-1-25追記)
# yum install samba41 samba41-client ldb-tools krb5-workstation
インストールされたプログラムは
# rpm -qa | grep samba4
samba41-common-4.1.1-2.el6_8.wing.x86_64
samba41-python-4.1.1-2.el6_8.wing.x86_64
samba41-4.1.1-2.el6_8.wing.x86_64
samba41-libs-4.1.1-2.el6_8.wing.x86_64
samba41-dc-libs-4.1.1-2.el6_8.wing.x86_64
samba41-dc-4.1.1-2.el6_8.wing.x86_64
samba41-client-4.1.1-2.el6_8.wing.x86_64
インストールが終わったので、設定しますがその前に、
NTPサーバーで時刻管理をしておく。以前Xenで仮想化をした時にはSubホストは自動的にDom0の時間が適用されたが、KVMだとresumeがあるとタイマーが止まるみたいなので、必ず時刻同期を行う事(ここを参照)
DNSが動いていないようにする(私は別のホストでdnsmasqが走っており、それを止めました。)。LDAPが動いているば止める。
それと無効にしたbase repoを有効に戻しておく。
ネットワークカードの設定の確認。前に書いたように私の環境はNetworkManagerを走らせ、DNSの設定はネットワークカードでするので、/etc/sysconfig/network-scripts/ifcfg-eth0の確認
DNS1=192.168.xx.xxx ← このホストのIP
DNS2=192.168.xx.1 ← default gatewayのIP
DOMAIN=kinryokai.net
もし設定を変更したら
# /etc/rc.d/init.d/network restart
いよいよコマンドでドメインを構築。
# samba-tool domain provision
Realm: KINRYOKAI.NET[Enter]
Domain [KINRYOKAI]: [Enter]
Server Role (dc, member, standalone) [dc]: [Enter]
DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: [Enter]
DNS forwarder IP address (write 'none' to disable forwarding) [192.168.xx.xxx]: default gateway のIP[Enter]
Administrator password: password入力[Enter]
Retype password: password入力[Enter]
Looking up IPv4 addresses
More than one IPv4 address found. Using 192.168.xx.xxx
Looking up IPv6 addresses
No IPv6 address will be assigned
Setting up secrets.ldb
Setting up the registry
Setting up the privileges database
Setting up idmap db
Setting up SAM db
Setting up sam.ldb partitions and settings
Setting up sam.ldb rootDSE
Pre-loading the Samba 4 and AD schema
Adding DomainDN: DC=kinryokai,DC=net
Adding configuration container
Setting up sam.ldb schema
Setting up sam.ldb configuration data
Setting up display specifiers
Adding users container
Modifying users container
Adding computers container
Modifying computers container
Setting up sam.ldb data
Setting up well known security principals
Setting up sam.ldb users and groups
Setting up self join
Adding DNS accounts
Creating CN=MicrosoftDNS,CN=System,DC=kinryokai,DC=net
Creating DomainDnsZones and ForestDnsZones partitions
Populating DomainDnsZones and ForestDnsZones partitions
Setting up sam.ldb rootDSE marking as synchronized
Fixing provision GUIDs
A Kerberos configuration suitable for Samba 4 has been generated \
at /var/lib/samba4/private/krb5.conf
Once the above files are installed, your Samba4 server will be ready to use
Server Role: active directory domain controller
Hostname: SAMBA
NetBIOS Domain: KINRYOKAI
DNS Domain: kinryokai.net
DOMAIN SID: S-1-5-21-8640439422-3946603968-2847524696
sambaを起動する
# service samba start
前に設定した分はserviceで起動できなかったが、今は出来るようにようになった見たい。(以前はソースからだったかな?)
# chkconfig samba on
で再起動後もスタートさせる
logについて
logは /var/log/samba/log.sambaにある。ここに samba: setproctitle not initialized, please either call setproctitle_init() or link against libbsd-ctor. とあるが解決方法が分からない。取り敢えずドメインログオンも出来ているので、ゆっくり探そう。
/var/log/messages にもスタートとストップ関連だけは記録があった。
smbdが走っている
smbdはバージョン3以前のsambaのコマンド何で走っているかは不明。ps aux で確認すると samba が10個くらいと smbd が2つ走っていた。取り敢えず問題なさそうなので、後日チェックする
Kerberosの設定
/etc/krb5.confの変更
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default_realm = KINRYOKAI.NET ← 変更
dns_lookup_realm = false
dns_lookup_kdc = true ← trueに変更
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
[realms]
KINRYOKAI.NET = { ← このホストの名前に変更
kdc = xxx.kinryokai.net ← このホストの名前に変更
admin_server = xxx.kinryokai.net ← このホストの名前に変更
}
[domain_realm]
.kinryokai.net = KINRYOKAI.NET ← このホストの名前に変更
kinryokai.net = KINRYOKAI.NET ← このホストの名前に変更
Kerberosの設定が正しいか確認
# kinit administrator@KINRYOKAI.NET 注:必ず大文字にする事
Password for administrator@KINRYOKAI.NET:
Warning: Your password will expire in 41 days on Mon Jan 6 12:05:53 2014
# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@KINRYOKAI.NET
Valid starting Expires Service principal
11/25/13 17:12:23 11/26/13 03:12:23 krbtgt/KINRYOKAI.NET@KINRYOKAI.NET
renew until 12/02/13 17:12:15
DNSの登録状況がどうなっているか確認
# samba-tool dns query 192.168.xx.xxxx kinryokai.net @ A -U administrator
IPはsambaが走っているホストのIP
Password for [KINRYOKAI\administrator]:
Name=, Records=1, Children=0
A: 192.168.xx.xxx (flags=600000f0, serial=1, ttl=900)
Name=_msdcs, Records=0, Children=0
Name=_sites, Records=0, Children=1
Name=_tcp, Records=0, Children=4
Name=_udp, Records=0, Children=2
Name=DomainDnsZones, Records=0, Children=2
Name=ForestDnsZones, Records=0, Children=2
Name=smb5, Records=1, Children=0
A: 192.168.xx.xxx (flags=f0, serial=1, ttl=900)
Name=WIN7-DESK, Records=1, Children=0
A: 192.168.xx.xxx(flags=f0, serial=110, ttl=1200)
下の2行はこのドメインにログインしているwindowホスト
正常のようなので次はwindowホストのドメインへの参加
ファイルサーバーの動作確認をするには
# smbclient -L localhost -U%
2014-04-12追記:今日別のホストでやったら Connection to localhost failed (Error NT_STATUS_IO_TIMEOUT) とエラーが出た。localhostをsambaの動いているIPに変えたらOKだった。
Domain=[KINRYOKAI] OS=[Unix] Server=[Samba 4.1.1]
Sharename Type Comment
--------- ---- -------
netlogon Disk
sysvol Disk
ITC Disk IPC$ IPC IPC Service (Samba 4.1.1)
Domain=[KINRYOKAI] OS=[Unix] Server=[Samba 4.1.1]
Server Comment
--------- -------
Workgroup Master
--------- -------
と、表示された。
2014-01-26追記:今日別のホストにインストールし、sambaのテストをしている時、このリプライが
session setup failed: NT_STATUS_ACCESS_DENIED
となった。いろいろ調べたがどうしても直らない、firewallを見直している時、ハット気が付きselinuxの設定を調べると
# getenforce
Enforcing
となり、selinuxが有効になっていたので、
# setenforce 0
で無効にし、再起動後も無効にするため、/etc/sysconfig/selinuxのSELINUX=enforcingの右辺をdisabledにしておく。再度
# smbclient -L localhost -U%
で無事正常に表示された。
この設定を確認している時、wing repo に新しい4.1.2がアップされた様で、アップデートの確認が出ていたので、4.1.2にバージョンアップした。
参考URL:http://www.unix-power.net/linux/samba4_setup.html
上記URLを参照する時の注意点
samba-tool domain provision後のDNS forwarder IP address はEnterではなく、default gatewayのIPを入力。
事前の準備、
1:インストールされているsambaを削除しておく(私の場合だけ?私はyum list installed |grep smb とyum list installed |grep samba で調べ、remove して置く。さらに /usr/local/samba以下に色々入っていたので、紛らわしくならないようにsambaのDir毎削除した。
2:NetworkManagerでdnsの解決をする。私はなれないせいか、これが動いているとやりにくいので、削除していた。これが原因かは不明だが、テストで設定している時にどうもうまくいかなかったので、再インストールし、DNSの設定はifcfg-eth0でするようにした。設定方法は上記参考URLにある。
3:host, nslookup, dig など有用なコマンドが入っていないのでインストール
# yum install bind-utils
4:レポジトリーの整理:
a:/etc/yum.repos.d/CentOS-Base.repoの一時変更。
[base]
name=CentOS-$releasever - Base
mirrorlist=http//mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http//mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
priority=1
enabled=0 ← 追記、無効にしておく
b:EPELレポジトリーのインストール・設定
# rpm --import http;//dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-6
# rpm -ivh http;//dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm (64bitの場合、コピペしたら ; を : に変えてね)
c:wingレポジトリーのインストール・設定
# wget http;//wing-net.ddo.jp/wing/6/EL6.wing.repo(コピペしたら ; を : に変えてね)
# mv EL6.wing.repo /etc/yum.repos.d/
# gedit /etc/yum.repos.d/EL6.wing.repo
[wing]
name=EL $releasever - $basearch - wing Repository
baseurl=http://wing-net.ddo.jp/wing/$releasever/$basearch/
enabled=1 ← 1にする
gpgcheck=0
priority=2
[wing-source]
name=EL $releasever - $basearch - wing source Repository
baseurl=http://wing-net.ddo.jp/wing/$releasever/SRPMS/
enabled=1 ← 1にする
gpgcheck=0
priority=2
CentOS-Base.repoを一時的に止めるのはここにはlibldb.x86_64のバージョンが1.1.13-3があり、使いたいバージョンは1.1.16-1でこれはwingレポジトリーにあるから。epelを有効にしないと libbsdが入らない。
ある時KVMを使いメインになるホストを設定している時にバックアップを取っておきたかったのでDDコマンドで複製をした。
その後、tripwireやアンチウィルスなどのソフトをインストールし、何度か再起動をした。変更をする度にDDコマンドでバックアップを取っておいた(Live CDで起動しコピー)。そして再起動すると、最初の状態(何のソフトもインストールされていない状態。つまり最初の状態)になってしまった。
原因はDDコマンドではUUIDもコピーされ同じUUIDが二つ出来てしまったから
/etc/fstab には例によってルートの指定はUUIDでしているので、多分2回目の再起動時に指定されたディスク領域は最初の分と変化し(最初は /dev/sda1 バックアップは /dev/sda2 のつもりだった)sda2を使っていたものと思われる。なのでソフトを入れた分は sda2 でも自分では sda1 だと思っていた。なので dd if=/dev/sda1 of=/dev/sda2 とするとデフォルト状態のsda1がソフトを追加したsda2に書き込まれ、今までの作業が水の泡!!
考えて見れば dd コマンドでUUIDを同じにするのは当たり前で、だからディスクを入れ替えても同じように起動するのだ!
でも気がつかなかった俺が悪い。教訓:dd でコピーし両方を使いたい時は
# tune2fs -U random /dev/sda2
としUUIDを変更すること(sda2は自分の環境に合わせて)
その後
# blkid
で確認するとUUIDが変更されている

KVMでゲストOSの自動起動、自動停止はホストOSの/etc/sysconfig/libvirt-guestsを修正する。
START_DELAY=20 ←コメントを外し、0を20に[/color]
ON_SHUTDOWN=shutdown ←コメントを外し、suspendをshutdownに[/color]
SHUTDOWN_TIMEOUT=180 ←コメントを外し、300を180に[/color]
後、acipdをゲストOSにインストールしておくが、私の環境ではインストール済みであった。
これらの設定の意味は、confファイルを読むと分かると思う。
この設定は、ホストOSが停止する時、ゲストOSは一つづつシーケンシャルに停止し(つまり2番目のゲストOSは一番目が停止してから、停止動作に入る)すべてのゲストOSが停止後、ホストOSの停止動作が始まる。
PARALLEL_SHUTDOWN=0 と言う設定もあるが、これはゲストOSの停止動作を一斉にする場合だと思うが、今の所一斉停止に入っても問題なさそうだが、(各ゲストOSが、他のゲストOSとの相関関係はなさそう)試していない。

ipv6を無効化したくて、ググって見ると、/etc/modprobe.confに設定を書けとあるが、CentOS には/etc/modprobe.confが無い。
どうもVer6から変更された様で、/etc/modprobe.d/以下に任意のファイル名(多分拡張子は.confでないとダメ)で、ファイルを作り、そこに設定を記入するみたい。
さっそくipv6off.conf と言うファイルにoptions ipv6 disable=1と記入し、
# chkconfig ip6tables off
でip6tablesを起動し無い様にし、再起動をすると出来たみたい。
# ifconfig
で見ると、inet6 addr: で始まる行はなくなっていた。
参考URL:http://192168111.blog71.fc2.com/blog-entry-67.html