CentOS 6/samba



前書き

ここでは samba を RPM のパッケージでインストールする方法を記載します。


Sambaインストール

sambaがインストールされているか確認します。

# rpm -qa samba
samba-3.5.10-114.el6.x86_64

上記パッケージが表示されない場合は下記のコマンドでインストールします。

# yum -y install samba 


samba設定変更

運用方針

どのような運用を行うかで設定が大きく変わってきます。

  • 全員が自由にアクセスできるように公開
  • 個人専用として公開
  • 特定の個人(複数人)に公開

このほかに特定の個人には書き込みを許可して、他の人には読み込みだけ…など。
そういった運用方針が多様にあるため、ここでは特に設定内容については触れません。
日本Sambaユーザ会 の方で 日本語ドキュメント が用意されています。
この他、検索サイトなどで自分にあった設定方法を探してください。


smb.confの編集

デフォルトの設定ファイルを退避します。

# cp /etc/samba/smb.conf /etc/samba/smb.conf.rpmdefault

設定ファイルを編集します。

# vi /etc/samba/smb.conf

大きく分けて3つのセクションから成り立っています。

[global]サーバ全体に関する設定を行うセクション。
各セクションのデフォルト値を設定可能
[homes]ユーザーのホームディレクトリに関する設定を行うセクション
[printers]プリンタの共有に関する設定を行うセクション
  • [global] セクション
    • ネットワーク関係の設定
      socket address = (サーバーIPアドレス)
      smb ports = 139

    • 共有プリンタを使用しない場合
              load printers = yes
              cups options = raw
      
      ;       printcap name = /etc/printcap
              #obtain list of printers automatically on SystemV
              printcap name = lpstat
              printing = cups
       ↓↓
              load printers = no
      ;       cups options = raw
      ;       printcap name = /etc/printcap
      
              #obtain list of printers automatically on SystemV
      ;       printcap name = lpstat
      ;       printing = cups
              disable spoolss = yes
  • [homes] セクション
  • [printers] セクション


sambaユーザーの登録

sambaを利用するユーザーの登録します。
パスワードを要求されますので、2回入力します。
ここでは例として john で登録します。

# pdbedit -a john
New SMB password: (パスワードを入力)
Retype new SMB password: (パスワードを入力)


Sambaユーザー管理コマンド

  • 利用ユーザーの登録
    # pdbedit -a XXXX
  • Sambaユーザーの一覧表示
    # pdbedit -L
    または
    # pdbedit -L -v
  • Sambaユーザーのパスワード変更
    # smbpasswd XXXXX
  • Sambaユーザーの削除
    # pdbedit -x XXXXX


その他

/var/log/message に出力されるエラーメッセージの対処方法

  • Could not find child XXXX -- ignoring
    3.5.10のバグで 3.5.11で改修されます。
    暫定的な対応としては /etc/samba/smb.conf に printcap cache time の時間設定を追記することで対応可能
    詳しい情報については CentOS Bug Tracker を参照
    /etc/samba/smb.conf の [global] セクション下に追記
    printcap cache time = 0
  • smbd_open_once_socket: open_socket_in: アドレスは既に使用中です
    /etc/samba/smb.conf の [global] セクション下に追記
    socket address = (サーバーIPアドレス)
  • getpeername failed. Error was 通信端点が接続されていません
    Mar 21 20:43:05 (サーバー名) smbd[18385]: read_fd_with_timeout: client 0.0.0.0 read error = 接続が相手からリセットされました.
    /etc/samba/smb.conf の [global] セクション下に追記
    smb ports = 139

/etc/samba/smb.conf の設定を変更した場合は必ず 再起動を行います。

# /etc/init.d/smb restart




Last-modified: 2015-04-23 (木) 17:53:05 (1005d)