大変参考になるサイト様がありますが、そのままでは自分の環境では動作しなかった事と、
自分として使いやすい設定にしたので、メモを残しておきます。
DNS backendとしてBINDを使用します。
インストール
[root@server~]# yum install perl gcc attr libacl-devel libblkid-devel gnutls-devel readline-devel python-devel gdb pkgconfig krb5-workstation zlib-devel setroubleshoot-server libaio-devel setroubleshoot-plugins policycoreutils-python libsemanage-python perl-ExtUtils-MakeMaker perl-Parse-Yapp perl-Test-Base popt-devel libxml2-devel libattr-devel keyutils-libs-devel cups-devel bind-utils libxslt docbook-style-xsl openldap-devel autoconf python-crypto pam-devel[root@server~]# wget http://www.samba.org/samba/ftp/samba-latest.tar.gz
[root@server~]# tar zxvf samba-latest.tar.gz
[root@server~]# cd samba-4.5.3/
[root@server samba-4.5.3]#./configure && make
[root@server samba-4.5.3]# make install
プロビジョニング
[root@server samba-4.5.3]# cd[root@server~]# vi /etc/krb5.conf
includedir /etc/krb5.conf.d/
↓
#includedir /etc/krb5.conf.d/ ←コメントアウト
[root@server~]# /usr/local/samba/bin/samba-tool domain provision --use-rfc2307 --interactive --function-level=2008__R2
Realm: EXAMPLE.COM ←任意のレルム
Domain [EXAMPLE]: 空エンター
Server Role (dc, member, standalone) [dc]: 空エンター
DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: BIND9_DLZ ←BINDを使用
Administrator password: Administratorのパスワードを設定
Retype password: Administratorのパスワードを設定
[root@server~]# vi /etc/rc.d/init.d/samba
(他サイト様を参考に作成)
[root@server~]# chmod +x /etc/rc.d/init.d/samba
BIND関連の設定
[root@server~]# vi /etc/named.conf(略)
include "/usr/local/samba/private/named.conf"; ←追加
}; ←最終行
[root@server ~]# named -v
BIND 9.9.4-RedHat-9.9.4-38.el7_3 (Extended Support Version) ←BINDのバージョンを確認
[root@server~]# cat /usr/local/samba/private/named.conf
(略)
# For BIND 9.9.x
database "dlopen /usr/local/samba/lib/bind9/dlz_bind9_9.so"; ←対象のBINDのバージョンがコメントアウトではないことを確認
(略)
[root@server~]# vi /etc/named.conf
(略)
options {
(略)
tkey-gssapi-keytab "/usr/local/samba/private/dns.keytab"; ←追加
};
[root@server~]# chmod 640 /usr/local/samba/private/dns.keytab
[root@server~]# chown root:named /usr/local/samba/private/dns.keytab
[root@server~]# systemctl restart named
起動
[root@server~]# vi /etc/hostsサーバのIPアドレス server.example.com server ←追加
[root@server~]# cat /etc/sysconfig/network-scripts/ifcfg-enp2s0
DNS1=127.0.0.1 ←自身が問合せ先であることを確認
[root@server~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 127.0.0.1 ←自身が問合せ先であることを確認
[root@server~]# /bin/cp /usr/local/samba/private/krb5.conf /etc/
[root@server~]# systemctl start samba
[root@server~]# systemctl enable samba
↓必要な人のみ
[root@server~]# /usr/local/samba/bin/samba-tool domain passwordsettings set --complexity=off ←パスワードの複雑性をオフ
[root@server~]# /usr/local/samba/bin/samba-tool domain passwordsettings set --max-pwd-age=0 ←パスワードの有効期限解除
ディレクトリ作成、設定
sambaのユーザディレクトリとプロファイルのディレクトリを/home で作成します。[root@server~]# mkdir /home/samba
[root@server~]# mkdir /home/samba/profiles
[root@server~]# chmod 1777 /home/samba/profiles
↓試行錯誤して作成した設定なので、あまり綺麗ではありません。
[root@server~]# vi /usr/local/samba/etc/smb.conf
(略)
[Profiles]
path = /home/samba/profiles
read only = No
guest ok = Yes
browseable = No
hide unreadable = yes
[home]
comment = Home Directories
path = /home/samba
read only = No
vfs objects = recycle
recycle:repository = /home/samba/%U/.recycle
recycle:keeptree = no
recycle:versions = yes
recycle:touch = no
recycle:maxsize = 0
recycle:exclude = *.tmp ~$*
hide unreadable = yes
veto files = /共有ディレクトリ名/ ←/home/samba/内にユーザのディレクトリとユーザのプロファイルディレクトリのみ見えるようにするため
recycle:exclude_dir = .recycle
[共有ディレクトリ名] ←特定のユーザのみアクセスできる共有ディレクトリ
path = /home/samba/共有ディレクトリ名
read only = No
vfs objects = recycle
recycle:repository = /home/samba/共有ディレクトリ名/.recycle
recycle:keeptree = no
recycle:versions = yes
recycle:touch = no
recycle:maxsize = 0
recycle:exclude = *.tmp ~$*
hide unreadable = yes
recycle:exclude_dir = .recycle
[root@server~]# /usr/local/samba/bin/smbcontrol all reload-config
ユーザ作成
[root@server~]# usr/local/samba/bin/samba-tool user create ユーザ名 パスワード --profile-path="\\\server\profiles\%USERNAME%"[root@server~]# systemctl restart samba
Windows側での設定
やることが多いので、別の記事で書きます。
動作が遅い場合
ファイルサーバの動作が遅い!という方はこちらを試してみてください。名前解決にIPv6を返さないようにします。
これで、サーバへのアクセスがIPv4になります。
[root@server~]# vi /etc/named.conf
(略)
options {
(略)
filter-aaaa-on-v4 yes;
filter-aaaa { 192.168.0.0/24; }; ←ローカルネットワークを指定
};
[root@server~]# systemctl restart named