サンバストランドが欲しいです。そのうちのいくつかは誰でも利用可能である必要があります(すでに機能しています)、一部はパスワード(およびユーザー名)で保護する必要があります。パスワードで保護されたフォルダの場合は、新しいユーザーを作成し、彼に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 Guest
Public
Guest OK = yes
答え2
このビデオはそれを非常によく説明します。
https://www.youtube.com/watch?v=7Q0mnAT1MRg
古いsmb.confファイルをバックアップして最初から新しいファイルを作成すると、うまくいくと思います。
/etc/samba フォルダに移動します。
sudo mv smb.conf smb.conf.bak
smb.confファイルに[global]設定を作成し、フォルダごとに別々のファイルshare.confを作成できます。
新しい smb.conf ファイルを作成します。
sudo nano smb.conf
smb.confから:
[global]
server string = File server
workgroup = WORKGROUP
security = user
map to guest = Bad User
name resolve order = bcast host
include = /etc/samba/shares.conf
share.conf ファイルを作成します。公的に正常に共有したので、ここではパスワード保護オプションを表示します。
Stock.conf:
[Private Share]
path=[give here the path to the folder to be shared]
force user = smbuser
force group = smbgroup
create mask = 0664
force create mode = 0664
directory mask = 0775
force directory mode = 0775
writable = yes
システムグループsmuserを作成します。
sudo groupadd --system smbgroup
これで、ユーザーsmbuserがsmbgroupに作成されますが、ホームディレクトリは作成されず、システムにログインする機能も拒否されます。
sudo useradd --system --no-create-home --group smbgroup -s /bin/false smbuser
共有したいフォルダの所有権を変更してください。
sudo chown -R smbuser:smbuser [folder path]
書き込み許可
sudo chmod -R g+w [folder path]
smbuserにSambaパスワードを追加してください。これは、共有フォルダを表示するために認証するためにWindowsが提供する必要があるパスワードです。
sudo smbpasswd -a smbuser
New SMB password:[password]
Retype new SMB password:[password]
ここで smbd を再起動します。
sudo systemctl restart smbd
ウィンドウで実行\\[ip address of samba system]
ユーザー名とパスワードの入力を求められます。ユーザー名はsmbuser
あなたが提供し、パスワードはあなたが提供します。
お役に立てば幸いです。
答え3
許可されたユーザーを含むグループ(「restrictedgroup」など)を作成し、それをsmb.confに指定する必要があります。
有効ユーザー = @restrictedgroup
これにより、制限されたグループのユーザーだけがフォルダにアクセスできます。