Ubuntuでファイル共有サーバsambaをインストールしてセットアップする際に編集する/etc/samba/smb.confの例を示す。

完全なリファレンスは以下にある。

https://www.samba.org/samba/docs/current/man-html/smb.conf.5.html

デフォルトの設定ファイルは/etc/samba/smb.confにある。これを編集・追記してsmbdをsystemctlなどを用いて再起動する。

[global]
    # charset
    dos charset = CP932
    unix charset = UTF-8

    # by default
    security = user

    # bind interfaces
    interfaces = eth0
    bind interfaces only = yes

[share]  #arbitrary label 1
    path = /mnt/share
    comment = /mnt/share is here
    writable = yes
    browsable = false
    guest ok = yes
    guest only = yes
    create mode = 0777
    directory mode = 0777

[readonly] #arbitrary label 2
    path = /mnt/readonly
    comment = /mnt/readonly is here
    read only = yes
    browsable = yes
    guest ok = yes
    guest only = yes

[home] #arbitrary label 3
    path = /home
    guest ok = no
    valid users = user, fuger, hoger, suher
    browsable = no
    writable = yes
    share modes = yes
    create mode = 0664
    directory mode = 0755

以上のように設定する。もちろん中略多数である。ある程度の察し力があればそれぞれの意味は説明不要だろう。

Windowsエクスプローラからのアクセス例は以下のようになる。UbuntuのIPアドレスが192.168.0.16だったらばエクスプローラのアドレスに\192.168.0.16\と入力することによってbrowsable = yesを指定した共有フォルダが表示される。実感がわいただろうか。

Windowsエクスプローラsamba共有例

この画像では1個目にプリンタも共有されているが、関係ないので白塗りにしている。この画像には写っていないが、マウスオーバーするとcomment = に書いた文字列が表示される。訪問者に何かしらのコメントを残すことが可能だ。

browsable = falseを指定した共有フォルダ(※上記例ではhome)はここには表示されないが\192.168.0.16\homeに直接アクセスすることが可能である。ただしこの例ではguest ok = noにしているためvalid userで指定したユーザでの認証が必要になる。

smbpasswd -a user

Linuxユーザのパスワードとは別途sambaユーザとしてのパスワードをこのようにして設定する必要がある。

homes以下には通常ならそのマシン上のすべてのユーザuser, fuger, hoger, suherのホームディレクトリが存在しているはずだ。しかしながら実際に参照できるのは\192.168.0.16\homeアクセス時の認証に使用したユーザのものだけとなる。smb.confでwritable = yesにしていてもファイルやディレクトリの権限が無ければ中身にアクセスすることは出来なくなっているためである。逆に上記例では/mnt/shareの権限は777にしておかないとWindowsから変更ができなくなる。

create mode / directory modeを指定しており、ユーザ認証してアクセスした共有フォルダにWindowsから何か置くと、そのユーザが所有者でよくある権限のファイルが作成されるようになっている。

一方誰でもguest権限でアクセス可能なshareフォルダにWindowsから何かを置くと、そのファイルの所有者はnobodyになる。Linux側のuserユーザからアクセスする際に権限でエラーをださないようにcreate mode / directory modeは777を指定している。

以上!