Yamamoto's Laboratory
Samba

インストール

ubuntu server をインストールするときに,「インストールするソフトウェアーの選択」の画面で,Samba file serverをチェックすれば,インストールされます.後からインストールする場合は,コマンド「sudo apt install samba」を使います.

インストールされている Samba のバージョンの確認は,コマンド「samba -V」でも分かります.以下に,具体例を示します.

$ samba -v
Version 4.7.6-Ubuntu

サーバー側の設定

公開ディレクトリーの構成

今のところ,サーバーで公開するディレクトリーは,以下の通りです.ユーザーが増えたら,その都度,公開ディレクトリーを追加します.

/home/user ユーザーのホームディレクトリー

設定ファイルの編集

Samba をインストールすると,設定ファイル 「/etc/samba/smb.conf」 がつくられます.このファイルの内容が,サーバー側の設定となります.デフォルトの設定では使うことができませんので,これを編集する必要があります.とはいえ,元ファイルにはかなりコメント文が書かれており,それを読むだけでも大変参考になります.

ファイル「smb.conf」には,角括弧で囲まれたセクション(例:[global])とパラメーター,コメント文(先頭が # or ;)が書かれています.セクションは,次のセクションが始まるまで続き,その間にパラメーターを記述します.設定ファイルを以下に示します.

[global]
   workgroup = YAMAMOTO
   server string = %h server (Samba, Ubuntu)
   dns proxy = no
   interfaces = 127.0.0.0/8 eth0
   log file = /var/log/samba/log.%m
   max log size = 1000
   panic action = /usr/share/samba/panic-action %d
   server role = standalone server
   passdb backend = tdbsam
   obey pam restrictions = yes
   unix password sync = yes
   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
   pam password change = yes
   map to guest = bad user

[homes]
   comment = Home Directories for %S
   browseable = no
   read only = no
   create mask = 0644
   directory mask = 0755
   valid users = %S

[global] はグローバルな設定です.[homes] のシェアーのための設定です.これを設定することにより,ホームディレクトリーがネットワーク越しに見ることができます.

設定ファイルの確認

コマンド「testparam」で,設定ファイルの確認ができます.エラーがなくなるまで,設定ファイルを直します.

サーバーの起動

コマンドライン

以下のようなコマンドで,Samba をコントロールすることができます.これらを使って,サーバーを起動,場合によっては再起動してください.

service smbd start 起動
service smbd stop 停止
service smbd restart 再起動
service smbd reload 設定ファイルの再読込
service smbd status ステータス表示

サービス (デーモン) の設定

Samba のデーモン (smbd) の起動のための設定は不要です.「起動シーケンスと CUI に変更」に示すように,PC の起動時に自動的にデーモンも起動します.

ユーザー設定

Samba のインストールの後,ユーザーの登録が必要です.ユーザーの登録のコマンドは,次のとおりです.

$ sudo  pdbedit  -a  ユーザー名

ユーザーは,Ubuntu のユーザーと同一にする必要があります.パスワードを二回聞かれますので,二回タイプします.Samba に接続するときのパスワードになります.

ユーザーの削除は,次のようにします.

$ sudo  pdbedit  -x  ユーザー名

ユザーの一覧を表示するコマンドは以下のとおりです.

$ sudo  pdbedit  -L
      $ sudo  pdbedit  -L  -v        詳細情報表示

クライアント側の設定

Windows

コマンド「net view」を使って,サーバー側の共有情報を確認しましょう.コマンドプロンプトが以下のようになれば,OKです.

C:\Users\yamamoto>net view 192.168.1.82
192.168.1.81 の共有リソース

www2 server (Samba, Ubuntu)

共有名    タイプ  使用  コメント

-------------------------------------------------------------------------------
share     Disk
yamamoto  Disk          Home Directories for yamamoto
コマンドは正常に終了しました。

この後は簡単です.Windows のコンピューターを開き,「ネットワークドライブの割り当て」をフォルダーのボタン [参照] をクリックします.そして,フォルダーを選択します.共有ディレクトリーが現れない場合は,直接,IPアドレスと共有ディレクトリー「\\192.168.1.82\yamamoto」を記述します (図1).「サイン時に再接続する (R)」をチェックすると良いかも.

Ubuntu の共有ディレクトリーが見えない場合は,エクフプローラー (ファイルマネージャー) のネットワークをクリックし,ネットワークの入力欄に,IP アドレス「192.168.1.82」をタイプします (図2).すると共有ディレクトリーが表示されるはずです.

図1: ネットワークドライブの割り当て

図2: ネットワークから設定

Linux

設定

Samba クライアントには,cifs-utils が必要です.以下のコマンドでインストールします.

$ sudo  apt-get  install  cifs-utils

次に,マウントポイントつくります.サーバーのホームディレクトリー(/home/yamamoto)のマウントポイントは「/mnt/www_serve3」とします.以下のコマンドによりマウントポイントをつくります.

$ cd ~
$ mkdir  www_server3        ホームディレクトリーのマウントポイント
$ chmod  775  www_server3

その後,以下のようにして,サーバーのホームディレクトリーをマウントします.

$ cd ~
$ sudo mount  -t  cifs  -o  user=yamamoto  //192.168.1.82/yamamoto  www_server3/
Password for yamamoto@//192.168.1.82/yamamoto: パスワードを入れる

これで,サーバー(192.168.1.82)の「/home/yamamoto」がクライアントの「/mnt/yamamoto/www_server3」にマウントされます.必要ないとは思いますが,アンマウントしたい場合は,以下のようにします.

$ sudo umount  www_server3/

起動時にマウント

毎回手動でマウントするのもやっかいなので,起動時にマウントするようにします.以下を「/etc/fstab」に追記します.以下の例は,「//192.168.1.81/yamamoto」を「/home/yamamoto/www_server_yamamoto/」に,「//192.168.1.81/share」を「/home/yamamoto/www_server_share/」にマウントします.

//192.168.1.82/yamamoto /home/yamamoto/www_server3/ cifs uid=yamamoto,username=yamamoto,password=パスワード,rw 0 0

PC を再起動することなくこの設定を反映させるために,以下のコマンドを実行します.

# mount  -a

エラーが起きた場合

samba の設定は結構難しく,ヒラーが発生することが多いです.また,上手く動いていても,何かの拍子に接続できなくなることがあります.そんな時,smbclient が便利です.

理由は不明ですが,あるときから,samba への接続ができなくなりました.また,理由は分かりませんが,再起動「service smbd restart」すると,接続できます.原因が分かったら詳細を記述します.

ページ作成情報

参考資料

更新履歴

2019年08月13日 ページの新規作成


no counter