LINK


(無償)
logo
世界中で使われるISO標準オフィスソフト(MSオフィス互換)
The Document Foundation Wiki

人気の投稿(1ヶ月間)

Ad

Ad

ラベル samba の投稿を表示しています。 すべての投稿を表示
ラベル samba の投稿を表示しています。 すべての投稿を表示

2019年11月11日月曜日

【Raspbian Buster September 2019】古いタイプのSAMBAサーバーの共有フォルダをマウントする方法


■念の為、次のパッケージを導入しておいた。
(これらは不要かもしれないので、後に示すmount -t cifs コマンドでマウント可能か先に試してみること。)

# apt-get install samba-common smbclient samba-common-bin smbclient  cifs-utils



■Sambaサーバーに接続して、共有フォルダをマウントした。

Raspbian Buster September 2019 から、mount -t cifs を用いて、
CentOS 6のSAMBAサーバー(Ver. 3.6.23 43.el6_9)に接続するためには、
明示的に、vers=1.0と、sec=ntlmssp のオプションを付加しなければならなかった。

さもなければ、次のエラーが発生してサーバーへの接続に失敗した。
mount error(22): Invalid argument
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
あるいは、次のエラーが発生して失敗した。
mount error(2): No such file or directory
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

いずれの場合も、次のように、オプションを指定すると問題なく接続でき、マウントに成功した。
root@raspberrypi:/home/pi# mount -t cifs //my-file-server.example.com/SHARENAME /mnt -o user=USERNAME,pass=PASSWORD,vers=1.0,sec=ntlmssp


Raspbian Buster September 2019 では、カーネルにおいて、SMBはversion 3がデフォルトになったらしい。
そのため、SMB3や、SMB2.1をサポートしていない古いタイプのSAMBAサーバーに接続するには、
上記のようにオプションを指定する必要がある。

エラー発生後に、dmesgコマンドで調べると、次のログが記載され同様の説明が行われていた。
[174413.609298] No dialect specified on mount. Default has changed to a more secure dialect, SMB2.1 or later (e.g. SMB3), from CIFS (SMB1). To use the less secure SMB1 dialect to access old servers which do not support SMB3 (or SMB2.1) specify vers=1.0 on mount.
[174413.653627] CIFS VFS: cifs_mount failed w/return code = -22


<参考>

・Pi 3B+ Samba client mount issues... mount error(22)
< https://www.raspberrypi.org/forums/viewtopic.php?t=209698 > 2019年11月11日

・Access network Samba share from Pi client
< https://raspberrypi.stackexchange.com/questions/40974/access-network-samba-share-from-pi-client > 2019年11月11日

2017年10月17日火曜日

【Linux CentOS 7】SAMBAを導入してテスト接続するまで

(更新 2018年10月14日)クライアントからの接続法について追記


■システムを更新した。

# yum update -y


■selinuxを無効化した。

まず、下のページの方法で、selinuxを無効化した。
http://akira-arets.blogspot.jp/2012/03/centos6-disabled-selinux.html

手順の通り再起動を行った。


■システムの状態を表示

# uname -a
Linux localhost.localdomain 3.10.0-693.2.2.el7.x86_64 #1 SMP Tue Sep 12 22:26:13 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

■SAMBAをインストールした。

# yum install samba
Installing:
 samba                    x86_64       4.6.2-11.el7_4       updates       633 k
Installing for dependencies:
 pytalloc                 x86_64       2.1.9-1.el7          base           16 k
 samba-common-libs        x86_64       4.6.2-11.el7_4       updates       164 k
 samba-common-tools       x86_64       4.6.2-11.el7_4       updates       456 k
 samba-libs               x86_64       4.6.2-11.el7_4       updates       265 k
  Installing : samba-common-libs-4.6.2-11.el7_4.x86_64                      1/5
  Installing : pytalloc-2.1.9-1.el7.x86_64                                  2/5
  Installing : samba-libs-4.6.2-11.el7_4.x86_64                             3/5
  Installing : samba-common-tools-4.6.2-11.el7_4.x86_64                     4/5
  Installing : samba-4.6.2-11.el7_4.x86_64                                  5/5
  Verifying  : pytalloc-2.1.9-1.el7.x86_64                                  1/5
  Verifying  : samba-common-libs-4.6.2-11.el7_4.x86_64                      2/5
  Verifying  : samba-4.6.2-11.el7_4.x86_64                                  3/5
  Verifying  : samba-libs-4.6.2-11.el7_4.x86_64                             4/5
  Verifying  : samba-common-tools-4.6.2-11.el7_4.x86_64                     5/5
Installed:
  samba.x86_64 0:4.6.2-11.el7_4
Dependency Installed:
  pytalloc.x86_64 0:2.1.9-1.el7
  samba-common-libs.x86_64 0:4.6.2-11.el7_4
  samba-common-tools.x86_64 0:4.6.2-11.el7_4
  samba-libs.x86_64 0:4.6.2-11.el7_4
Complete!

■SAMBAがシステムと共に自動起動するように設定した。
(このシステムには、MATEが導入されデスクトップ環境で起動する設定になっている。)

# systemctl enable smb
Created symlink from /etc/systemd/system/multi-user.target.wants/smb.service to /usr/lib/systemd/system/smb.service.

■SAMBAを起動した。

# systemctl start smb


■SAMBAのテストのためにLinuxユーザーを追加した。
(パスワードは設定していない。)

# useradd testuser

ホームディレクトリが自動生成される。


■SAMBAユーザーとして上記のテストユーザーを追加した。

# pdbedit -a testuser
new password:
retype new password:
(↑SMBアクセス時に使うパスワードを登録する。)

Unix username:        testuser
NT username:
Account Flags:        [U          ]
User SID:             S-1-5-21-xxxxxxxxx-yyyyyyyyyy-zzzzzzzzzz-1000
Primary Group SID:    S-1-5-21-xxxxxxxxx-yyyyyyyyyy-zzzzzzzzzz-513
Full Name:
Home Directory:       \\localhost\testuser
HomeDir Drive:
Logon Script:
Profile Path:         \\localhost\testuser\profile
Domain:               LOCALHOST
Account desc:
Workstations:
Munged dial:
Logon time:           0
Logoff time:          Thu, 07 Feb 2036 00:06:xx JST
Kickoff time:         Thu, 07 Feb 2036 00:06:xx JST
Password last set:    Tue, 17 Oct 2017 11:31:xx JST
Password can change:  Tue, 17 Oct 2017 11:31:xx JST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF


■テスト接続した。

クライアントからSAMBAサーバーへの接続は、Windowsクライアント以外にも、
MATEデスクトップ環境、Gnomeデスクトップ環境などからも可能である。

(注意)
sambaサーバー側で、ファイアヲールがクライアントからの接続を受け入れるようにしておく。


○Linuxコンソールから

# yum install cifs-utils
インストール:
  cifs-utils.x86_64 0:6.2-10.el7                                                                               
依存性関連をインストールしました:
  keyutils.x86_64 0:1.5.8-3.el7

マウントを行う。 (リモートマシンのファイル共有をマウント)
# mount -t cifs -o user=testuser,password=PAssWoRD "//192.168.1.22/testuser" /mnt/
あるいは、
# mount -t cifs -o user=testuser,password=PAssWoRD,vers=1.0,sec=ntlmssp  "//192.168.1.22/testuser" /mnt/

マウントできたか確認した。(共有ファイルが表示される。)
# ls /mnt

マウントを解除した。
# umount /mnt



○Linuxデスクトップから

クライアントにおいてsambaサーバーに接続するための設定事項
種類:Windows共有
サーバ名:sambaサーバーのIPアドレス
共有:
フォルダ:testuser
ユーザー名:testuser
パスワード:上記で設定したもの


○Windowsから

Windowsコマンドプロンプトから次のコマンド実行した。
アドレスは、SAMBAサーバーマシンのもの。
テストのためあらかじめ、ファイアウォールを無効にしておいた。

C:\ start \\192.168.1.22

登録済みの。testuserとそのSAMBAパスワードを入力すると、
testuserのホームディレクトリの内容を確認できた。

ところで、共有ディレクトリの設定を行う場合には、SAMBAの設定ファイルを編集する必要がある。

2013年7月31日水曜日

【Linux CentOS6 64bit】samba共有でのファイルやフォルダへの操作履歴をログに残す【samba 3.5.10】

ファイルをネットワークで共有するために、ファイルサーバーソフトウェアのsambaを用いている。

利用ユーザーが増えてくると、ファイルとフォルダの作成や削除などの操作を、
ログに残しておいた方が良い場合がある。

新しいバージョンのsambaでは設定を行えば、簡単に共有のファイルやフォルダに対する操作をロギングできる。
sambaの共有にファイルやフォルダへの何らかのアクセスがあると、
その情報がrsyslogdを通して、ログファイルに書き込まれていくようになる。



<手順>
■sambaの設定ファイルである smb.conf の編集を行った

操作情報を記録するための設定は、各共有ごとに行った。
次の例は、sharename という共有においてファイルやフォルダへの操作をロギングする設定だ。
[sharename]
(省略)
vfs objects = full_audit
full_audit:prefix = %u|%I|%S
full_audit:failure = mkdir rmdir pwrite rename unlink
full_audit:success = mkdir rmdir pwrite rename unlink
(省略)
・full_audit:prefix = %u|%I|%S
指定している三つの値でそれぞれ、ユーザー名、IPアドレス、共有名が、併せて操作ログに記録されるようになる。

・full_audit:success = mkdir rmdir pwrite rename unlink
ファイルやフォルダの操作が成功した場合にログに残す操作を設定している。

mkdir  …フォルダの作成
rmdir  …フォルダの削除
pwrite  …ファイルへの書き込み (ファイルの作成ではない)
rename …リネーム
unlink  …ファイルの削除

定義された操作は他にも色々ある。(†1)
ログファイルが膨れ上がったり、ファイルシステムに負荷をかけたり、
悪影響を及ぼすかもしれないので、必要最小の記録にとどめている。

smb.conf を保存するだけで、sambaにこの新しい設定が反映されたようである。
(場合によっては、sambaの再起動が必要になるかもしれない)



■ rsyslogの設定を確認した

以上の設定がsambaで完了すれば、操作情報が、rsyslogに送られるようになるようだ。
rsyslogのデフォルトの設定には、次の記述がある。
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
*.infoというデフォルト設定が効いて、/var/log/messages にログが記録されていくようだ。

デフォルトの設定のまま変更はしていない。



■動作確認を行った

○次のコマンドで、hiro というユーザーによるsamba共有(sharename)に対する操作を、grepで抽出して表示させた。

[root@FServer log]# grep hiro /var/log/messages | less
Jul 31 00:00:30 FServer smbd[15060]: hiro|192.168.7.31|sharename|rmdir|ok|tree/14/test
hiroは、共有名sharenameにあるtreeフォルダ内14フォルダ内にある testというフォルダを削除したということがわかる。
そして、そのクライアントPCのアドレスは192.168.7.31である。


○削除フォルダに、さらにサブフォルダやファイルが存在している場合

削除したフォルダに、ファイルやサブフォルダがさらに存在していた場合でも、
まず削除対象のフォルダ内にあるファイルが削除(unlink)されて、
続いてフォルダが削除(rmdir)されている様子がログから読み取れた。



(参考)
・Samba – file audit log with full_audit
< http://a32.me/2009/10/samba-audit-trail/ > 2013年7月31日

・vfs_full_audit — record Samba VFS operations in the system log (脚注 1)
< http://www.samba.org/samba/docs/man/manpages/vfs_full_audit.8.html > 2013年7月31日

Ad

Ad