管理者/smbd の設定 の変更点
更新- 追加された行はこの色です。
- 削除された行はこの色です。
- 管理者/smbd の設定 へ行く。
- 管理者/smbd の設定 の差分を削除
[[公開メモ]]
#contents
* samba サーバーの設定 (2015-01-19) [#k459faa9]
** 概要 [#oea5882e]
普段使いのノートパソコンは Windows 7 で動いているのですが、
そこで VMware Player を走らせて開発環境として Debian を起動できるようになっています。
で、Debian 側のファイルを Windows 7 から簡単に編集するために
Debian に samba を入れて、ファイル共有によって Windows 7 からアクセスしようと考えました。
** samba の導入 [#b842d8ec]
テスト用も兼ねて smbclient も入れておきます。
LANG:console
$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 8 (jessie)"
NAME="Debian GNU/Linux"
VERSION_ID="8"
VERSION="8 (jessie)"
ID=debian
HOME_URL="http://www.debian.org/"
SUPPORT_URL="http://www.debian.org/support/"
BUG_REPORT_URL="https://bugs.debian.org/"
$ uname -a
Linux takeuchi-debian32 3.16.0-4-686-pae #1 SMP Debian 3.16.7-ckt2-1 (2014-12-08) i686 GNU/Linux
$ sudo samba --version
Version 4.1.13-Debian
$ sudo aptitude install samba smbclient
...
$ sudo service samba restart
** Windows7 から検索できない [#i2c05fde]
開発用途で、ローカルでしか使わないつもりで適当にインストールしたためもあり、
始め Debian システムの hostname が takeuchi-debian32 となっていました。
で、名前が長すぎるとダメみたいでした。
そういえば Windows ではコンピュータ名は15文字以下でないとだめなのでした(汗
[[Google:windows コンピュータ名 長さ]]
hostname で名前を変えて、samba を再起動したところ nmblookup で引けるようになりました。
LANG:console
$ nmblookup takeuchi-debian32
name_query failed to find name takeuchi-debian32
$ sudo hostname takeuchi-deb32
$ sudo service samba restart
$ nmblookup takeuchi-debian32
192.168.133.128 takeuchi-deb32<00>
Windows 7 からもちゃんと見えます。
** ホスト takeuchi-deb32 の名前解決ができません [#wd0ab68b]
nmblookup はうまく動くようになった物の、
コマンドラインに表記のエラーがしょっちゅう表示されるようになってしまいました。
これは、/etc/hosts の設定が書き換わっていないためでした。
http://nakamura-hiroshi.com/ubuntu/2009/03/post-7.php
LANG:console
$ sudo jed /etc/hosts
...
127.0.1.1 takeuchi-deb32
...
とすることで、エラーが出なくなりました。
** 中身が空 [#wa698c8f]
takeuchi-deb32 という名前のネットワーク名は見える物の、
Windows 7 から //takeuchi-deb32/ にアクセスしても中に何も見えませんでした。
これは、
LANG:console
$ testparm
...
[homes]
comment = Home Directories
valid users = %S
create mask = 0700
directory mask = 0700
browseable = No
...
の browsable = No が効いているためで、見えなくて正常なのでした。
ちなみに、browsable = Yes にすると homes というフォルダーが見えますが、
この段階では、見えたとしてもアクセスできない物のようでした?
- エクスプローラーからは
-- \\takeuchi-deb32\homes にアクセスできません
-- エラーコード: 0x80070043
-- ネットワーク名が見付かりません
- smbclient からは
-- tree connect failed: NT_STATUS_BAD_NETWORK_NAME
となります。~
→ 下記設定後はちゃんとアクセスできました。
browsable = No の設定では、
ホームディレクトリへは //(servername)/(username) の形でアクセスします。
** アクセスが拒否される [#d6875504]
Debian 側のユーザー名は osamu なので、
Windows 側から //takeuchi-deb32/osamu へアクセスしてみたところ、
ユーザー名とパスワードを聞かれるところまで行く物の、
正しいパスワードを入力しても「アクセスが拒否されました」となりました。
これは samba 導入前に作成したユーザーに対して samba 用のパスワードファイルに登録されていないためでした。(samba 導入後にユーザーを作成した場合には、ちゃんとパスワードの同期を取ってくれるのだそうです。)
http://www.linuxquestions.org/questions/linux-networking-3/samba-issue-with-share-level-security-and-client-lanman-auth-4175419138/
によれば pdbedit -L で登録ユーザー名を確認できるそうで、ここに何も出ない=ユーザーが正しく登録されていない、ということのようです。pdbedit -a でユーザーを登録したところ、アクセスできるようになりました。
LANG:console
$ smbclient //takeuchi-deb32/osamu
Enter osamu's password:
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 4.1.13-Debian]
tree connect failed: NT_STATUS_ACCESS_DENIED
$ sudo pdbedit -L
(何も出力されない!)
$ sudo pdbedit -a -u osamu
new password:
retype new password:
$ sudo pdbedit -L
osamu:1000:Osamu Takeuchi
$ smbclient //takeuchi-deb32/osamu
Enter osamu's password:
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 4.1.13-Debian]
smb: \>ls
. D 0 Mon Jan 19 20:31:47 2015
.. D 0 Fri May 9 08:36:28 2014
.......
smb: \>^D
$
pdbedit -L で Failed to add entry for user (user name). と言われるのは
システム側に (user name) というユーザーがない場合なので、先にシステムに
ユーザー登録をします。
** 書き込み可能にする [#a20e02d6]
もともとファイルの編集を行うための共有ですので、
homes を書き込み可能にしておきます。
LANG:console
$ sudo jed /etc/samba/smb.conf
[homes]
...
read only = no
...
$ sudo service samba restart
** エラーメッセージを回避 [#je2e4db8]
samba のログファイルに cups 関連のエラーがたくさん出ていることに気付きました。
http://roserogue.blogspot.jp/2008/08/unable-to-connect-to-cups-server.html
にもあるようにプリンターを探しに行ってエラーが出ているようです。
そもそもプリンタの共有自体が必要ないので、[[Google:samba printer 無効]]
を参考にプリンタの共有をしないように設定しました。
LANG:console
$ tail /var/log/samba/log.smbd
[2015/01/19 21:58:42.332236, 0] ../source3/printing/print_cups.c:528(cups_async_callback)
failed to retrieve printer list: NT_STATUS_UNSUCCESSFUL
[2015/01/19 22:11:43.043939, 0] ../source3/printing/print_cups.c:151(cups_connect)
Unable to connect to CUPS server localhost:631 - 不正なファイル記述子です
[2015/01/19 22:11:43.045585, 0] ../source3/printing/print_cups.c:528(cups_async_callback)
failed to retrieve printer list: NT_STATUS_UNSUCCESSFUL
[2015/01/19 22:24:43.538669, 0] ../source3/printing/print_cups.c:151(cups_connect)
Unable to connect to CUPS server localhost:631 - 不正なファイル記述子です
[2015/01/19 22:24:43.539015, 0] ../source3/printing/print_cups.c:528(cups_async_callback)
failed to retrieve printer list: NT_STATUS_UNSUCCESSFUL
$ sudo jed /etc/samba/smb.conf
[global]
...
printing = bsd
...
$ sudo service samba restart
これで Unable to connect to CUPS server localhost:631 のエラーは消えましたが、
まだ以下のエラーが出続けました。
http://misc.mat2uken.net/blog/2013/06/13/no_printcap_file.html
を参考にして、
LANG:console
$ tail /var/log/samba/log.smbd
smbd version 4.1.13-Debian started.
Copyright Andrew Tridgell and the Samba Team 1992-2013
[2015/01/19 22:38:48.167090, 0] ../lib/util/become_daemon.c:136(daemon_ready)
STATUS=daemon 'smbd' finished starting up and ready to serve connectionsUnable to open printcap file /etc/printcap for read!
[2015/01/19 22:39:48.233443, 0] ../source3/printing/print_standard.c:69(std_pcap_cache_reload)
Unable to open printcap file /etc/printcap for read!
[2015/01/19 22:52:48.896825, 0] ../source3/printing/print_standard.c:69(std_pcap_cache_reload)
Unable to open printcap file /etc/printcap for read!
[2015/01/19 23:05:49.529105, 0] ../source3/printing/print_standard.c:69(std_pcap_cache_reload)
Unable to open printcap file /etc/printcap for read!
$ sudo jed /etc/samba/smb.conf
[global]
...
load printers = no
printcap name = /dev/null
...
$ sudo service samba restart
これで消えたようです。
* ちなみに Debian 側から Windows 7 のファイル共有にアクセスするには [#g4db8641]
smbclient ならそのままで、
LANG:console
$ smbclient //takeuchi-t430/for_debian
Enter osamu's password:
Domain=[TAKEUCHI-T430] OS=[Windows 7 Home Premium 7601 Service Pack 1] Server=[Windows 7 Home Premium 6.1]
smb: \>
のようにアクセスできます。フォルダにマウントするには、cifs-utils を入れて、
LANG:console
$ sudo aptitude install cifs-utils
$ sudo mount.cifs -o username=osamu,rw,sec=ntlm,uid=osamu,gid=osamu,\
file_mode=0777,dir_mode=0777 //takeuchi-t430/for_ebian ~/t430/
などとすれば良いようでした。
* コメント・質問 [#k0ed4553]
#article_kcaptcha
Counter: 28174 (from 2010/06/03),
today: 4,
yesterday: 5