web-dev-qa-db-ja.com

パスワードを尋ねないようにSamba共有を作成する方法

注:2 YEARSの範囲でパブリックSamba共有をセットアップする方法を説明する最大50の異なるページを読んだことがあり、何も機能しませんでした。どれくらいかわからないRTFMこれを設定する必要がある.

2台のワークステーション用にホームサーバーに完全にオープンなパブリックファイル共有をセットアップする必要があります。

セットアップは次のとおりです。

サーバー

  • Debian Wheezy
  • Sudo smbd --versionVersion 3.6.6をくれます。
  • 私が共有したい2つのローカルパーティション。古いため、Windowsマシンから取得したため、NTFSでフォーマットされています。 ext *にフォーマットすることはできませんFS彼らは多くのデータを持っているので、(まだ)他の場所には移動できません。
  • 独創性の欠如のために「homeserv」と名付けられた機械。

クライアント

  1. Debianテスト(Jessie)
  2. Windows 7(2つの異なるマシン)。実際、私のマシンはDebian/Windowsデュアルブートで、妻のマシンはWindowsのみです。

蒸留後のsmb.confは次のようになります(verbatim、他には何もありません):

[global]
  workgroup = WORKGROUP
  security = user
  map to guest = Bad User

[disk1]
  comment = Disk 1 on 400GB HDD
  path = /media/disk1
  browsable = yes
  guest ok = yes
  read only = no
  create mask = 0755

[disk2]
  comment = Disk 2 on 400GB HDD
  path = /media/disk2
  browsable = yes
  guest ok = yes
  read only = no
  create mask = 0755

両方のクライアントマシンで、DebianとWindowsの両方で同じ結果が得られます。ログイン/パスワードダイアログです。 security = usermap to guest = Bad usersecurity = shareguest ok = yesの組み合わせはありません。

Windows 7では、ネットワーク周辺の共有マシンをクリックした直後にログイン/パスワードダイアログが表示されます。 Debianのsmb://homeserv/ファイルパス(任意のファイルブラウザー)に2つのフォルダーdisk1disk2が表示されます。これらを開こうとすると、ログイン/パスワードダイアログが表示されます。

では、ログイン/パスワードを入力する必要がないというスキームには何が欠けていますか?これはユーザビリティの問題です。ファイルジャンクヤードのユーザーベースの認証は作成しません。

20
hijarian

はい、私は自分で答えを見つけました。

これはドキュメントやHOWTOなどからは絶対に明らかではないため、これがパスワードを要求する理由は、ゲストユーザーを共有するディレクトリの所有者

RWをマウントする必要があるNTFSパーティションがあるので、/etc/fstab

/dev/sdb1  /media/disk1  ntfs defaults,noexec,noatime,relatime,utf8,uid=1000,gid=1000 0       2
/dev/sdb2  /media/disk2  ntfs defaults,noexec,noatime,relatime,utf8,uid=1000,gid=1000 0       2

Configの最も重要な部分はuidgidです(たぶんuidだけです、わかりません)。これらは、サーバーに設定されたユーザーjonnieのUIDとGIDに設定されます(明らかにrootではありません)。したがって、ntfs-3gがこれらのディスクをマウントすると、すべてが彼によって所有されます。

その後、このユーザーをSambaレジストリに追加しました(または、まったく同じものを作成しました。気にしないでください)。

# smbpasswd -a jonnie

パスワードの入力を求められました。メインシステムと同じように入力しました。

その後、force userおよびforce groupへの設定smb.conf

[global]
  workgroup = WORKGROUP
  netbios name = HOMESERV
  security = share

[disk1]
  comment = Disk 1 on 400GB HDD
  path = /media/disk1
  browsable = yes
  guest ok = yes
  read only = no
  create mask = 666
  directory mask = 777
  force user = jonnie
  force group = jonnie

[disk2]
  comment = Disk 2 on 400GB HDD
  path = /media/disk2
  browsable = yes
  guest ok = yes
  read only = no
  create mask = 666
  directory mask = 777
  force user = jonnie
  force group = jonnie

したがって、最も重要な私に関連する構成の一部はforce user

Samba HOWTO の厚意による

15
hijarian

設定は短くすることができます:

UNIXユーザーjonnieを作成する

useradd jonnie -s /usr/sbin/nologin

Smbuserを作成する

smbpasswd -a jonnie

共有するLinuxディレクトリを作成する

mkdir /mysmbshare

ディレクトリの所有者をjonnieに変更します

chown /mysmbshare jonnie

smb.conf

[global]
  workgroup = MyWorkGroup
  server string = Hello, use me
  security = share
  guest account = jonnie
  passdb backend = tdbsam

[the_public_share]
   path = /mysmbshare
   writable = yes
   printable = no
   public = yes

すべてのファイルはjonnieが所有し、誰もがファイルへのrwアクセス権を持っています。

2
BdK

オープンなSamba共有をすばやく簡単に作成するには、次のようにします。

# ----------------------- Standalone Server Options ------------------------
#
# Scurity can be set to user, share(deprecated) or server(deprecated)
#
# Backend to store user information in. New installations should
# use either tdbsam or ldapsam. smbpasswd is available for backwards
# compatibility. tdbsam requires no further configuration.

        security = share
        passdb backend = tdbsam

共有を定義する:

[export]
   comment = Data Export Directory
   path = /data/export
   read only = no
   public = yes
   browseable = yes
   writeable = yes
   create mask = 666
   directory mask = 777

デーモンを再起動します。

Windows 7クライアントの場合、2014年の時点で、ドメインポリシーを設定する必要がありました。通信を常にから[無効]にデジタル署名する.

1
ewwhite