Sambaのインストール
色々事情がありまして…Dropboxを動作させるユーザーIDとSambaで共有するためのユーザーIDは同一のものにしようとしています。
また、PC(Windows10)及びRaspbianと共有することが前提となっています。
そこらあたり前提の手順となっておりますが、ご了承ください。
Sambaのインストール
以下のコマンドを実行して、Sambaをインストールします。
pacman -S samba
上記でインストールしても設定ファイルが作成されないようです…。
なので、下記コマンドで設定ファイル「smb.conf」をダウンロードします。
wget "https://git.samba.org/samba.git/?p=samba.git;a=blob_plain;f=examples/smb.conf.default;hb=HEAD" -O /etc/samba/smb.conf
※wgetがインストールされていない場合は「pacman -S wget」でインストールしてください。
設定
ここからが難題です…。
Sambaですが汎用性が高いからか、設定が非常に煩雑?です…。
細かいところまで手が届くと言えばそうなのですが…家で適当に使用するにはオーバースペックな感じを受けます…。
そこで、できるだけ最小限の設定を目指します。
「nano」等のエディタで「/etc/samba/smb.conf」を開きます。
ログの出力先
はじめに…参考サイトにも書かれていますがログの出力先を、一般的な場所に変更します。
変更前
log file = /usr/local/samba/var/log.%m
変更後
log file = /var/log/samba/%m.log
とりあえず書いてある通りに設定してみる
ワークグループの設定
「workgroup」に「WORKGROUP」を設定します。
ホームディレクトリの設定
「valid users = %S」だけ書かれていないので追記します。
[homes]
comment = Home Directories
browseable = no
writable = yes
valid users = %S
ちなみに…「%S」ですが、ユーザーIDが入るようです。
で「valid users」は許可するユーザーなので…
みんな許可するってことになるかと思います。
サービスの起動
以下のコマンドで2つのサービスを起動します。
systemctl start smb
systemctl start nmb
ユーザーの追加
Sambaに接続するためのユーザーを追加します。
Sambaで利用するユーザーはArchLinuxのユーザーとして登録されている必要があります。
今回は「dropbox-test」というユーザーを追加してみます。
ArchLinuxにユーザーを追加
まず、ArchLinuxにユーザーを追加します。
useradd -m dropbox-test
続けてパスワードを設定します。
passwd dropbox-test
これで、Smabaのユーザーを登録する準備が整いました。
Sambaにユーザーを追加
引き続き、以下のコマンドでSambaにユーザーを登録します。
pdbedit -a -u dropbox-test
「-a」はユーザーの追加、「-u」はユーザー名を指定する、という意味です。
登録したときに以下のようなメッセージが表示されれば成功です。
Unix username: dropbox-test
NT username:
Account Flags: [U ]
User SID: S-1-5-21-3457465057-3604410224-1916174006-1000
Primary Group SID: S-1-5-21-3457465057-3604410224-1916174006-513
Full Name:
Home Directory: \\archlinux\dropbox-test
HomeDir Drive:
Logon Script:
Profile Path: \\archlinux\dropbox-test\profile
Domain: ARCHLINUX
Account desc:
Workstations:
Munged dial:
Logon time: 0
Logoff time: 木, 07 2月 2036 00:06:39 JST
Kickoff time: 木, 07 2月 2036 00:06:39 JST
Password last set: 金, 05 7月 2019 14:51:27 JST
Password can change: 金, 05 7月 2019 14:51:27 JST
Password must change: never
Last bad password : 0
Bad password count : 0
Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
接続
Windowsの場合
ホームディレクトリの設定しかしていませんが…Windowsから接続してみます。
エクスプローラーのアドレス欄に、サーバーのIPアドレスを入力します。
すると、以下の様にIDとパスワードを聞かれます。
(画面がWindows10では無いですが…)
Samba用に登録したユーザーIDとパスワードを入力します。
ログインすると、ユーザーIDと同じ名前の共有フォルダがあるかと思います。
入れれば成功です。念のため、ファイルやディレクトリの作成・削除をしてみてください。
Linuxの場合
コマンド接続
クライアント側で以下のコマンドを実行します。
mkdir /mnt/Homes
mount.cifs -o username=[userid],password=[password],iocharset=utf8,rw,vers=3.0 //[ip address]/Homes /mnt/Homes
起動時接続
「nano」等のエディタで「/etc/fstab」を以下の行を追記します。
//[ip address]/Homes /mnt/Homes cifs username=[userid],password=[password],iocharset=utf8,rw,x-systemd.automount,_netdev,vers=3.0 0 2
任意のディレクトリを共有
今度は任意のディレクトリを共有してみます。
共有するディレクトリは「/mnt/Dropbox」ですwww。
ドロップボックスのディレクトリを共有します。
共有ディレクトリの作成
まぁ書くほどのことは無いですが…
mkdir /mnt/Dropbox
でディレクトリを作成します。
また、所有者を以下のコマンドで「dropbox-test」に変更します。
chown dropbox-test:dropbox-test /mnt/Dropbox
共有設定
先ほどと同じく「/etc/samba/smb.conf」を編集していきます。
ファイルの最後に以下を追記します。
[Dropbox]
comment = Dropbox Directory
path = /mnt/Dropbox
writable = yes
valid users = dropbox-test
サービスの読み込み直し
以下のコマンドで読み込み直します。
systemctl reload smb
systemctl reload nmb
以上で、接続すると見れるかと思います。