# Samba (日本語)

Summary help replacing me
Installing, configuring and troubleshooting Samba
Related
NFS
Samba Domain Controller

Samba はSMB/CIFSプロトコルを再実装し、ファイルとプリンタをLinuxとWindows間で共有するための、NFSの代替となるソフトウェアです。たいていのユーザーは、Sambaは簡単に設定でき、とても簡単に動作すると言います。しかし、多くの新規ユーザーは、Sambaの中身が複雑だったり、非直感的なメカニズムから問題に直面することがあります。 そのようなユーザーは、これから示すことに離れずに従ってください。

## 必要なパッケージ

### サーバ

Sambaでファイルを共有するために、Official repositoriesからsambaをインストールします。

### クライアント

Samba/SMB/CIFSサーバにアクセスするために、Official repositoriesからsmbclientをインストールします。

## サーバの設定

サービスを開始する前に`/etc/samba/smb.conf`を作成しなければなりません。一度設定すると、SWATのような先進的な設定インターフェースを使って設定することができます。 root特権で、Sambaのデフォルト設定ファイルを`/etc/samba/smb.conf`にコピーします

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

### 共有フォルダの設定をする

`/etc/samba/smb.conf`を編集し、Share Definitionsセクションまでスクロールします。デフォルトの設定では自動的に各ユーザーのホームディレクトリーが記述されています。それからプリンターのための設定もなされています。

この設定ファイルにはいくつかの設定例が記述されています。共有のための他の情報は`man smb.conf`に存在します。これ はオンラインバージョンです。

### ユーザーを追加する

Sambaの共有フォルダにアクセスするために、ユーザーを作成する必要があります。このユーザーはサーバ上で絶対に Linux user accountに同じ名前で既に存在しなければなりません。でなければSambaにユーザ情報を登録するために実行する以下のコマンドは失敗します。

    # pdbedit -a -u <user>

Note: バージョン3.4.0でsmbpasswdはデフォルトで使われなくなりました。既存のsmbpasswdデータベースは、新しいフォーマットに変換することができます。converted to the new format

### ウェブ上で設定する(SWAT)

SWAT (Samba Web Administration Tool) はSamba suiteの一部の設備です。 このツールを利用しなくても設定はできるので、利用するかどうかは個人の判断にお任せします。このツールは、文脈に依存した素早い設定と`smb.conf`の各パラメーターの設定を許可します。 SWATはさらに、現在の接続状態をモニタリングするためのインターフェースを提供し、Windowsネットワークのパスワードマネージメントを許可します。

Warning: Before using SWAT, be warned that SWAT will completely replace `/etc/samba/smb.conf` with a fully optimized file that has been stripped of all comments, and only non-default settings will be written to the file.

SWATを使うために、Official repositoriesからxinetdをインストールします。

`/etc/xinetd.d/swat`を編集します。SWATを有効にするために`disable = yes`を`disable = no`に変更します.

    /etc/xinetd.d/swat

    service swat
    {
            type                    = UNLISTED
            protocol                = tcp
            port                    = 901
            socket_type             = stream
            wait                    = no
            user                    = root
            server                  = /usr/sbin/swat
            log_on_success          += HOST DURATION
            log_on_failure          += HOST
            disable                 = no
    }

Alternatively, add an entry for swat to `/etc/services` and omit the first 3 lines of the configuration.

それから"xinetd"デーモンを開始します。daemon.

Webインターフェースへはデフォルトで901ポートを使ってアクセスできます。 `http://localhost:901/`

Note: An all-encompasing Webmin tool is also available, and the SWAT module can be loaded there.

### サービスを開始する

smbdとnmbd daemonを使って、Sambaを開始/有効にします。

## クライアントの設定

これは共有するリソースにアクセスするための2つの方法です。1つめの方法はシステムの基本的なやり方で、2つめの方法は共有するリソースをユーザーが選択するためのインターフェースです。たいていの環境下では1つめの方法が採用されています。

### 手動マウント

Official repositoriesからsmbclientをインストールします。

サーバから共有される公開リストを表示します:

    $ smbclient -L <hostname> -U%

共有するためにマウントポイントを作成します:

    # mkdir /mnt/MOUNTPOINT

`mount.cifs`と入力し、共有フォルダをマウントします。これらのオプションは全て必要ではいので、必要/不必要に分けて選択してください(passwordなど)。

    # mount -t cifs //SERVER/SHARENAME /mnt/MOUNTPOINT -o user=USERNAME,password=PASSWORD,workgroup=WORKGROUP,ip=SERVERIP

`SERVER`

  Windowsマシンの名前を入力します。

`SHARENAME`

  共有されたディレクトリの名前を入力します。

`MOUNTPOINT`

  マウントされるローカルディレクトリ名を入力します。

`-o [options]`

  詳しくは`man mount.cifs`を見てください:

Note: 最後の/を付け忘れると動きません

#### /etc/fstabに共有フォルダを追加

最も簡単な方法はfstabにこのようなエントリーを記述することです:

    /etc/fstab

    //SERVER/SHARENAME /mnt/MOUNTPOINT cifs noauto,username=USER,password=PASSWORD,workgroup=WORKGROUP,ip=SERVERIP 0 0

しかし、読み込み可能なファイルに強いパスワードを記述するこは良いことではありません。証明書ファイルを使用することで安全に認証することができます。下の一例のようにファイルを作成し、`chmod 600 <filename>` を実行して、所有してるユーザーだけが読み書きが可能な状態にしてください:

    /path/to/credentials/sambacreds

    username=USERNAME
    password=PASSWORD

従ってfstabの記述は、以下のようになります。

    /etc/fstab

    //SERVER/SHARENAME /mnt/MOUNTPOINT cifs noauto,username=USER,credentials=/path/to/credentials/sambacreds,workgroup=WORKGROUP,ip=SERVERIP 0 0

systemdを使っているなら、comment=systemd.automountオプションを使うことによって起動時間が数秒早くなります。そして、少し作業を楽にするために、uidとgidオプションを使用し、ユーザーとグループをマップすることができます:

    /etc/fstab

    //SERVER/SHARENAME /mnt/MOUNTPOINT cifs noauto,credentials=/path/to/smbcredentials,comment=systemd.automount,uid=USERNAME,gid=USERGROUP 0 0

#### ユーザーマウント

    /etc/fstab

    //SERVER/SHARENAME /mnt/MOUNTPOINT cifs users,noauto,credentials=/path/to/smbcredentials,workgroup=WORKGROUP,ip=SERVERIP 0 0

Note: Note:記述の中でusersとなっていますが、mountコマンドで扱うのは大抵複数形でないuserの方です

これにより、マウントポイントはユーザーの管理下のディレクトリ(ユーザーのホームディレクトリなど)にマウントすることができるようになります。 ユーザーが所有していないSambaで共有されるフォルダを一般ユーザーから、マウント/アンマウントを許可するためにsmbnetfsや特権を付与するsudoを使ってください。

### 自動マウント

共有されたリソースを簡単に観覧するためのいくつかの方法です:

#### smbnetfs

Official repositoriesからsmbnetfsをインストールします。

`/etc/fuse.conf`に以下を記述します:

    user_allow_other

そして`fuse` kernel moduleを読み込みます:

    # modprobe fuse

共有するフォルダでユーザーネームとパスワードの入力が必要なら、/etc/smbnetfs/.smb/smbnetfs.conf を編集して、authのコメントアウトを外します。

    /etc/smbnetfs/.smb/smbnetfs.conf

    auth			"hostname" "username" "password"

`chmod 600 /etc/smbnetfs/.smb/smbnetfs.conf`を実行し、smbnetfsを正常に動かすためにいくつかのファイルが読み込まれます。

##### デーモン

smbnetfs daemonを開始し有効にします。

#### fusesmb

Note: `smbclient 3.2.X`は`fusesmb`と一緒に実行することはできません。必要なら古いバージョンを使ってください。詳細はrelevant forum topicを見てください。

1. Arch User Repositoryからfusesmbをインストールします。
2. マウントポイントを作成します: `# mkdir /mnt/fusesmb`
3. `fuse` kernel moduleを読み込みます。
4. 共有を有効にします:

       # fusesmb -o allow_other /mnt/fusesmb

#### autofs

linuxのためのkernelベースのオートマウンターです。詳しくはAutofsを見てください。

### ファイルマネージャーの設定

#### Nautilus

Nautilusを通してSambaの共有フォルダにアクセスするために、Official repositoriesからgvfs-smbとgnome-vfsパッケージをインストールします。 `Ctrl+L`を押下し`smb://servername/share`のように、あなたが共有したいフォルダをロケーションバーに入力しエンターキーを押下します。 マウントされた共有フォルダはファイルシステムの`/run/user/<your UID>/gvfs`にあります。

#### Thunarとpcmanfm

Thunarかpcmanfmからアクセスするために、Official repositoriesからgvfs-smbをインストールします。 それから`smb://servername/share`のように、あなたが共有したいフォルダを入力します。

#### KDE

KDEはSambaをブラウスするための機能が既に導入されています。従って追加のパッケージをインストールする必要はありません。しかし、KDEのシステム設定のためのGUIにはOfficial repositoriesからkdenetwork-filesharingパッケージが必要です。

#### 他のグラフィカル環境

There are a number of useful programs, but they may need to have packages created for them. This can be done with the Arch package build system. The good thing about these others is that they do not require a particular environment to be installed to support them, and so they bring along less baggage.

- pyneighborhood is available in the Official repositories.
- LinNeighborhood, RUmba, xffm-samba plugin for Xffm are not available in the official repositories or the AUR. As they are not officially (or even unofficially supported), they may be obsolete and may not work at all.

## See also

- Tips and tricks - A dedicated page for alternate configurations and suggestions.
- Troubleshooting - A dedicated page for solving common (or not so common) issues.
- Samba: An Introduction
- Official Samba site

Categories:

- Networking (日本語)
- Security (日本語)