LinuxとWindowsでファイル共有したい場合は、sambaを利用すると可能なことが有名です。ここでは何も考えずにサクッとこの環境を準備したい方に向けて、sambaの設定方法を紹介します。最低限のセキュリティ設定も実施済ですので、ご参考になれば幸いです。
sambaのインストール
sambaをインストールするには、下記のコマンドを実行します。
# dnf install samba
OS周りの設定
sambaを使用するために、OS周りの設定として以下の2点を行います。
1.selinuxの無効化
selinuxが有効になっていると、ファイル共有しても上手く動きません。本来であれば、selinuxのルールにてsambaを利用可能な設定を追加すべきですが、ここではセキュリティのリスクを受け入れて、selinuxを無効化します。
わたしはこの設定を忘れていたために、共有領域のマウントは出来ているのに、なぜかファイルの書き込みが出来ないという現象が発生しました。いろいろ調査してやっと原因が判明した時には、すでに数時間が経過していました…。忘れずに最初に実施しておきましょう。
2.Firewalldの開放
Firewalldで、アクセスできるようにポートを開放します。ここでは、特定のサーバからのみマウントする想定ですので、特定のサーバのIPアドレスからアクセス可能に設定します。
/etc/samba/smb.conf の設定
smb.confは以下の通りに設定します。
[global]
workgroup = WORKGROUP
security = user
netbios name = backupsv
passdb backend = tdbsam
map to guest = bad user
dns proxy = no
unix charset = UTF-8
dos charset = CP932
hosts allow = 192.168.1.10 127.
bind interfaces only = yes
mangled names = no
vfs objects = catia
catia:mappings = 0x22:0xa8,0x2a:0xa4,0x2f:0xf8,0x3a:0xf7,0x3c:0xab,0x3e:0xbb,0x3f:0xbf,0x5c:0xff,0x7c:0xa6
load printers = no
disable spoolss = yes
vfs objects = acl_xattr
map acl inherit = yes
store dos attributes = yes
acl_xattr:ignore system acls = yes
acl_xattr:default acl style = windows
[Share]
comment = backup share.
path = /Backup/kyoyu
browseable = No
writable = Yes
guest ok = No
directory mask = 0700
create mask = 0700
valid users = administrator
admin users = administrator
# log output
vfs objects = full_audit
full_audit:facility = LOCAL1
full_audit:prefix = %u|%I|%m|%S
full_audit:success = connect disconnect mkdirat unlinkat renameat pwrite pread_recv
full_audit:failure = none
full_audit:priority = info
log outputの部分につきましては、共有領域のアクセスログを取得する設定をご確認ください。
ファイルを保存しましたら、サービスを起動します。
# systemctl start smb
# systemctl start nmb
samba用アカウント(ユーザ)の作成
まずサーバローカルのアカウントを作成します。ここでは、Windowsの管理者と同じアカウント名で作成します。
# useradd administrator
# passwd administrator
次にサーバローカルのアカウントをSambaサーバーアクセス用アカウントとするには、以下のコマンドを実行します。
# pdbedit -a administrator
new password:
retype new password:
アカウントの作成が済みましたら、共有領域の/Backup/kyoyu を作成したアカウントのオーナーで作成しておきます。
# mkdir /Backup/kyoyu
# chown administrator:administrator /Backup/kyoyu
Windows側の作業
もしDNSに名前解決が出来ていないのであれば、hostsファイルに名前を追加します。具体的には、backupsv という名前とIPアドレスの対を記載します。
その後、コマンドプロンプトより以下を実行します。
> net use z: \\backupsv\Share
認証がでてきたら、administratorユーザで認証します。もしwindows側のadministratorと同じパスワードであった場合は認証が出てこずに、Zドライブとしてマウントされます。
最後に、マウントした領域でファイルの書き込み、削除が出来るか確認し、問題が無ければ終了です。
今回はここまでです。最後までお読みいただきありがとうございました。