Samba (日本語)

From ArchWiki
Jump to: navigation, search

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary end


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

必要なパッケージ

サーバ

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

クライアント

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

サーバの設定

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

The /etc/samba/smb.conf file must be created before starting the service. Once that is set up, users may opt for using an advanced configuration interface like 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に存在します。Here これはオンラインバージョンです。

ユーザーを追加する

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) は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 = yesdisable = 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.

サービスを開始する

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

クライアントの設定

Shared resources from other computers on the LAN may be accessed and mounted locally by GUI or CLI methods. The graphical manner is limited since most lightweight Desktop Environments do not have a native way to facilitate accessing these shared resources.

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

手動マウント

Official Repositoriesから{pkg|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

最近arch linuxをインストールし、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.Xfusesmbと一緒に実行することはできません。必要なら古いバージョンを使ってください。詳細はrelevant forum topicを見てください。
  1. Arch User RepositoryからfusesmbAURをインストールします。
  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-smbgnome-vfsパッケージをインストールします。 Template:Keypressを押下し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