teematsu @ ウィキ

samba

最終更新:

teematsu

- view
管理者のみ編集可

samba (バージョン3)

vi /etc/samba/smb.conf
encrypt passwords = true # パスワードを暗号化
passdb backend = tdbsam # パスワードデータベースの種類
security = user # ユーザー名とパスワードでローカル認証を行う設定
unix password sync = no # sambaのパスワードを変更したときにLinuxのは変更しない
hide dot files = no # ドットで始まるファイルを隠しファイルとして扱わない
disable netbios = yes # NetBIOSを使わない→マイネットワークに表示させない

fooという名前で共有フォルダを公開。読み取り専用。ゲストアクセス不可。特定のユーザー(user1, user2)のみアクセス可能。create mask, directory maskはファイル、ディレクトリを作る場合に使われるのでいらないはずだが、念のため。

[foo]
  read only = yes
  path = /path/to/foo
  guest ok = no
  create mask = 0700
  directory mask = 0700
  valid users = user1, user2

設定ファイルのチェックは

testparm (引数なし)

sambaアクセス時に使うユーザー名はLinuxユーザー名と同じ。Linuxでユーザーアカウントを作成しておけば、samba側で個別に追加する必要はない。→というわけではないらしい。sambaインストール時にLinuxユーザーをsambaに反映する処理が走るのか?

pdbedit -L で一覧を参照できる。

パスワードはsmbpasswdで設定。aさんのは、aさんがLinuxにログインしている状態で、引数なしでsmbpasswd。 初回はrootが実行しないと、はじかれるかもしれない(Could not connect to machine 127.0.0.1: NT_STATUS_LOGON_FAILURE)。

sudo smbpasswd a

パスワードなしにするには、rootがsmbpasswdでパスワード変更を実施し、パスワード空のままEnter。

ユーザーを追加するには

suto pdbedit -a foo

ファイル名の文字コードに関する設定

http://www.atmarkit.co.jp/flinux/special/samba3b/samba03.html

ゲストアクセス可能な共有

以下の条件下でゲストアクセス可能な共有を作りたい

  • security = user が指定されている
  • クライアント(Windows)でのログイン名と同じ名前のユーザーがLinux側に存在する。
  • そのユーザーの場合も、Sambaにはゲストとしてアクセスしたい。
  • そのユーザーについて、Sambaのパスワードを設定しない。smbpasswdによるパスワード設定をしない。

設定

[global]
  map to guest = Bad Password
  guest account = guestuser

[foo]
  path = /path/to/foo
  guest ok = yes
# 以下は任意
  writable = yes
  browseable = yes
  create mask = 700
  directory mask = 700

ゲストアクセスされた場合のLinux側のユーザーは事前に用意しておく。ここではその名前をguestuserとしている。

map to guest = Bad User とした場合、Windowsでのログイン名がLinux側にユーザーとして存在する場合はアクセスできない。存在しない場合はアクセスできるのかもしれない。これは、guest only = yes とした場合でも同じと思われる。

map to guest = Bad Password とすると、パスワードを間違えるとゲスト扱いになる。要認証でゲストは読み込みのみ可、のような共有が存在している場合は、パスワード入れ間違えに気づけず書き込みできずにトラブルになる心配もある。

smbfsを使ってマウント

aptitude install smbfs

※ smbfsを入れなくても mount -t cifs でマウントできるようだが、//host/share のhost部分を/etc/hostsで定義した場合にIPアドレスに解決されない現象があった。

mkdir /mnt/mountpoint

/etc/fstab

//host/share /mnt/mountpoint      cifs    ro,auto,nouser,async,username=myname,password=mypassword  0       0

ここでは、ro(読み込み専用)でマウント

参照


名前:
コメント:
目安箱バナー