web-dev-qa-db-ja.com

パスワードで保護されたsamba共有

私はいくつかのサンバの共有をしたいと思います。それらのいくつかは誰もが利用できるようにしておく必要があり(これは既に機能しています)、パスワード(およびユーザー名)で保護する必要があります。パスワードで保護されたフォルダーについて、私は新しいユーザーを作成し、彼にsambaパスワードを与え、私の共有の有効なユーザー=の下に彼の名前を書きました。これらはコマンドでした:

useradd joe
passwd joe
smbpasswd -a joe
valid users = vivek raj joe

私はこの小さなガイドに従いました: http://www.cyberciti.biz/faq/adding-a-user-to-a-samba-smb-share/ しかし、それは動作していないようです、Windows 7は常にパスワードが間違っていることを教えてくれます。

これが私のsamba設定ファイルです:

[global]
  server string = bananapi
  workgroup = WORKGROUP
  netbios name = %h
  security = user
  guest account = root
  socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536
  smb ports = 445
  max protocol = SMB2
  min receivefile size = 16384
  deadtime = 30
  os level = 20
  mangled names = no
  syslog only = yes
  syslog = 2
  name resolve order = lmhosts wins bcast Host
  preferred master = auto
  domain master = auto
  local master = yes
  printcap name = /dev/null
  load printers = no
  browseable = yes
  writeable = yes
  printable = no
  encrypt passwords = true
  enable core files = no
  passdb backend = smbpasswd
  smb encrypt = disabled
  use sendfile = yes


# Using the following configurations as a template allows you to add
# writable shares of disks and paths under /storage

[Share]
  path = /storage/share
  available = yes
  browsable = yes
  public = yes
  writable = yes
  root preexec = mkdir -p /storage/share

[username]
  path = /storage/username
  available = yes
  browsable = yes
  public = no
  writable = yes
  valid users = joe
  root preexec = mkdir -p /storage/username
4
user108455

https://www.samba.org/samba/docs/using_samba/ch09.html

guest ok = yesを使用して共有を構成し、ゲストユーザーへのアクセスを許可できます。

これは、共有レベルのセキュリティを使用している場合にのみ機能します

何かに関する情報が必要な場合は、他のWebサイトではなくソースに移動することを検討してください。これがsambaの目次です。 https://www.samba.org/samba/docs/using_samba/toc.html

あなたは使っています

[GLOBAL]
security = user

これは最も制限があり、Microsoft WindowsシステムのユーザーがLinuxシステムからsamba共有にアクセスする場合でも、そのLinuxシステムのアカウントを持っているか知っている必要があり、パスワードを知っている必要があります。

私のsmb.confの一部はこれです

[global]
        workgroup = WORKGROUP
        passdb backend = tdbsam
        security=user
        map to guest = Bad User
#       map to guest = nobody
        usershare allow guests = No
        server signing = auto

あなたと同じように、上記はLinuxシステムにアカウントを持たないWindowsシステム上の誰もがneverに接続し、Microsoft Windowsは次のように応答しますcannot access \\whatever_server_you_typed.これは、「悪いユーザー」がLinuxシステムにユーザーアカウントとして存在しないMap to Guest = Bad Userであり、スペースがあるため、構文的にも無効です。

Map to Guest = nobodyを使用すると、nobodyは有効なLinuxアカウントですが、Microsoft Windowsでユーザー名とパスワードの入力を求められます。これは、Microsoft Windowsから指定されたユーザー名がLinuxのユーザー名でもない場合に発生しますsamba-serverを実行するシステム。

Security = Userでこの方法を選択した場合、上記の方法を使用して、セキュリティのニーズを満たすことができます。それ以外の場合は、security = shareを実行して、最初に要求したことを実行する必要があります。この場合、ネットワーク上の誰もがパスワードの入力を求められることなく特定のフォルダにアクセスできます。

Securityの場合、選択肢はUser、Share、Server、およびDomainです。 sambaのヘルプドキュメントには、各機能で使用できる機能と使用できない機能が記載されています。

guest account = rootを元に戻すことをお勧めします

私はヘルプドキュメントでguest account =オプションを追跡していません。これはMap to Guestと同じだと思います(Publicオプションが実際にGuest OK = yesであるのと同じです)。不明なユーザーをrootアカウントにマッピングしたくない明らかなセキュリティ上の影響。

2
ron