<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://wiki.archlinux.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Take100yen</id>
	<title>ArchWiki - 利用者の投稿記録 [ja]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.archlinux.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Take100yen"/>
	<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php/%E7%89%B9%E5%88%A5:%E6%8A%95%E7%A8%BF%E8%A8%98%E9%8C%B2/Take100yen"/>
	<updated>2026-04-18T03:59:26Z</updated>
	<subtitle>利用者の投稿記録</subtitle>
	<generator>MediaWiki 1.44.3</generator>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Samba&amp;diff=15094</id>
		<title>Samba</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Samba&amp;diff=15094"/>
		<updated>2019-10-27T12:45:55Z</updated>

		<summary type="html">&lt;p&gt;Take100yen: /* 手動マウント */ mount のオプションを正しいものに修正&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ネットワーク共有]]&lt;br /&gt;
[[cs:Samba]]&lt;br /&gt;
[[da:Samba]]&lt;br /&gt;
[[de:Samba]]&lt;br /&gt;
[[en:Samba]]&lt;br /&gt;
[[es:Samba]]&lt;br /&gt;
[[fr:Samba]]&lt;br /&gt;
[[it:Samba]]&lt;br /&gt;
[[ru:Samba]]&lt;br /&gt;
[[sr:Samba]]&lt;br /&gt;
[[zh-hans:Samba]]&lt;br /&gt;
[[zh-hant:Samba]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|Active Directory Integration}}&lt;br /&gt;
{{Related|Samba/Active Directory ドメインコントローラ}}&lt;br /&gt;
{{Related|NFS}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Samba&#039;&#039;&#039; は [[wikipedia:ja:Server_Message_Block|SMB/CIFS]] ネットワークプロトコルの再実装であり、NFS の代わりになるものとして Linux と Windows システム間でのファイルやプリンターの共有を容易にします。Samba の設定は簡単で操作もわかりやすいと言うユーザーもいますが、新規ユーザーの多くは複雑で直感的でないメカニズムが手を余らせることになります。この記事では Samba をセットアップする手順を説明します。&lt;br /&gt;
&lt;br /&gt;
==サーバーの設定==&lt;br /&gt;
&lt;br /&gt;
Samba を使ってファイルを共有するには、{{Pkg|samba}} パッケージを[[pacman#特定のパッケージのインストール|インストール]]してください。&lt;br /&gt;
&lt;br /&gt;
===smb.conf===&lt;br /&gt;
&lt;br /&gt;
Samba サーバーの設定は {{ic|/etc/samba/smb.conf}} で行います。ファイルが存在しないと smbd は起動に失敗します。&lt;br /&gt;
&lt;br /&gt;
[https://git.samba.org/samba.git/?p=samba.git;a=blob_plain;f=examples/smb.conf.default;hb=HEAD こちら] にあるデフォルトの Samba 設定ファイルを {{ic|/etc/samba/smb.conf}} にコピーしてください:&lt;br /&gt;
 # wget &amp;quot;https://git.samba.org/samba.git/?p=samba.git;a=blob_plain;f=examples/smb.conf.default;hb=HEAD&amp;quot; -O /etc/samba/smb.conf&lt;br /&gt;
&lt;br /&gt;
{{Tip|デフォルト設定ではログファイルが書き込みできない場所に設定されているため、エラーが発生します。次のように変更すると良いでしょう: {{ic|log file &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; /var/log/samba/%m.log}}。}}&lt;br /&gt;
&lt;br /&gt;
利用可能なオプションは {{man|5|smb.conf}} の man ページを参照してください。また、{{man|1|testparm}} コマンドを実行することで samba 設定ファイルが正しいかどうか確認できます。&lt;br /&gt;
&lt;br /&gt;
===共有を作成する===&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/samba/smb.conf}} を編集して、&#039;&#039;&#039;Share Definitions&#039;&#039;&#039; セクションまでスクロールしてください。デフォルトの設定では、それぞれのユーザーのホームディレクトリに共有を自動で作成します。ただし、users ワイルドカードを追加しないとユーザーはログインすることができません:&lt;br /&gt;
{{hc|/etc/samba/smb.conf|2=&lt;br /&gt;
...&lt;br /&gt;
[homes]&lt;br /&gt;
   comment = Home Directories&lt;br /&gt;
   browseable = no&lt;br /&gt;
   writable = yes&lt;br /&gt;
   valid users = %S&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ic|smb.conf}} の {{ic|workgroup}} は使用する Windows のワークグループと同じ値に設定してください (デフォルト: {{ic|WORKGROUP}})。&lt;br /&gt;
&lt;br /&gt;
===サービスを起動する===&lt;br /&gt;
&lt;br /&gt;
{{Note|{{Pkg|samba}} 4.8.0-1 からユニットの名前が {{ic|smbd.service}}, {{ic|nmbd.service}}, {{ic|winbindd.service}} から {{ic|smb.service}}, {{ic|nmb.service}}, {{ic|winbind.service}} に変更になっています。}}&lt;br /&gt;
&lt;br /&gt;
SMB の基本的なファイル共有をするには、{{ic|smb}} と {{ic|nmb}} サービスを[[Systemd#ユニットを使う|起動]]してください。詳しくは {{man|8|smbd}} と {{man|8|nmbd}} のマニュアルページを見て下さい。&lt;br /&gt;
&lt;br /&gt;
===ユーザー定義共有を作成する===&lt;br /&gt;
{{Note|これはオプション機能です。必要なければこのセクションをスキップしてください。}}&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Usershares&amp;quot; は root 以外のユーザーで共有の定義を追加、変更、および削除できるようにする機能です。&lt;br /&gt;
&lt;br /&gt;
次のコマンドは {{ic|/var/lib/samba}} に usershares ディレクトリを作成します:&lt;br /&gt;
&lt;br /&gt;
 # mkdir -p /var/lib/samba/usershares&lt;br /&gt;
&lt;br /&gt;
次のコマンドは sambashare グループを作成します:&lt;br /&gt;
&lt;br /&gt;
 # groupadd -r sambashare&lt;br /&gt;
&lt;br /&gt;
次のコマンドは root に作成したディレクトリの所有者とグループを変更します:&lt;br /&gt;
&lt;br /&gt;
 # chown root:sambashare /var/lib/samba/usershares&lt;br /&gt;
&lt;br /&gt;
次のコマンドは usershares ディレクトリのパーミッションを変更して sambashare グループのユーザーがファイルを読み書き・実行できるようにします:&lt;br /&gt;
&lt;br /&gt;
 # chmod 1770 /var/lib/samba/usershares&lt;br /&gt;
&lt;br /&gt;
{{ic|smb.conf}} 設定ファイルに以下の変数を設定します:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/samba/smb.conf|2=&lt;br /&gt;
...&lt;br /&gt;
[global]&lt;br /&gt;
  usershare path = /var/lib/samba/usershares&lt;br /&gt;
  usershare max shares = 100&lt;br /&gt;
  usershare allow guests = yes&lt;br /&gt;
  usershare owner only = yes&lt;br /&gt;
  ...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ic|sambashare}} グループにあなたのユーザーを追加してください、{{ic|&#039;&#039;your_username&#039;&#039;}} はあなたの linux ユーザーの名前に置き換えてください:&lt;br /&gt;
&lt;br /&gt;
 # gpasswd sambashare -a &#039;&#039;your_username&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{ic|smb.service}} と {{ic|nmb.service}} サービスを再起動します。&lt;br /&gt;
&lt;br /&gt;
一度ログアウトして再ログインしてください。これで GUI を使って samba 共有を設定することができます。例えば、[[Thunar]] でディレクトリを右クリックしてネットワーク上に共有することが可能です。エラー {{ic|You are not the owner of the folder}} が表示されるときは、システムを再起動してみてください。&lt;br /&gt;
&lt;br /&gt;
{{Note|[[Thunar]] で上記の操作をするためには、{{AUR|thunar-shares-plugin}} パッケージをインストールする必要があります。また、他のユーザーにも共有する場合は、上記設定を {{ic|&amp;lt;nowiki&amp;gt;usershare owner only = no&amp;lt;/nowiki&amp;gt;}} に変更し、共有するディレクトリにはアクセス権限を付与してください。}}&lt;br /&gt;
&lt;br /&gt;
===ユーザーを追加する===&lt;br /&gt;
&lt;br /&gt;
Samba は Linux ユーザーアカウントを必要とします。既存のユーザーアカウントを使用することもできますし、新しく[[ユーザーとグループ#ユーザー管理|ユーザーを作成]]することもできます。&lt;br /&gt;
&lt;br /&gt;
ユーザー名は Linux 環境と共有しますが、パスワードは Linux のユーザーアカウントと Samba で異なります。{{ic|samba_user}} は Samba ユーザーアカウントに置き換えてください:&lt;br /&gt;
&lt;br /&gt;
 # pdbedit -a -u &#039;&#039;samba_user&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html#SERVERROLE サーバーロール] によっては、Samba ユーザーアカウントの既存の[[ファイルのパーミッションと属性]]を変更する必要があります。&lt;br /&gt;
&lt;br /&gt;
新規ユーザーだけが Samba のファイルサーバー共有にリモートからアクセスできるようにしたい場合、他のログインオプションを制限します：&lt;br /&gt;
&lt;br /&gt;
*シェルを無効化 - {{ic|usermod --shell /usr/bin/nologin --lock username}}。&lt;br /&gt;
*SSH ログインを無効化 - {{ic|/etc/ssh/sshd_conf}} を編集して {{ic|AllowUsers}} オプションを変更。&lt;br /&gt;
&lt;br /&gt;
システムの堅牢化については[[セキュリティ]]を見てください。&lt;br /&gt;
&lt;br /&gt;
===ユーザーを一覧する===&lt;br /&gt;
&lt;br /&gt;
Samba のユーザーは {{man|8|pdbedit}} コマンドで確認できます:&lt;br /&gt;
&lt;br /&gt;
 # pdbedit -L -v&lt;br /&gt;
&lt;br /&gt;
===samba ユーザーのパスワードを変更する===&lt;br /&gt;
&lt;br /&gt;
{{Note|バージョン 3.4.0 から、smbpasswd はデフォルトで使用されなくなっています。既存の smbpasswd データベースは新しいフォーマットに変換することが可能です。}}&lt;br /&gt;
&lt;br /&gt;
ユーザーのパスワードを変更するには、{{ic|smbpasswd}} を使って下さい:&lt;br /&gt;
&lt;br /&gt;
 # smbpasswd &#039;&#039;samba_user&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===必要なポート===&lt;br /&gt;
&lt;br /&gt;
[[ファイアウォール]]を使う場合は、必要なポートを開くことを忘れないでください (通常は、137-139 + 445)。必要なポートのリストは次を参照: [https://www.samba.org/~tpot/articles/firewall.html Samba port usage]。&lt;br /&gt;
&lt;br /&gt;
===サンプル設定===&lt;br /&gt;
設定オプションの詳しい説明は {{man|5|smb.conf}} を見て下さい。オンライン版は [http://www.samba.gr.jp/project/translation/3.5/htmldocs/manpages-3/smb.conf.5.html こちら] になります。&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/samba/smb.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[global]&lt;br /&gt;
  deadtime = 60 ; This is useful to stop a server&#039;s resources being exhausted by a large number of inactive connections&lt;br /&gt;
  disable netbios = yes ; Disable netbios announcing&lt;br /&gt;
  dns proxy = no ; nmbd spawns a second copy of itself to do the DNS name lookup requests on &#039;yes&#039;&lt;br /&gt;
  hosts allow = 192.168.1. 127. 10. ; This parameter is a comma, space, or tab delimited set of hosts which are permitted to access a service&lt;br /&gt;
  invalid users = root ; This is a list of users that should not be allowed to login to this service&lt;br /&gt;
  security = user ; Use as standalone file server&lt;br /&gt;
  map to guest = Bad User ; Means user logins with an invalid password are rejected, or allow guest login and mapped into the guest account&lt;br /&gt;
  max connections = 100 ; Number of simultaneous connections to a service to be limited&lt;br /&gt;
  workgroup = WORKGROUP ; Workgroup the server will appear to be in when queried by clients&lt;br /&gt;
&lt;br /&gt;
  ; Uncomment the following lines to disable printer support&lt;br /&gt;
  ;load printers = no&lt;br /&gt;
  ;printing = bsd&lt;br /&gt;
  ;printcap name = /dev/null&lt;br /&gt;
  ;disable spoolss = yes&lt;br /&gt;
&lt;br /&gt;
  ; Default permissions for all shares  &lt;br /&gt;
  inherit owner = yes ; Take the ownership of the parent directory when creating files/folders&lt;br /&gt;
  create mask = 0664 ; Create file mask&lt;br /&gt;
  directory mask = 0775 ; Create director mask&lt;br /&gt;
  force create mode = 0664 ; Force create file mask&lt;br /&gt;
  force directory mode = 0775 ; Force create directory mask&lt;br /&gt;
&lt;br /&gt;
; Private Share&lt;br /&gt;
[private] ; translate into: \\server\private&lt;br /&gt;
  comment = My Private Share ; Seen next to a share when a client queries the server&lt;br /&gt;
  path = /path/to/data ; Directory to which the user of the service is to be given access&lt;br /&gt;
  read only = no ; An inverted synonym to writeable.&lt;br /&gt;
  valid users = user1 user2 @group1 @group2; restrict a service to a particular set of users and/or groups&lt;br /&gt;
&lt;br /&gt;
; Public Share&lt;br /&gt;
;[public]&lt;br /&gt;
; comment = My Public Share&lt;br /&gt;
; path = /path/to/public&lt;br /&gt;
; read only = yes&lt;br /&gt;
; guest ok = yes; No password required to connect to the service&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
設定の変更を適用するために {{ic|smb}} や {{ic|nmb}} サービスを再起動してください。&lt;br /&gt;
&lt;br /&gt;
==クライアントの設定==&lt;br /&gt;
&lt;br /&gt;
公開されている共有の確認などをする必要がない場合、{{ic|/usr/bin/mount.cifs}} が含まれている {{Pkg|cifs-utils}} だけをインストールしてください。&lt;br /&gt;
&lt;br /&gt;
FTP ライクなコマンドラインインターフェイスを使うには {{Pkg|smbclient}} をインストールします。よく使うコマンドは {{man|1|smbclient}} を見てください。&lt;br /&gt;
&lt;br /&gt;
{{Note|{{Pkg|smbclient}} は {{ic|/etc/samba/smb.conf}} ファイルを必要とします。touch で空のファイルを作成するか、あるいはデフォルトの [[#smb.conf|smb.conf]] からコピーしてください。}}&lt;br /&gt;
&lt;br /&gt;
[[デスクトップ環境]]によっては、GUI で設定することができます。ファイルマネージャを使用する方法は[[#ファイルマネージャの設定|ファイルマネージャの設定]]を見てください。&lt;br /&gt;
&lt;br /&gt;
{{Note|{{Pkg|cifs-utils}} や {{Pkg|smbclient}} をインストールしたら、{{ic|cifs}} [[カーネルモジュール]]をロードするか再起動が必要です。}}&lt;br /&gt;
&lt;br /&gt;
===公開されている共有の確認===&lt;br /&gt;
以下のコマンドでパブリックな共有を確認できます:&lt;br /&gt;
&lt;br /&gt;
 $ smbclient -L &#039;&#039;hostname&#039;&#039; -U%&lt;br /&gt;
&lt;br /&gt;
もしくは、&#039;&#039;smbtree&#039;&#039; を実行して共有のツリー図を表示します。コンピュータが多数接続されているネットワークでは推奨しませんが、共有名が正しいかどうか確認するのに役立ちます:&lt;br /&gt;
&lt;br /&gt;
 $ smbtree -b -N&lt;br /&gt;
&lt;br /&gt;
{{ic|-b}} ({{ic|--broadcast}}) オプションはマスターブラウザの代わりにブロードキャストを使用し、{{ic|-N}} ({{ic|-no-pass}}) はパスワードを要求しないオプションです。&lt;br /&gt;
&lt;br /&gt;
===NetBIOS/WINS ホストネーム===&lt;br /&gt;
&lt;br /&gt;
ホストネームを解決するには {{ic|winbind}} を[[起動]]・[[有効化]]する必要があります。&lt;br /&gt;
&lt;br /&gt;
{{pkg|smbclient}} パッケージに WINS を使用してホストネームを解決するドライバーが含まれています。有効にするには、{{ic|/etc/nsswitch.conf}} の &amp;quot;hosts&amp;quot; 行に {{ic|wins}} を追加してください。&lt;br /&gt;
&lt;br /&gt;
===手動マウント===&lt;br /&gt;
&lt;br /&gt;
共有のマウントポイントを作成:&lt;br /&gt;
&lt;br /&gt;
 # mkdir /mnt/&#039;&#039;mountpoint&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{ic|mount.cifs}} タイプを使って共有をマウントします。下で示しているオプションが全て必要・推奨というわけではありません:&lt;br /&gt;
{{bc|1=&lt;br /&gt;
# mount -t cifs //&#039;&#039;SERVER&#039;&#039;/&#039;&#039;sharename&#039;&#039; /mnt/&#039;&#039;mountpoint&#039;&#039; -o username=&#039;&#039;username&#039;&#039;,password=&#039;&#039;password&#039;&#039;,uid=&#039;&#039;username&#039;&#039;,gid=&#039;&#039;group&#039;&#039;,workgroup=&#039;&#039;workgroup&#039;&#039;,ip=&#039;&#039;serverip&#039;&#039;,iocharset=&#039;&#039;utf8&#039;&#039;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
マウントポイントがユーザーの制御下にあるディレクトリ (例: ユーザーのホームディレクトリ) の場合、{{ic|users}} マウントオプションを追加することでユーザーにマウントを許可できます。&lt;br /&gt;
&lt;br /&gt;
{{Note|オプションは user&#039;&#039;&#039;s&#039;&#039;&#039; です (複数形)。他のファイルシステムでは通常 &#039;&#039;user&#039;&#039; オプションを使用します。}}&lt;br /&gt;
{{Warning|{{ic|uid}} や {{ic|gid}} マウントオプションを使用して I/O エラーが発生する場合、[[ファイルのパーミッションと属性]]を設定・確認することを推奨します。}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;SERVER&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:サーバーの名前。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;sharename&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:共有ディレクトリ。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;mountpoint&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:共有をマウントするローカルのディレクトリ。&lt;br /&gt;
&lt;br /&gt;
{{ic|&amp;lt;nowiki&amp;gt;-o [options]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
:詳しくは {{man|8|mount.cifs}} を見て下さい。&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
* 最後に {{ic|/}} を使うのは止めて下さい。{{ic|//&#039;&#039;SERVER&#039;&#039;/&#039;&#039;sharename&#039;&#039;&#039;&#039;&#039;/&#039;&#039;&#039;}} は動作しません。&lt;br /&gt;
* マウントが不安定で、途切れたりフリーズする場合、{{ic|1=vers=}} オプションを使って他の SMB プロトコルバージョンを有効にしてみてください。例えば、Windows Vista のマウントには {{ic|1=vers=2.0}} を使ってみて下さい。&lt;br /&gt;
* シャットダウン時に cifs でマウントしたネットワーク共有のタイムアウトが発生する場合、[[WPA supplicant#ネットワーク共有 (cifs) をマウントしたときにシャットダウン時に起こる問題]]を参照。&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====共有パスワードの保存====&lt;br /&gt;
誰でも読み取れるファイルにパスワードを保存することは推奨しません。credentials ファイルを作成するのが安全です:&lt;br /&gt;
{{hc|/path/to/credentials/share|2=&lt;br /&gt;
username=&#039;&#039;myuser&#039;&#039;&lt;br /&gt;
password=&#039;&#039;mypass&#039;&#039;&lt;br /&gt;
}}&lt;br /&gt;
マウントコマンドの {{ic|&amp;lt;nowiki&amp;gt;username=myuser,password=mypass&amp;lt;/nowiki&amp;gt;}} を {{ic|&amp;lt;nowiki&amp;gt;credentials=/path/to/credentials/share&amp;lt;/nowiki&amp;gt;}} に置き換えてください。&lt;br /&gt;
&lt;br /&gt;
credential ファイルは root からしか読込・書込できないように設定するべきです:&lt;br /&gt;
 # chmod 600 /path/to/credentials/share&lt;br /&gt;
&lt;br /&gt;
===自動マウント===&lt;br /&gt;
{{Note|起動時に正しくマウントするには {{ic|systemd-networkd-wait-online.service}} ([[systemd-networkd]] を使用している場合) や {{ic|NetworkManager-wait-online.service}} ([[NetworkManager]] を使用している場合) を[[有効化]]する必要があります。}}&lt;br /&gt;
&lt;br /&gt;
====マウントエントリ====&lt;br /&gt;
&lt;br /&gt;
以下は認証が必要な {{ic|cifs}} [[fstab|マウントエントリ]]の例です:&lt;br /&gt;
{{hc|/etc/fstab|2=&lt;br /&gt;
//&#039;&#039;SERVER&#039;&#039;/&#039;&#039;sharename&#039;&#039; /mnt/&#039;&#039;mountpoint&#039;&#039; cifs username=&#039;&#039;myuser&#039;&#039;,password=&#039;&#039;mypass&#039;&#039; 0 0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Note|共有名に含まれている空白は {{ic|\040}} に置き換えてください (8進数の ASCII コード)。例えば、コマンドラインで {{ic|//&#039;&#039;SERVER&#039;&#039;/share name}} だったら {{ic|/etc/fstab}} では {{ic|//&#039;&#039;SERVER&#039;&#039;/share\040name}} となります。}}&lt;br /&gt;
&lt;br /&gt;
サービスの起動を高速化するために、{{ic|1=x-systemd.automount}} オプションをエントリに追加してください:&lt;br /&gt;
{{hc|/etc/fstab|2=&lt;br /&gt;
//&#039;&#039;SERVER&#039;&#039;/&#039;&#039;SHARENAME&#039;&#039; /mnt/&#039;&#039;mountpoint&#039;&#039; cifs credentials=&#039;&#039;/path/to/smbcredentials/share&#039;&#039;,x-systemd.automount 0 0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====systemd ユニット====&lt;br /&gt;
{{ic|/etc/systemd/system}} に新しい {{ic|.mount}} ファイルを作成してください。例: {{ic|mnt-myshare.mount}}。&lt;br /&gt;
&lt;br /&gt;
{{Note|ファイル名はマウントポイントにあわせてください。例えば共有フォルダを {{ic|/mnt/myshare}} にマウントする場合はユニット名は {{ic|mnt-myshare.mount}} となります。違うユニット名だと {{ic|1=systemd[1]: mnt-myshare.mount: Where= setting does not match unit name. Refusing.}} というエラーが発生します。}}&lt;br /&gt;
&lt;br /&gt;
*{{ic|1=Requires=}} は使用している[[ネットワーク|ネットワーク設定]]に置き換えてください。&lt;br /&gt;
*{{ic|1=What=}} は共有パスに置き換えてください。&lt;br /&gt;
*{{ic|1=Where=}} は共有をマウントするパスに置き換えてください。&lt;br /&gt;
*{{ic|1=Options=}} は共有のマウントオプションです。&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/systemd/system/mnt-myshare.mount|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Mount Share at boot&lt;br /&gt;
Requires=systemd-networkd.service&lt;br /&gt;
After=network-online.target&lt;br /&gt;
Wants=network-online.target&lt;br /&gt;
&lt;br /&gt;
[Mount]&lt;br /&gt;
What=//server/share&lt;br /&gt;
Where=/mnt/myshare&lt;br /&gt;
Options=credentials=/etc/samba/creds/myshare,iocharset=utf8,rw,x-systemd.automount&lt;br /&gt;
Type=cifs&lt;br /&gt;
TimeoutSec=30&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{ic|mnt-myshare.mount}} を使用するにはユニットを[[起動]]します。[[有効化]]すると起動時に共有がマウントされます。&lt;br /&gt;
&lt;br /&gt;
{{Note|(IP アドレスの代わりに) サーバーのホストネームを使って共有したい場合、{{ic|1=systemd-resolved.service}} を {{ic|1=After}} と {{ic|1=Wants}} に追加してください。起動時にマウントエラーが発生しなくなります。}}&lt;br /&gt;
&lt;br /&gt;
====smbnetfs====&lt;br /&gt;
&lt;br /&gt;
{{Note|1=smbnetfs は Samba のサーバー設定を必要とします。設定方法は上を見てください。}}&lt;br /&gt;
&lt;br /&gt;
まず、マウントしたい共有が全て見れるかどうか確認してください:&lt;br /&gt;
 $ smbtree -U &#039;&#039;remote_user&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
見れない場合、{{ic|/etc/samba/smb.conf}} 内の次の行を見つけて修正してください:&lt;br /&gt;
&lt;br /&gt;
 domain master = auto&lt;br /&gt;
&lt;br /&gt;
そして {{ic|smb}} と {{ic|nmb}} サービスを再起動してください。&lt;br /&gt;
&lt;br /&gt;
全てが問題なく動作するようになったら、{{Pkg|smbnetfs}} パッケージを[[pacman#特定のパッケージのインストール|インストール]]してください。&lt;br /&gt;
&lt;br /&gt;
次に、次の行を {{ic|/etc/fuse.conf}} に追加して:&lt;br /&gt;
&lt;br /&gt;
 user_allow_other&lt;br /&gt;
&lt;br /&gt;
{{ic|fuse}} [[カーネルモジュール]]をロードしてください:&lt;br /&gt;
&lt;br /&gt;
 # modprobe fuse&lt;br /&gt;
&lt;br /&gt;
さらに {{ic|/etc/smbnetfs/.smb}} ディレクトリをホームディレクトリにコピーします:&lt;br /&gt;
&lt;br /&gt;
 $ cp -a /etc/smbnetfs/.smb ~&lt;br /&gt;
&lt;br /&gt;
そして {{ic|smb.conf}} へのリンクを作成してください:&lt;br /&gt;
&lt;br /&gt;
 $ ln -sf /etc/samba/smb.conf ~/.smb/smb.conf&lt;br /&gt;
&lt;br /&gt;
共有フォルダにアクセスするのにユーザー名とパスワードが必要な場合は、{{ic|~/.smb/smbnetfs.auth}} を編集して以下のように一つ以上エントリを含めて下さい:&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.smb/smbnetfs.auth|&lt;br /&gt;
auth			&amp;quot;hostname&amp;quot; &amp;quot;username&amp;quot; &amp;quot;password&amp;quot;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
必要な場合、smbnetfs によってマウントする特定のホストのエントリを追加することも可能です。詳しくは {{ic|~/.smb/smbnetfs.conf}} に書いてあります。&lt;br /&gt;
&lt;br /&gt;
[[Dolphin]] や [[Nautilus]] ファイルマネージャを使用する場合、以下を {{ic|~/.smb/smbnetfs.conf}} に追加することで &amp;quot;Disk full&amp;quot; エラーを表示しないようにすることができます。デフォルトでは smbnetfs は空き容量が0バイトだと報告します:&lt;br /&gt;
{{hc|~/.smb/smbnetfs.conf|&lt;br /&gt;
free_space_size 1073741824&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
設定が完了したら、次を実行する必要があります:&lt;br /&gt;
 $ chmod 600 ~/.smb/smbnetfs.*&lt;br /&gt;
設定に問題があると、smbnetfs は {{ic|insecure config file permissions}} とエラーを吐きます。&lt;br /&gt;
&lt;br /&gt;
最後に、Samba ネットワークを指定したディレクトリにマウントするために、次を実行してください:&lt;br /&gt;
 $ smbnetfs &#039;&#039;mount_point&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=====デーモン=====&lt;br /&gt;
&lt;br /&gt;
Arch Linux パッケージは smbnetfs にシステム共通のオペレーションモードを追加しています。有効にするには、{{ic|/etc/smbnetfs/.smb}} ディレクトリで上記の修正を行う必要があります。&lt;br /&gt;
&lt;br /&gt;
そして、{{ic|smbnetfs}} [[デーモン]]を通常通りに起動・有効化できます。システム共通のマウントポイントは {{ic|/mnt/smbnet/}} になります。&lt;br /&gt;
&lt;br /&gt;
====autofs====&lt;br /&gt;
&lt;br /&gt;
Linux におけるカーネルベースの自動マウントの情報は [[Autofs]] を見て下さい。&lt;br /&gt;
&lt;br /&gt;
===ファイルマネージャの設定===&lt;br /&gt;
&lt;br /&gt;
====GNOME Files, Nemo, Caja, Thunar, PCManFM====&lt;br /&gt;
&lt;br /&gt;
[[GNOME Files]], [[Nemo]], Caja, [[Thunar]], [[PCManFM]] で samba 共有にアクセスするには {{Pkg|gvfs-smb}} パッケージをインストールしてください。&lt;br /&gt;
&lt;br /&gt;
{{ic|Ctrl+l}} を押してロケーションバーに {{ic|smb://&#039;&#039;servername&#039;&#039;/&#039;&#039;share&#039;&#039;}} と入力して共有にアクセスします。&lt;br /&gt;
&lt;br /&gt;
マウントされた共有はファイルシステムで {{ic|/run/user/&#039;&#039;your_UID&#039;&#039;/gvfs}} や {{ic|~/.gvfs}} にあるように見えます。&lt;br /&gt;
&lt;br /&gt;
====KDE====&lt;br /&gt;
&lt;br /&gt;
KDE には Samba 共有をブラウズするための機能が内蔵されています。したがってパッケージの追加は必要ありません。ただし、KDE システム設定で GUI を使うには、{{Pkg|kdenetwork-filesharing}} パッケージをインストールしてください。&lt;br /&gt;
&lt;br /&gt;
Dolphin でアクセスした時に &amp;quot;Time Out&amp;quot; エラーが表示される場合、{{ic|smb.conf}} で次の行をアンコメント・編集してください: {{bc|1=name resolve order = lmhosts bcast host wins}}&lt;br /&gt;
[https://ubuntuforums.org/showthread.php?t=1605499 このページ] を参照。&lt;br /&gt;
&lt;br /&gt;
====他のグラフィカル環境====&lt;br /&gt;
&lt;br /&gt;
有用なプログラムは多数ありますが、プログラムのパッケージを作成しなくてはなりません。Arch のパッケージビルドシステムを使ってパッケージを作れます。インストールするのに特定の環境を必要としないために簡単に持ち運ぶことができます。&lt;br /&gt;
&lt;br /&gt;
*{{Pkg|pyneighborhood}} は公式リポジトリから利用できます。&lt;br /&gt;
*Xffm の LinNeighborhood, RUmba, xffm-samba プラグインは公式リポジトリにも AUR にもありません。公式にはサポートされていない（もしくは非公式サポートすらない）ため、動作がおかしかったり全く動かなかったりします。&lt;br /&gt;
&lt;br /&gt;
==ヒントとテクニック==&lt;br /&gt;
&lt;br /&gt;
===セキュリティを高めるために SMB1 プロトコルを無効化===&lt;br /&gt;
&lt;br /&gt;
SMB1 プロトコルのセキュリティは問題があるため、大抵のクライアントは SMB2 以上をサポートしています。SMB1 プロトコルによるサーバーへの接続を拒否することでセキュリティを向上できます:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/samba/smb.conf|2=&lt;br /&gt;
[global]&lt;br /&gt;
server min protocol = SMB2&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===パフォーマンスを改善する===&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/samba/smb.conf|2=&lt;br /&gt;
[global]&lt;br /&gt;
        server multi channel support = yes&lt;br /&gt;
        socket options = IPTOS_THROUGHPUT SO_KEEPALIVE&lt;br /&gt;
        deadtime = 30&lt;br /&gt;
        use sendfile = Yes&lt;br /&gt;
        write cache size = 262144&lt;br /&gt;
        min receivefile size = 16384&lt;br /&gt;
        aio read size = 16384&lt;br /&gt;
        aio write size = 16384&lt;br /&gt;
        nt pipe support = no&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Warning|1=nt pipe support = no を設定すると Windows の機能が破壊されることがあるので注意してください。}}&lt;br /&gt;
&lt;br /&gt;
===プリンター共有を無効化===&lt;br /&gt;
プリンターを共有したくない場合、以下の設定を使ってください:&lt;br /&gt;
{{hc|/etc/samba/smb.conf|2=&lt;br /&gt;
[global]&lt;br /&gt;
        load printers = no&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
使用する Samba のバージョンによっては、{{ic|1=printcap name = /dev/null}} と {{ic|1=disable spools = yes}} オプションによってさらにリソースを節約できます。&lt;br /&gt;
&lt;br /&gt;
===Samba 共有で特定のファイル拡張子をブロック===&lt;br /&gt;
{{Note|このパラメータを設定すると、全てのファイルとディスプレイをスキャンしてチェックしなくてはならなくなるため、Samba のパフォーマンスに影響が出ます。}}&lt;br /&gt;
Samba にはファイルの拡張子など、特定のパターンを使ってファイルをブロックするオプションが存在します。このオプションを使うことでウイルスが繁殖するのを防いだり、特定のファイルで容量が食われるのを防ぐことができます。オプションの詳細は {{man|5|smb.conf}} を見て下さい。&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/samba/smb.conf|2=&lt;br /&gt;
...&lt;br /&gt;
[myshare]&lt;br /&gt;
  comment = Private&lt;br /&gt;
  path = /mnt/data&lt;br /&gt;
  read only = no&lt;br /&gt;
  veto files = /*.exe/*.com/*.dll/*.bat/*.vbs/*.tmp/*.mp3/*.avi/*.mp4/*.wmv/*.wma/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===ネットワーク共有の探知===&lt;br /&gt;
ローカルネットワーク上の他のシステムについて何も知らない場合、[[#smbnetfs|smbnetfs]] などの自動化ツールも使えないときは、以下の方法で Samba の共有を手動で調べることができます。&lt;br /&gt;
&lt;br /&gt;
1. まず [[pacman]] を使って {{Pkg|nmap}} と {{Pkg|smbclient}} パッケージをインストール。&lt;br /&gt;
&lt;br /&gt;
2. {{ic|nmap}} で開いているポートを確認:&lt;br /&gt;
 # nmap -p 139 -sT &amp;quot;192.168.1.*&amp;quot;&lt;br /&gt;
&lt;br /&gt;
上記の例では 192.168.1.* の範囲の IP アドレスとポート 139 をスキャンします。以下のような結果が得られます:&lt;br /&gt;
{{hc|$ nmap -sT &amp;quot;192.168.1.*&amp;quot;|&lt;br /&gt;
Starting nmap 3.78 ( http://www.insecure.org/nmap/ ) at 2005-02-15 11:45 PHT&lt;br /&gt;
Interesting ports on 192.168.1.1:&lt;br /&gt;
(The 1661 ports scanned but not shown below are in state: closed)&lt;br /&gt;
PORT     STATE SERVICE&lt;br /&gt;
&#039;&#039;&#039;139/tcp  open  netbios-ssn&#039;&#039;&#039;&lt;br /&gt;
5000/tcp open  UPnP&lt;br /&gt;
&lt;br /&gt;
Interesting ports on 192.168.1.5:&lt;br /&gt;
(The 1662 ports scanned but not shown below are in state: closed)&lt;br /&gt;
PORT     STATE SERVICE&lt;br /&gt;
6000/tcp open  X11&lt;br /&gt;
&lt;br /&gt;
Nmap run completed -- 256 IP addresses (2 hosts up) scanned in 7.255 seconds&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
最初の結果は他のシステムです。2番目の結果はスキャンを実行したクライアントです。&lt;br /&gt;
&lt;br /&gt;
3. ポート 139 が開いているシステムが見つかったので、{{man|1|nmblookup}} を使って NetBIOS の名前をチェック:&lt;br /&gt;
{{hc|$ nmblookup -A 192.168.1.1|&lt;br /&gt;
Looking up status of 192.168.1.1&lt;br /&gt;
        PUTER           &amp;lt;00&amp;gt; -         B &amp;lt;ACTIVE&amp;gt;&lt;br /&gt;
        HOMENET         &amp;lt;00&amp;gt; - &amp;lt;GROUP&amp;gt; B &amp;lt;ACTIVE&amp;gt;&lt;br /&gt;
        PUTER           &amp;lt;03&amp;gt; -         B &amp;lt;ACTIVE&amp;gt;&lt;br /&gt;
        &#039;&#039;&#039;PUTER           &amp;lt;20&amp;gt; -         B &amp;lt;ACTIVE&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
        HOMENET         &amp;lt;1e&amp;gt; - &amp;lt;GROUP&amp;gt; B &amp;lt;ACTIVE&amp;gt;&lt;br /&gt;
        USERNAME        &amp;lt;03&amp;gt; -         B &amp;lt;ACTIVE&amp;gt;&lt;br /&gt;
        HOMENET         &amp;lt;1d&amp;gt; -         B &amp;lt;ACTIVE&amp;gt;&lt;br /&gt;
        MSBROWSE        &amp;lt;01&amp;gt; - &amp;lt;GROUP&amp;gt; B &amp;lt;ACTIVE&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;20&amp;gt;&#039;&#039;&#039; を見て下さい。これはホストがサービスを開いていることを示します。&lt;br /&gt;
&lt;br /&gt;
4. {{ic|smbclient}} を使って &#039;&#039;PUTER&#039;&#039; で共有されているサービスを確認します。パスワードの入力が求められたら、エンターを押すとリストが表示されます:&lt;br /&gt;
{{hc|$ smbclient -L \\PUTER|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
Sharename       Type      Comment&lt;br /&gt;
---------       ----      -------&lt;br /&gt;
MY_MUSIC        Disk&lt;br /&gt;
SHAREDDOCS      Disk&lt;br /&gt;
PRINTER$        Disk&lt;br /&gt;
PRINTER         Printer&lt;br /&gt;
IPC$            IPC       Remote Inter Process Communication&lt;br /&gt;
&lt;br /&gt;
Server               Comment&lt;br /&gt;
---------            -------&lt;br /&gt;
PUTER&lt;br /&gt;
&lt;br /&gt;
Workgroup            Master&lt;br /&gt;
---------            -------&lt;br /&gt;
HOMENET               PUTER&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
===Windows コンピュータの遠隔操作===&lt;br /&gt;
Samba には Windows と対話するためのツールが含まれています。リモートデスクトップで Windows コンピュータにアクセスできない場合に便利です。以下に例を示します。&lt;br /&gt;
&lt;br /&gt;
コメントとシャットダウンコマンドを送信:&lt;br /&gt;
 &lt;br /&gt;
 $ net rpc shutdown -C &amp;quot;comment&amp;quot; -I IPADDRESS -U USERNAME%PASSWORD&lt;br /&gt;
&lt;br /&gt;
{{ic|-C}} とコメントを {{ic|-f}} に変えることで強制的にシャットダウンさせることができます。再起動させるには、{{ic|-C}} や {{ic|-f}} の後に {{ic|-r}} を追加します。&lt;br /&gt;
&lt;br /&gt;
サービスを停止・起動:&lt;br /&gt;
 &lt;br /&gt;
 $ net rpc service stop SERVICENAME -I IPADDRESS -U USERNAME%PASSWORD&lt;br /&gt;
&lt;br /&gt;
利用可能な net rpc コマンドを全て確認するには:&lt;br /&gt;
&lt;br /&gt;
 $ net rpc&lt;br /&gt;
&lt;br /&gt;
===ユーザー名やパスワードが不要なファイル共有===&lt;br /&gt;
{{ic|/etc/samba/smb.conf}} を編集して以下の行を追加してください:&lt;br /&gt;
 map to guest = Bad User&lt;br /&gt;
&lt;br /&gt;
上記の行は以下の行の後ろに追加します:&lt;br /&gt;
 security = user&lt;br /&gt;
&lt;br /&gt;
共有データを特定のインターフェイスに制限するため以下の行を:&lt;br /&gt;
 ;   interfaces = 192.168.12.2/24 192.168.13.2/2&lt;br /&gt;
&lt;br /&gt;
以下のように置き換えてください:&lt;br /&gt;
&lt;br /&gt;
{{bc|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
interfaces = lo eth0&lt;br /&gt;
bind interfaces only = true&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
任意で共有にアクセスするアカウントを編集します。以下の行を編集してください:&lt;br /&gt;
{{bc|&amp;lt;nowiki&amp;gt;;   guest account = nobody&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
例:&lt;br /&gt;
{{bc|&amp;lt;nowiki&amp;gt;   guest account = pcguest&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
それから以下のようにユーザーを作成します:&lt;br /&gt;
{{bc|&amp;lt;nowiki&amp;gt;# useradd -c &amp;quot;Guest User&amp;quot; -d /dev/null -s /bin/false pcguest&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{ic|pcguest}} ユーザーのパスワードは &amp;quot;&amp;quot; (空) に設定してください。&lt;br /&gt;
&lt;br /&gt;
最後に共有ディレクトリを作成 (書き込みを許可したい場合は {{ic|1=writable = yes}} としてください):&lt;br /&gt;
&lt;br /&gt;
{{bc|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[Public Share]&lt;br /&gt;
path = /path/to/public/share&lt;br /&gt;
available = yes&lt;br /&gt;
browsable = yes&lt;br /&gt;
public = yes&lt;br /&gt;
writable = no&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{note|ゲストが {{ic|/path}}, {{ic|/path/to}}, {{ic|/path/to/public}} にアクセスできることを確認してください [https://unix.stackexchange.com/questions/13858/do-the-parent-directorys-permissions-matter-when-accessing-a-subdirectory]。}}&lt;br /&gt;
&lt;br /&gt;
===CUPS を無効にして Samba をビルド===&lt;br /&gt;
&lt;br /&gt;
[https://wiki.samba.org/index.php/Samba_as_a_print_server Samba Wiki] より:&lt;br /&gt;
&lt;br /&gt;
:Samba には CUPS のサポートが組み込まれています。コンパイル時に CUPS のヘッダーファイルやライブラリが存在した場合、自動的に CUPS が有効になります。&lt;br /&gt;
&lt;br /&gt;
CUPS を無効化するには PKGBUILD を修正する必要があります。{{ic|depends}} と {{ic|makedepends}} から {{ic|libcups}} を消して cups や印刷に関する行を無くしてください。4.1.9-1 の PKGBUILD の場合、169・170・236行目が該当します:&lt;br /&gt;
 mkdir -p ${pkgdir}/usr/lib/cups/backend&lt;br /&gt;
 ln -sf /usr/bin/smbspool ${pkgdir}/usr/lib/cups/backend/smb&lt;br /&gt;
 install -d -m1777 ${pkgdir}/var/spool/samba&lt;br /&gt;
&lt;br /&gt;
==トラブルシューティング==&lt;br /&gt;
&lt;br /&gt;
===Samba SMB/CIFS サーバーが起動できない===&lt;br /&gt;
&lt;br /&gt;
{{ic|/var/cache/samba/}} のパーミッションが正しく設定されているか確認して {{ic|smb.service}} を再起動してください:&lt;br /&gt;
&lt;br /&gt;
 # chmod 0755 /var/cache/samba/msg&lt;br /&gt;
&lt;br /&gt;
===AppArmor におけるパーミッションの問題===&lt;br /&gt;
&lt;br /&gt;
[[#共有を作成する|共有パス]]をホームディレクトリ以外に設定した場合、{{ic|/etc/apparmor.d/local/usr.sbin.smbd}} でホワイトリストに指定してください。例:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/apparmor.d/local/usr.sbin.smbd|&lt;br /&gt;
/data/** lrwk,&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===ファイルを上書きできない、パーミッションエラー===&lt;br /&gt;
以下の方法を試してみてください:&lt;br /&gt;
&lt;br /&gt;
*{{ic|/etc/fstab}} の[[#マウントエントリ|エントリ]]に {{ic|nodfs}} マウントオプションを追加。&lt;br /&gt;
*サーバーの {{ic|/etc/samba/smb.conf}} の {{ic|[global]}} セクションに {{ic|&amp;lt;nowiki&amp;gt;msdfs root = no&amp;lt;/nowiki&amp;gt;}} を追加。&lt;br /&gt;
&lt;br /&gt;
===ゲストパーミッションで Samba 共有を作成しても Windows クライアントがパスワードを要求する===&lt;br /&gt;
{{ic|/etc/samba/smb.conf}} の {{ic|global}} セクションに {{ic|map to guest}} を設定してください:&lt;br /&gt;
 map to guest = Bad User&lt;br /&gt;
&lt;br /&gt;
===Windows 7 の接続の問題 - mount error(12): cannot allocate memory===&lt;br /&gt;
&lt;br /&gt;
Windows 7 には既知のバグが存在し、Linux では全く問題ない cifs 共有であっても {{ic|mount error(12): cannot allocate memory}} が発生します。以下のように Windows のレジストリキーを設定することで修正できます:&lt;br /&gt;
&lt;br /&gt;
*{{ic|HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\LargeSystemCache}} (set to {{ic|1}})&lt;br /&gt;
*{{ic|HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\Size}} (set to {{ic|3}})&lt;br /&gt;
&lt;br /&gt;
もしくは、管理者モードでコマンドプロンプトを起動して以下を実行してください:&lt;br /&gt;
 reg add &amp;quot;HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management&amp;quot; /v &amp;quot;LargeSystemCache&amp;quot; /t REG_DWORD /d 1 /f&lt;br /&gt;
 reg add &amp;quot;HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters&amp;quot; /v &amp;quot;Size&amp;quot; /t REG_DWORD /d 3 /f&lt;br /&gt;
&lt;br /&gt;
設定を適用するには以下のどれかを実行する必要があります:&lt;br /&gt;
&lt;br /&gt;
*Windows の再起動&lt;br /&gt;
*services.msc でサーバーサービスを再起動&lt;br /&gt;
*コマンドプロンプトから次を実行: {{ic|net stop lanmanserver}} と {{ic|net start lanmanserver}}。サーバーは停止後に自動的に再起動します。&lt;br /&gt;
&lt;br /&gt;
{{Note|Google で検索すると &amp;quot;IRPStackSize&amp;quot; のサイズを変更することを推奨するような記事が見つかりますが、これは Windows 7 の問題を修正するということについては間違っています。試さないで下さい。}}&lt;br /&gt;
&lt;br /&gt;
[http://alan.lamielle.net/2009/09/03/windows-7-nonpaged-pool-srv-error-2017 オリジナルの記事] 。&lt;br /&gt;
&lt;br /&gt;
===Windows 10 1709 以上で接続に問題が発生する - &amp;quot;Windows cannot access&amp;quot; 0x80004005===&lt;br /&gt;
&lt;br /&gt;
Windows 10 バージョン 1709 を使っている一部のマシンで発生するエラーです。このエラーは SMB1 が無効になっていることとは関係がなく、Microsoft によってセキュアでないゲストログインが一部で無効化されたことが原因です。&lt;br /&gt;
&lt;br /&gt;
解決するには、グループポリシーエディタ ({{ic|gpedit.msc}}) を開いて &#039;&#039;Computer configuration\administrative templates\network\Lanman Workstation &amp;gt; Enable insecure guest logons&#039;&#039; を有効にしてください。もしくは、レジストリの以下の値を変更してください:&lt;br /&gt;
&lt;br /&gt;
 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters]&lt;br /&gt;
 &amp;quot;AllowInsecureGuestAuth&amp;quot;=dword:1&lt;br /&gt;
&lt;br /&gt;
===Error: Failed to retrieve printer list: NT_STATUS_UNSUCCESSFUL===&lt;br /&gt;
&lt;br /&gt;
ホームユーザーで Samba をサーバーや NAS とのファイル共有のためだけに使っている場合、Samba によるプリンターの共有は必要ないと思うかもしれません。そのような場合、以下の行を {{ic|/etc/samba/smb.conf}} に追加することでエラーが発生しないようにできます:&lt;br /&gt;
{{bc|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
load printers = No&lt;br /&gt;
printing = bsd&lt;br /&gt;
printcap name = /dev/null&lt;br /&gt;
disable spoolss = Yes&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
Samba サービス {{ic|smb.service}} を[[再起動]]してログを確認してください:&lt;br /&gt;
 # cat /var/log/samba/smbd.log&lt;br /&gt;
エラーが表示されなくなったはずです。&lt;br /&gt;
&lt;br /&gt;
===フォルダの共有ができなくなる===&lt;br /&gt;
&lt;br /&gt;
[[Dolphin]] (ファイルマネージャ) でフォルダを共有したときに、最初は問題なく共有できたのに、&#039;&#039;Dolphin&#039;&#039; を再起動すると共有フォルダの共有アイコンが消えてしまい、ターミナル (&#039;&#039;Konsole&#039;&#039;) に以下のような出力がされることがあります:&lt;br /&gt;
&lt;br /&gt;
 ‘net usershare’ returned error 255: net usershare: usershares are currently disabled&lt;br /&gt;
&lt;br /&gt;
この問題を修正するには、[[#ユーザー定義共有を作成する]]に書かれているように usershare を有効にしてください。&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Failed to retrieve share list from server&amp;quot; というエラーでネットワークを閲覧できない===&lt;br /&gt;
(学校や大学、ホテルなどの) ローカルネットワークが信頼できないためにファイアウォール (iptables) を使っている場合、次のような理由が考えられます: smbclient がローカルネットワークを閲覧するとき udp ポート 137 でブロードキャストリクエストが送信されます。ネットワーク上のサーバーはクライアントに返答しますが、返答の送信元アドレスが送信先アドレスと食い違うため、iptables は返答を &amp;quot;ESTABLISHED&amp;quot; や &amp;quot;RELATED&amp;quot; と認識できず、パケットをドロップします。iptables の設定に以下を追加することで解決できます:{{bc|&lt;br /&gt;
iptables -t raw -A OUTPUT -p udp -m udp --dport 137 -j CT --helper netbios-ns&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===ネットワークを閲覧すると空のフォルダが表示される===&lt;br /&gt;
Samba を正しく設定しても、{{Pkg|gvfs}} ベースのファイルマネージャ ([[Nautilus]], [[PCManFM]] など) を使用して Windows 共有のネットワークを見ても空のフォルダしか表示されません。Samba 4.7 でデフォルトプロトコルが変更されたためにファイルブラウザで問題が発生するようになっています。一時的な解決策として {{ic|smb.conf}} 設定ファイルに以下のパラメータを追加してください:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/samba/smb.conf|2=&lt;br /&gt;
...&lt;br /&gt;
[global]&lt;br /&gt;
  client max protocol = NT1&lt;br /&gt;
  ...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Protocol negotiation failed: NT_STATUS_INVALID_NETWORK_RESPONSE===&lt;br /&gt;
&lt;br /&gt;
おそらくクライアントが共有にアクセスする権限がありません。クライアントの IP アドレスが {{ic|/etc/samba/smb.conf}} の {{ic|1=hosts allow =}} 行に記述されているか確認してください。&lt;br /&gt;
&lt;br /&gt;
===Connection to SERVER failed: (Error NT_STATUS_UNSUCCESSFUL)===&lt;br /&gt;
&lt;br /&gt;
おそらく {{ic|smbclient}} に間違ったサーバー名を指定しています。サーバー名を確認するには、サーバーで {{ic|hostnamectl}} を実行して &amp;quot;Transient hostname&amp;quot; の行を見て下さい。&lt;br /&gt;
&lt;br /&gt;
===Connection to SERVER failed: (Error NT_STATUS_CONNECTION_REFUSED)===&lt;br /&gt;
&lt;br /&gt;
サーバーが起動していることを確認してください。共有ディレクトリが存在していること、アクセスできることを確認してください。&lt;br /&gt;
&lt;br /&gt;
===Protocol negotiation failed: NT_STATUS_CONNECTION_RESET===&lt;br /&gt;
おそらく SMB1 プロトコルが使えないようにサーバーが設定されています。{{ic|/etc/samba/smb.conf}} に {{ic|1=client max protocol = SMB2}} オプションを追加してください。もしくは {{ic|smbclient}} に引数として {{ic|-m SMB2}} を指定してください。&lt;br /&gt;
&lt;br /&gt;
===正しいはずなのにパスワードエラーが発生する (error 1326)===&lt;br /&gt;
[https://www.samba.org/samba/history/samba-4.5.0.html Samba 4.5] ではデフォルトで NTLMv1 認証が無効になっています。クライアントに最新のバージョンをインストールしてサポートされていないクライアントのアクセスは拒否することが推奨されています。&lt;br /&gt;
&lt;br /&gt;
それでも NTLMv2 をサポートしていない古いクライアント (例: Windows XP) を使う必要がある場合、NTLMv1 を有効化することができます (セキュリティの観点から非推奨の設定です):&lt;br /&gt;
{{hc|/etc/samba/smb.conf|2=&lt;br /&gt;
[global]&lt;br /&gt;
   lanman auth = yes&lt;br /&gt;
   ntlm auth = yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
NTLMv1 を有効にしたことで NTLMv2 クライアントが認証できなくなった場合、クライアントに以下のファイルを作成してください:&lt;br /&gt;
{{hc|/home/user/.smb/smb.conf|2=&lt;br /&gt;
[global]&lt;br /&gt;
   sec = ntlmv2&lt;br /&gt;
   client ntlmv2 auth = yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
上記の設定は {{ic|mount.cifs}} でマウントされた samba の共有にも影響します。Samba 4.5 にアップグレードしてマウントできなくなった場合、mount コマンドに {{ic|1=sec=ntlmssp}} オプションを追加してください。例:&lt;br /&gt;
&lt;br /&gt;
 # mount.cifs //server/share /mnt/point -o sec=ntlmssp,...&lt;br /&gt;
&lt;br /&gt;
詳しくは {{man|8|mount.cifs}} を見てください。3.8 未満のカーネルでは {{ic|1=sec=ntlm}} がデフォルトでしたが、3.8 から {{ic|1=sec=ntlmssp}} に変更されています。&lt;br /&gt;
&lt;br /&gt;
===Windows の予約文字のマッピング===&lt;br /&gt;
&lt;br /&gt;
カーネル 3.18 から cifs モジュールはデフォルトで &amp;quot;mapposix&amp;quot; オプションを使用します [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=2baa2682531ff02928e2d3904800696d9e7193db]。unix 拡張を使って Samba のデフォルト設定で共有をマウントした場合、Windows の7個の予約文字 {{ic|&amp;lt;nowiki&amp;gt;: \ * &amp;lt; &amp;gt; ? |&amp;lt;/nowiki&amp;gt;}} が含まれているファイルやディレクトリにアクセスできなくなります。以下の方法で解決することができます:&lt;br /&gt;
&lt;br /&gt;
*cifs の {{ic|nomapposix}} マウントオプションを使用する:&lt;br /&gt;
&lt;br /&gt;
 # mount.cifs //server/share /mnt/point -o nomapposix&lt;br /&gt;
&lt;br /&gt;
*[https://www.mankier.com/8/vfs_fruit fruit] を使って {{ic|mapposix}} (&amp;quot;SFM&amp;quot;, Services for Mac) 文字を適切な文字にマッピングするように Samba を設定:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/samba/smb.conf|2=&lt;br /&gt;
[global]&lt;br /&gt;
   vfs objects = catia fruit&lt;br /&gt;
   fruit:encoding = native&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
*[https://www.mankier.com/8/vfs_catia catia] を使って禁則文字を手動でマッピング:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/samba/smb.conf|2=&lt;br /&gt;
[global]&lt;br /&gt;
   vfs objects = catia&lt;br /&gt;
   catia:mappings = 0x22:0xf022, 0x2a:0xf02a, 0x2f:0xf02f, 0x3a:0xf03a, 0x3c:0xf03c, 0x3e:0xf03e, 0x3f:0xf03f, 0x5c:0xf05c, 0x7c:0xf07c, 0x20:0xf020&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
catia や fruit を使用する方法には出力不可文字でファイルがフィルタリングされるという欠点があります。&lt;br /&gt;
&lt;br /&gt;
===Mount error: Host is down===&lt;br /&gt;
Synology NAS サーバーの共有フォルダをマウントしようとしたときに発生するエラーです。{{ic|1=vers=1.0}} マウントオプションを使うことで解決します。&lt;br /&gt;
&lt;br /&gt;
==参照==&lt;br /&gt;
&lt;br /&gt;
*[http://www.samba.org/samba/docs/SambaIntro.html Samba: An Introduction]&lt;br /&gt;
*[http://www.samba.org/ Samba 公式サイト]&lt;/div&gt;</summary>
		<author><name>Take100yen</name></author>
	</entry>
</feed>