「Samba」の版間の差分
細 (文字列「[[zh-CN:」を「[[zh-hans:」に置換) |
Kusakata.bot (トーク | 投稿記録) 細 (文字列「[[zh-TW:」を「[[zh-hant:」に置換) |
||
11行目: | 11行目: | ||
[[tr:Samba]] |
[[tr:Samba]] |
||
[[zh-hans:Samba]] |
[[zh-hans:Samba]] |
||
− | [[zh- |
+ | [[zh-hant:Samba]] |
{{Related articles start}} |
{{Related articles start}} |
||
{{Related|Active Directory Integration}} |
{{Related|Active Directory Integration}} |
2017年1月29日 (日) 01:01時点における版
Samba は SMB/CIFS ネットワークプロトコルの再実装であり、NFS の代わりになるものとして Linux と Windows システム間でのファイルやプリンターの共有を容易にします。Samba の設定は簡単で操作もわかりやすいと言うユーザーもいますが、新規ユーザーの多くは複雑で直感的でないメカニズムが手を余らせることになります。この記事では Samba をセットアップする手順を説明します。
目次
- 1 サーバーの設定
- 2 クライアントの設定
- 3 Tips and tricks
- 4 トラブルシューティング
- 4.1 Samba SMB/CIFS サーバーが起動できない
- 4.2 ファイルを上書きできない、パーミッションエラー
- 4.3 ゲストパーミッションで Samba 共有を作成しても Windows クライアントがパスワードを要求する
- 4.4 Windows 7 の接続の問題 - mount error(12): cannot allocate memory
- 4.5 Error: Failed to retrieve printer list: NT_STATUS_UNSUCCESSFUL
- 4.6 フォルダの共有ができなくなる
- 4.7 "Failed to retrieve share list from server" というエラーでネットワークを閲覧できない
- 4.8 Protocol negotiation failed: NT_STATUS_INVALID_NETWORK_RESPONSE
- 4.9 Connection to SERVER failed: (Error NT_STATUS_UNSUCCESSFUL)
- 4.10 Connection to SERVER failed: (Error NT_STATUS_CONNECTION_REFUSED)
- 4.11 正しいはずなのにパスワードエラーが発生する (error 1326)
- 5 参照
サーバーの設定
Samba を使ってファイルを共有するには、公式リポジトリから samba をインストールしてください。
smb.conf
Samba サーバーの設定は /etc/samba/smb.conf
で行います。ファイルが存在しないと smbd は起動に失敗します。
デフォルトの Samba 設定ファイル (/etc/samba/smb.conf.default
) を /etc/samba/smb.conf
にコピーしてください:
# cp /etc/samba/smb.conf.default /etc/samba/smb.conf
利用可能なオプションは smb.conf
の man ページを参照してください [1]。また、testparm
を実行することで samba 設定ファイルが正しいかどうか確認できます。
共有を作成する
/etc/samba/smb.conf
を編集して、Share Definitions セクションまでスクロールしてください。デフォルトの設定では、それぞれのユーザーのホームディレクトリに共有を自動で作成します。ただし、users ワイルドカードを追加しないとユーザーはログインすることができません:
/etc/samba/smb.conf
... [homes] comment = Home Directories browseable = no writable = yes valid users = %S
smb.conf
の workgroup
は使用する Windows のワークグループと同じ値に設定してください (デフォルト: WORKGROUP
)。
サービスを起動する
SMB の基本的なファイル共有をするには、smbd
と nmbd
サービスを起動してください。
詳しくは smbd と nmbd のマニュアルページを見て下さい。
ユーザー定義共有を作成する
"Usershare" は root 以外のユーザーで共有の定義を追加、変更、および削除できるようにする機能です。
次のコマンドは /var/lib/samba
に usershares ディレクトリを作成します:
# mkdir -p /var/lib/samba/usershare
次のコマンドは sambashare グループを作成します:
# groupadd -r sambashare
次のコマンドは root に作成したディレクトリの所有者とグループを変更します:
# chown root:sambashare /var/lib/samba/usershare
次のコマンドは usershares ディレクトリのパーミッションを変更して sambashare グループのユーザーがファイルを読み書き・実行できるようにします:
# chmod 1770 /var/lib/samba/usershare
smb.conf
設定ファイルに以下の変数を設定します:
/etc/samba/smb.conf
... [global] usershare path = /var/lib/samba/usershare usershare max shares = 100 usershare allow guests = yes usershare owner only = yes ...
sambashare
グループにあなたのユーザーを追加してください、your_username
はあなたの linux ユーザーの名前に置き換えてください:
# gpasswd sambashare -a your_username
smbd.service
と nmbd.service
サービスを再起動します。
一度ログアウトして再ログインしてください。これで GUI を使って samba 共有を設定することができます。例えば、Thunar でディレクトリを右クリックしてネットワーク上に共有することが可能です。エラー You are not the owner of the folder
が表示されるときは、システムを再起動してみてください。
ユーザーを追加する
Samba は Linux ユーザーアカウントを必要とします。既存のユーザーアカウントを使用することもできますし、新しくユーザーを作成することもできます。
ユーザー名は Linux 環境と共有しますが、パスワードは Linux のユーザーアカウントと Samba で異なります。samba_user
は Samba ユーザーアカウントに置き換えてください:
# smbpasswd -a samba_user
サーバーロール によっては、Samba ユーザーアカウントの既存のファイルのパーミッションと属性を変更する必要があります。
新規ユーザーだけが Samba のファイルサーバー共有にリモートからアクセスできるようにしたい場合、他のログインオプションを制限します:
- シェルを無効化 -
usermod --shell /usr/bin/nologin --lock username
。 - SSH ログインを無効化 -
/etc/ssh/sshd_conf
を編集してAllowUsers
オプションを変更。
システムの堅牢化についてはセキュリティを見てください。
samba ユーザーのパスワードを変更する
ユーザーのパスワードを変更するには、smbpasswd
を使って下さい:
# smbpasswd samba_user
必要なポート
ファイアウォールを使う場合は、必要なポートを開くことを忘れないでください (通常は、137-139 + 445)。必要なポートのリストは次を参照: Samba port usage。
サンプル設定
設定オプションの詳しい説明は man smb.conf
を見て下さい。オンライン版は こちら になります。
/etc/samba/smb.conf
[global] deadtime = 60 ; This is useful to stop a server's resources being exhausted by a large number of inactive connections disable netbios = yes ; Disable netbios announcing dns proxy = no ; nmbd spawns a second copy of itself to do the DNS name lookup requests on 'yes' 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 invalid users = root ; This is a list of users that should not be allowed to login to this service security = user ; Use as standalone file server map to guest = Bad User ; Means user logins with an invalid password are rejected, or allow guest login and mapped into the guest account max connections = 100 ; Number of simultaneous connections to a service to be limited workgroup = WORKGROUP ; Workgroup the server will appear to be in when queried by clients ; Uncomment the following lines to disable printer support ;load printers = no ;printing = bsd ;printcap name = /dev/null ;disable spoolss = yes ; Default permissions for all shares inherit owner = yes ; Take the ownership of the parent directory when creating files/folders create mask = 0664 ; Create file mask directory mask = 0775 ; Create director mask force create mode = 0664 ; Force create file mask force directory mode = 0775 ; Force create directory mask ; Private Share [private] ; translate into: \\server\private comment = My Private Share ; Seen next to a share when a client queries the server path = /path/to/data ; Directory to which the user of the service is to be given access read only = no ; An inverted synonym to writeable. valid users = user1 user2 @group1 @group2; restrict a service to a particular set of users and/or groups ; Public Share ;[public] ; comment = My Public Share ; path = /path/to/public ; read only = yes ; guest ok = yes; No password required to connect to the service
設定の変更を適用するために smbd
や nmb
サービスを再起動してください。
クライアントの設定
公開されている共有の確認などをする必要がない場合、/usr/bin/mount.cifs
が含まれている cifs-utils だけをインストールしてください。
FTP ライクなコマンドラインインターフェイスを使うには smbclient をインストールします。よく使うコマンドは man smbclient
を見てください。
デスクトップ環境によっては、GUI で設定することができます。ファイルマネージャを使用する方法はファイルマネージャの設定を見てください。
公開されている共有の確認
以下のコマンドでパブリックな共有を確認できます:
$ smbclient -L hostname -U%
もしくは、smbtree を実行して共有のツリー図を表示します。コンピュータが多数接続されているネットワークでは推奨しませんが、共有名が正しいかどうか確認するのに役立ちます:
$ smbtree -b -N
-b
(--broadcast
) オプションはマスターブラウザの代わりにブロードキャストを使用し、-N
(-no-pass
) はパスワードを要求しないオプションです。
NetBIOS/WINS ホストネーム
ホストネームを解決するには winbindd
を起動・有効化する必要があります。
smbclient パッケージに WINS を使用してホストネームを解決するドライバーが含まれています。有効にするには、/etc/nsswitch.conf
の "hosts" 行に wins
を追加してください。
手動マウント
共有のマウントポイントを作成:
# mkdir /mnt/mountpoint
mount.cifs
タイプを使って共有をマウントします。下で示しているオプションが全て必要・推奨というわけではありません:
# mount -t cifs //SERVER/sharename /mnt/mountpoint -o user=username,password=password,uid=username,gid=group,workgroup=workgroup,ip=serverip,iocharset=utf8
マウントポイントがユーザーの制御下にあるディレクトリ (例: ユーザーのホームディレクトリ) の場合、users
マウントオプションを追加することでユーザーにマウントを許可できます。
SERVER
- サーバーの名前。
sharename
- 共有ディレクトリ。
mountpoint
- 共有をマウントするローカルのディレクトリ。
-o [options]
- 詳しくは
man mount.cifs
を見て下さい。
共有パスワードの保存
誰でも読み取れるファイルにパスワードを保存することは推奨しません。credentials ファイルを作成するのが安全です:
/path/to/credentials/share
username=myuser password=mypass
マウントコマンドの username=myuser,password=mypass
を credentials=/path/to/credentials/share
に置き換えてください。
credential ファイルは root からしか読込・書込できないように設定するべきです:
# chmod 600 /path/to/credentials/share
自動マウント
マウントエントリ
以下は認証が必要な cifs
マウントエントリの例です:
/etc/fstab
//SERVER/sharename /mnt/mountpoint cifs username=myuser,password=mypass 0 0
サービスの起動を高速化するために、x-systemd.automount
オプションをエントリに追加してください:
/etc/fstab
//SERVER/SHARENAME /mnt/mountpoint cifs credentials=/path/to/smbcredentials/share,x-systemd.automount 0 0
systemd ユニット
/etc/systemd/system
に新しい .mount
ファイルを作成してください。例: mnt-myshare.mount
。
Requires=
は使用しているネットワーク設定に置き換えてください。What=
は共有パスに置き換えてください。Where=
は共有をマウントするパスに置き換えてください。Options=
は共有のマウントオプションです。
/etc/systemd/system/mnt-myshare.mount
[Unit] Description=Mount Share at boot Requires=systemd-networkd.service After=network-online.target Wants=network-online.target [Mount] What=//server/share Where=/mnt/myshare Options=credentials=/etc/samba/creds/myshare,iocharset=utf8,rw,x-systemd.automount Type=cifs TimeoutSec=30 [Install] WantedBy=multi-user.target
mnt-myshare.mount
を使用するにはユニットを起動します。有効化すると起動時に共有がマウントされます。
smbnetfs
まず、マウントしたい共有が全て見れるかどうか確認してください:
$ smbtree -U remote_user
見れない場合、/etc/samba/smb.conf
内の次の行を見つけて修正してください:
domain master = auto
そして smbd
と nmbd
サービスを再起動してください。
全てが問題なく動作するようになったら、公式リポジトリから smbnetfs をインストールしてください。
次に、次の行を /etc/fuse.conf
に追加して:
user_allow_other
fuse
カーネルモジュールをロードしてください:
# modprobe fuse
さらに /etc/smbnetfs/.smb
ディレクトリをホームディレクトリにコピーします:
$ cp -a /etc/smbnetfs/.smb ~
そして smb.conf
へのリンクを作成してください:
$ ln -sf /etc/samba/smb.conf ~/.smb/smb.conf
共有フォルダにアクセスするのにユーザー名とパスワードが必要な場合は、~/.smb/smbnetfs.auth
を編集して以下のように一つ以上エントリを含めて下さい:
~/.smb/smbnetfs.auth
auth "hostname" "username" "password"
必要な場合、smbnetfs によってマウントする特定のホストのエントリを追加することも可能です。詳しくは ~/.smb/smbnetfs.conf
に書いてあります。
Dolphin や Nautilus ファイルマネージャを使用する場合、以下を ~/.smb/smbnetfs.conf
に追加することで "Disk full" エラーを表示しないようにすることができます。デフォルトでは smbnetfs は空き容量が0バイトだと報告します:
~/.smb/smbnetfs.conf
free_space_size 1073741824
設定が完了したら、次を実行する必要があります:
$ chmod 600 ~/.smb/smbnetfs.*
設定に問題があると、smbnetfs は insecure config file permissions
とエラーを吐きます。
最後に、Samba ネットワークを指定したディレクトリにマウントするために、次を実行してください:
$ smbnetfs mount_point
デーモン
Arch Linux パッケージは smbnetfs にシステム共通のオペレーションモードを追加しています。有効にするには、/etc/smbnetfs/.smb
ディレクトリで上記の修正を行う必要があります。
そして、smbnetfs
デーモンを通常通りに起動・有効化できます。システム共通のマウントポイントは /mnt/smbnet/
になります。
autofs
Linux におけるカーネルベースの自動マウントの情報は Autofs を見て下さい。
ファイルマネージャの設定
GNOME Files, Nemo, Caja, Thunar, PCManFM
GNOME Files, Nemo, Caja, Thunar, PCManFM で samba 共有にアクセスするには公式リポジトリの gvfs-smb パッケージをインストールしてください。
Ctrl+l
を押してロケーションバーに smb://servername/share
と入力して共有にアクセスします。
マウントされた共有はファイルシステムで /run/user/your_UID/gvfs
や ~/.gvfs
にあるように見えます。
KDE
KDE には Samba 共有をブラウズするための機能が内蔵されています。したがってパッケージの追加は必要ありません。ただし、KDE システム設定で GUI を使うには、公式リポジトリから kdenetwork-filesharing パッケージをインストールしてください。
Dolphin でアクセスした時に "Time Out" エラーが表示される場合、smb.conf
で次の行をアンコメント・編集してください:
name resolve order = lmhosts bcast host wins
このページ を参照。
他のグラフィカル環境
有用なプログラムは多数ありますが、プログラムのパッケージを作成しなくてはなりません。Arch のパッケージビルドシステムを使ってパッケージを作れます。インストールするのに特定の環境を必要としないために簡単に持ち運ぶことができます。
- pyneighborhood は公式リポジトリから利用できます。
- Xffm の LinNeighborhood, RUmba, xffm-samba プラグインは公式リポジトリにも AUR にもありません。公式にはサポートされていない(もしくは非公式サポートすらない)ため、動作がおかしかったり全く動かなかったりします。
Tips and tricks
Samba 共有で特定のファイル拡張子をブロック
Samba にはファイルの拡張子など、特定のパターンを使ってファイルをブロックするオプションが存在します。このオプションを使うことでウイルスが繁殖するのを防いだり、特定のファイルで容量が食われるのを防ぐことができます。オプションの詳細は man smb.conf
を見て下さい。
/etc/samba/smb.conf
... [myshare] comment = Private path = /mnt/data read only = no veto files = /*.exe/*.com/*.dll/*.bat/*.vbs/*.tmp/*.mp3/*.avi/*.mp4/*.wmv/*.wma/
ネットワーク共有の探知
ローカルネットワーク上の他のシステムについて何も知らない場合、smbnetfs などの自動化ツールも使えないときは、以下の方法で Samba の共有を手動で調べることができます。
1. まず pacman を使って nmap と smbclient をインストール:
# pacman -S nmap smbclient
2. nmap
で開いているポートを確認:
# nmap -p 139 -sT "192.168.1.*"
上記の例では 192.168.1.* の範囲の IP アドレスとポート 139 をスキャンします。以下のような結果が得られます:
$ nmap -sT "192.168.1.*"
Starting nmap 3.78 ( http://www.insecure.org/nmap/ ) at 2005-02-15 11:45 PHT Interesting ports on 192.168.1.1: (The 1661 ports scanned but not shown below are in state: closed) PORT STATE SERVICE 139/tcp open netbios-ssn 5000/tcp open UPnP Interesting ports on 192.168.1.5: (The 1662 ports scanned but not shown below are in state: closed) PORT STATE SERVICE 6000/tcp open X11 Nmap run completed -- 256 IP addresses (2 hosts up) scanned in 7.255 seconds
最初の結果は他のシステムです。2番目の結果はスキャンを実行したクライアントです。
3. ポート 139 が開いているシステムが見つかったので、nmblookup
を使って NetBIOS の名前をチェック:
$ nmblookup -A 192.168.1.1
Looking up status of 192.168.1.1 PUTER <00> - B <ACTIVE> HOMENET <00> - <GROUP> B <ACTIVE> PUTER <03> - B <ACTIVE> PUTER <20> - B <ACTIVE> HOMENET <1e> - <GROUP> B <ACTIVE> USERNAME <03> - B <ACTIVE> HOMENET <1d> - B <ACTIVE> MSBROWSE <01> - <GROUP> B <ACTIVE>
<20> を見て下さい。これはホストがサービスを開いていることを示します。
4. smbclient
を使って PUTER で共有されているサービスを確認します。パスワードの入力が求められたら、エンターを押すとリストが表示されます:
$ smbclient -L \\PUTER
Sharename Type Comment --------- ---- ------- MY_MUSIC Disk SHAREDDOCS Disk PRINTER$ Disk PRINTER Printer IPC$ IPC Remote Inter Process Communication Server Comment --------- ------- PUTER Workgroup Master --------- ------- HOMENET PUTER
Windows コンピュータの遠隔操作
Samba には Windows と対話するためのツールが含まれています。リモートデスクトップで Windows コンピュータにアクセスできない場合に便利です。以下に例を示します。
コメントとシャットダウンコマンドを送信:
$ net rpc shutdown -C "comment" -I IPADDRESS -U USERNAME%PASSWORD
-C
とコメントを -f
に変えることで強制的にシャットダウンさせることができます。再起動させるには、-C
や -f
の後に -r
を追加します。
サービスを停止・起動:
$ net rpc service stop SERVICENAME -I IPADDRESS -U USERNAME%PASSWORD
利用可能な net rpc コマンドを全て確認するには:
$ net rpc
ユーザー名やパスワードが不要なファイル共有
/etc/samba/smb.conf
を編集して以下の行を追加してください:
map to guest = Bad User
上記の行は以下の行の後ろに追加します:
security = user
共有データを特定のインターフェイスに制限するため以下の行を:
; interfaces = 192.168.12.2/24 192.168.13.2/24
以下のように置き換えてください:
interfaces = lo eth0 bind interfaces only = true
任意で共有にアクセスするアカウントを編集します。以下の行を編集してください:
; guest account = nobody
例:
guest account = pcguest
それから以下のようにユーザーを作成します:
# useradd -c "Guest User" -d /dev/null -s /bin/false pcguest
pcguest
ユーザーのパスワードは "" (空) に設定してください。
最後に共有ディレクトリを作成 (書き込みを許可したい場合は writable = yes
としてください):
[Public Share] path = /path/to/public/share available = yes browsable = yes public = yes writable = no
CUPS を無効にして Samba をビルド
Samba Wiki より:
- Samba には CUPS のサポートが組み込まれています。コンパイル時に CUPS のヘッダーファイルやライブラリが存在した場合、自動的に CUPS が有効になります。
CUPS を無効化するには PKGBUILD を修正する必要があります。depends
と makedepends
から libcups
を消して cups や印刷に関する行を無くしてください。4.1.9-1 の PKGBUILD の場合、169・170・236行目が該当します:
mkdir -p ${pkgdir}/usr/lib/cups/backend ln -sf /usr/bin/smbspool ${pkgdir}/usr/lib/cups/backend/smb install -d -m1777 ${pkgdir}/var/spool/samba
トラブルシューティング
Samba SMB/CIFS サーバーが起動できない
/var/cache/samba/
のパーミッションが正しく設定されているか確認して smbd.service
や smbd.socket
を再起動してください:
# chmod 0755 /var/cache/samba/msg
ファイルを上書きできない、パーミッションエラー
以下の方法を試してみてください:
/etc/fstab
のエントリにnodfs
マウントオプションを追加。- サーバーの
/etc/samba/smb.conf
の[global]
セクションにmsdfs root = no
を追加。
ゲストパーミッションで Samba 共有を作成しても Windows クライアントがパスワードを要求する
/etc/samba/smb.conf
の global
セクションに map to guest
を設定してください:
map to guest = Bad User
Windows 7 の接続の問題 - mount error(12): cannot allocate memory
Windows 7 には既知のバグが存在し、Linux では全く問題ない cifs 共有であっても mount error(12): cannot allocate memory
が発生します。以下のように Windows のレジストリキーを設定することで修正できます:
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\LargeSystemCache
(set to1
)HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\Size
(set to3
)
もしくは、管理者モードでコマンドプロンプトを起動して以下を実行してください:
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v "LargeSystemCache" /t REG_DWORD /d 1 /f reg add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" /v "Size" /t REG_DWORD /d 3 /f
設定を適用するには以下のどれかを実行する必要があります:
- Windows の再起動
- services.msc でサーバーサービスを再起動
- コマンドプロンプトから次を実行:
net stop lanmanserver
とnet start lanmanserver
。サーバーは停止後に自動的に再起動します。
オリジナルの記事 。
Error: Failed to retrieve printer list: NT_STATUS_UNSUCCESSFUL
ホームユーザーで Samba をサーバーや NAS とのファイル共有のためだけに使っている場合、Samba によるプリンターの共有は必要ないと思うかもしれません。そのような場合、以下の行を /etc/samba/smb.conf
に追加することでエラーが発生しないようにできます:
load printers = No printing = bsd printcap name = /dev/null disable spoolss = Yes
Samba サービス smbd.service
を再起動してログを確認してください:
# cat /var/log/samba/smbd.log
エラーが表示されなくなったはずです。
フォルダの共有ができなくなる
Dolphin (ファイルマネージャ) でフォルダを共有したときに、最初は問題なく共有できたのに、Dolphin を再起動すると共有フォルダの共有アイコンが消えてしまい、ターミナル (Konsole) に以下のような出力がされることがあります:
‘net usershare’ returned error 255: net usershare: usershares are currently disabled
この問題を修正するには、#ユーザー定義共有を作成するに書かれているように usershare を有効にしてください。
(学校や大学、ホテルなどの) ローカルネットワークが信頼できないためにファイアウォール (iptables) を使っている場合、次のような理由が考えられます: smbclient がローカルネットワークを閲覧するとき udp ポート 137 でブロードキャストリクエストが送信されます。ネットワーク上のサーバーはクライアントに返答しますが、返答の送信元アドレスが送信先アドレスと食い違うため、iptables は返答を "ESTABLISHED" や "RELATED" と認識できず、パケットをドロップします。iptables の設定に以下を追加することで解決できます:
iptables -t raw -A OUTPUT -p udp -m udp --dport 137 -j CT --helper netbios-ns
Protocol negotiation failed: NT_STATUS_INVALID_NETWORK_RESPONSE
おそらくクライアントが共有にアクセスする権限がありません。クライアントの IP アドレスが /etc/samba/smb.conf
の hosts allow =
行に記述されているか確認してください。
Connection to SERVER failed: (Error NT_STATUS_UNSUCCESSFUL)
おそらく smbclient
に間違ったサーバー名を指定しています。サーバー名を確認するには、サーバーで hostnamectl
を実行して "Transient hostname" の行を見て下さい。
Connection to SERVER failed: (Error NT_STATUS_CONNECTION_REFUSED)
サーバーが起動していることを確認してください。共有ディレクトリが存在していること、アクセスできることを確認してください。
正しいはずなのにパスワードエラーが発生する (error 1326)
Samba 4.5 ではデフォルトで NTLMv1 認証が無効になっています。クライアントに最新のバージョンをインストールしてサポートされていないクライアントのアクセスは拒否することが推奨されています。
それでも NTLMv2 をサポートしていない古いクライアント (例: Windows XP) を使う必要がある場合、NTLMv1 を有効化することができます (セキュリティの観点から非推奨の設定です):
/etc/samba/smb.conf
[global] lanman auth = yes ntlm auth = yes
NTLMv1 を有効にしたことで NTLMv2 クライアントが認証できなくなった場合、クライアントに以下のファイルを作成してください:
/home/user/.smb/smb.conf
[global] sec = ntlmv2 client ntlmv2 auth = yes
上記の設定は mount.cifs
でマウントされた samba の共有にも影響します。Samba 4.5 にアップグレードしてマウントできなくなった場合、mount コマンドに sec=ntlmssp
オプションを追加してください。例:
# mount.cifs //server/share /mnt/point -o sec=ntlmssp,...
詳しくは man 8 mount.cifs を見てください。3.8 未満のカーネルでは sec=ntlm
がデフォルトでしたが、3.8 から sec=ntlmssp
に変更されています。