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

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

サンバストランドが欲しいです。そのうちのいくつかは誰でも利用可能である必要があります(すでに機能しています)、一部はパスワード(およびユーザー名)で保護する必要があります。パスワードで保護されたフォルダの場合は、新しいユーザーを作成し、彼にSambaパスワードを提供し、私の共有の有効なユーザー=の下に彼の名前を書きました。次のコマンドは次のとおりです。

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

私はこの小さなガイドに従いました。Sambaユーザーを追加。しかし、うまくいかないようです。 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

ベストアンサー1

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

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

共有レベルのセキュリティを使用している場合にのみ有効です。

情報が必要な場合は、他のウェブサイトの代わりにソースコードにアクセスすることをお勧めします。以下は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システムユーザーは誰でもいいえ接続すると、Microsoft Windowsが応答します。cannot access \\whatever_server_you_typed. これはMap to Guest = Bad User、「Bad User」が Linux システムのユーザーアカウントとして存在せず、空白があるため構文的にも無効であるためです。

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

以下でこのアプローチを選択すると、Security = User上記の方法を使用して潜在的にセキュリティ要件を満たすことができます。それ以外の場合は、security = share元の要求された操作を実行する必要があります。つまり、ネットワーク上の誰もがパスワードを要求せずに特定のフォルダにアクセスできるようにする必要があります。

~のため安全はいを選択してくださいユーザー、共有、サーバー、ドメイン。 Sambaのヘルプドキュメントには、各機能に利用可能な機能と利用できない機能が記載されています。

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

ヘルプ文書でそのオプションが見つかりませんでした。guest account =(該当するオプションと同じように)同じであると仮定し、確実なセキュリティ影響のために不明なユーザーをrootアカウントにマッピングしたくありません。Map to GuestPublicGuest OK = yes

おすすめ記事