Sambaをインストールする手順を記載します。
Table of Contents
1 Sambaのインストール
aptでsambaをインストールします。
$ sudo apt install -y samba $ sudo systemctl enable smbd nmbd
2 pdbedit
pdbeditでsambaへアクセスできるユーザを追加します。このユーザはLinux上に存在するユーザである必要があります。pdbeditで追加しようとするユーザがLinux上に存在しない場合は、useraddで追加しておく必要があります。
$ sudo useradd -m hiroom2
pdbeditでhiroom2というユーザを追加します。
$ sudo pdbedit -a hiroom2 new password: retype new password:
-tオプションは標準出力からパスワードを設定することができます。
$ yes "${PASSWD}" | sudo pdbedit -a hiroom2 -t
3 /etc/samba/smb.confの設定
ここではホームディレクトリと共有ディレクトリのアクセスを可能にする設定について記載します。
設定が完了した後、systemctlでsmbdとnmbdを再起動します。
$ sudo systemctl restart smbd nmbd
3.1 ホームディレクトリ共有
Sambaはpdbeditで追加したhiroom2に対して/home/hiroom2を公開する仕組みを持っています。/home/hiroom2は各ユーザしかアクセスできないようになっています(Sambaアクセス時に以下の%Sにhiroom2が設定されます)。
valid users = %S
デフォルトでホームディレクトリ共有はread onlyになっているので以下の通りに修正します。ホームディレクトリ共有を無効にするには[homes]の設定をすべてコメントアウトしてください。
$ cd /etc/samba $ cat <<EOF | sudo patch -p1 --- a/smb.conf.orig 2017-07-21 14:21:22.404000000 +0900 +++ b/smb.conf 2017-07-21 14:21:31.088000000 +0900 @@ -190,7 +190,7 @@ # By default, the home directories are exported read-only. Change the # next parameter to 'no' if you want to be able to write to them. - read only = yes + read only = no # File creation mask is set to 0700 for security reasons. If you want to # create files with group=rw permissions, set next parameter to 0775. EOF
クライアントからは以下のURLにアクセスします。
\\<server>\hiroom2
3.2 全ユーザ共有ディレクトリ
以下の設定をsmb.confに追加することで、pdbeditで追加したユーザでディレクトリを共有できます。
$ cat <<EOF | sudo tee -a /etc/samba/smb.conf [share] comment = Share directory path = /var/lib/share read only = no guest only = no guest ok = no share modes = yes EOF
共有ディレクトリのアクセス権は0777にします。
$ sudo mkdir /var/lib/share $ sudo chmod 0777 /var/lib/share
クライアントからは以下のURLにアクセスします。
\\<server>\share