私はいくつかのサンバの共有をしたいと思います。それらのいくつかは誰もが利用できるようにしておく必要があり(これは既に機能しています)、パスワード(およびユーザー名)で保護する必要があります。パスワードで保護されたフォルダーについて、私は新しいユーザーを作成し、彼に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
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アカウントにマッピングしたくない明らかなセキュリティ上の影響。