Simple Samba Share-パスワードなし


16

必要なもの:

パスワードなしのファイルサーバー用のシンプルなsamba構成と、すべてのユーザーに対する完全な読み取り書き込み。セキュリティは必要ありません。

歴史:

私は私の家のファイルをホストするサーバーを作っています。サーバーの目標は、Windowsマシンのファイルをホストすることです。私がこれまでにできた最善の方法は、この構成です。これにより、ネットワークから共有とサーバーを確認できますが、Windowsはそれらにアクセスできません。サーバーでLinux mateを使用しています。すべての最新の更新プログラムです。

私の設定:

[global]

   workgroup = BIOHAZARD
   netbios name = MATUSALEM
   guest account = nobody
   log file = /usr/local/samba/var/log.%m
   max log size = 50
   security = user
   map to guest = bad user
   encrypt passwords = yes

# Share Definitions 
[homes]
   comment = Home Directories
   browseable = no
   writable = yes

[Teste]
    path = /home/peter/share
    writable = yes
    printable = no
    comment = teste
    only guest = yes
    public = yes
        guest ok = yes
        guest only = yes
        guest account = nobody
        browsable = yes
[REDE]
    comment = TESTE 2
    public = yes
    delete readonly = yes
    path = /HOME/REDE
    writeable = yes
        guest ok = yes
        guest only = yes
        guest account = nobody
        browsable = yes
######

何か案は?


回答:


22

はい、Sambaは苦痛になります。仕事だけでなく、家でも使っています。

最初に行うべきことは、トラブルシューティングを容易にするためにゼロからやり直すことです。これを行うには、ターミナルで次のコマンドを実行します。

dpkg-reconfigure samba-common

次に、共有したいsambaサーバー上のフォルダーに移動し、ユーザーが共有に対して読み書きできないことを確認します。これは、ユーザーnobodyがWindowsクライアントが使用するユーザー名であるためです。通常、単純にするために/ディレクトリにフォルダーを作成しますが、「正しい」方法は/ srvのサブフォルダーを作成することです。権限をまだ変更していない場合は、以下のコマンドを使用してください。

sudo chown -R nobody.nogroup the_folder
sudo chmod -R 777 the_folder

また、rootとして次のコマンドを実行することにより、誰もディレクトリに書き込めないかどうかをテストできます。

sudo -u nobody touch test_file

/etc/samba/smb.confを編集し、[printers]共有定義の下に行を追加します。

[share_name]              ;the share name can be what ever you want
browseable = yes
path = the_complete_path_to_the_shared_folder
guest ok = yes
read only = no
create mask = 777

次に、完了したら保存して次を実行します。

testparm

これは、タイプミスをした場合に警告します。次に、Sambaサービスを再起動する必要があります。

sudo systemctl restart smbd
sudo systemctl restart nmbd

これは完璧に機能しました!将来の参照用にコピーされました。問題はchmodの問題でした!本当にありがとうございます。
ピーターレイノルドロビンソンジュニア

1
うまくやれば、ほとんどの人はあきらめたでしょう。ファイル共有では、どのOSでも、パーミッションが問題になることが多いことを忘れないでください。
アンドリュー

1
すごい。再インストールサンバしようとすると、私にとってこの作品は、私は問題を持っているだけでなく、必要とされているので、問題はしません sudo apt-get autoremove、その後と sudo apt-get purge samba*
iLevi

これにより、sambaのインストール完了後にnmdbを起動する際にエラーが発生し、log.nmdbで「設定ファイルを開く際のエラー」と表示され、/ etc / sambaフォルダーがまったく表示されませんでした。パージと削除と再インストールのプロセスを再試行すると、同じ結果が何度も発生しました。
フランクH.

これは、インターネット上でのみ有効なアプローチです!あなたは私の一日を救ってくれてありがとう。
エヴィの歌

0

これは古いスレッドであることがわかりましたが、ログインを必要とせずにフォルダを作成および共有する問題を解決するのに役立ちました。他にもたくさんのスレッドがありますが、誤解を招きます。そこには他の投稿と非常に多くの小さな違いがあるので、セミビギナーズガイドを下にあげました。私はそれがほとんどあきらめ、髪の半分を引き出した誰かを助けるかもしれないと思いました:-)

私にとって、デフォルトのAWS Linuxイメージ(Amazon Linux AMI 2017.03.0(HVM))でルートdir /にフォルダーを作成する必要がありました。デフォルトのec2-userで作成した場合、アクセス許可を割り当てることができませんでした。許可を割り当てるとき、nogroupが機能しなかったため、nobody.nobodyを使用する必要がありました。最後に、gloablスタンドアロンサーバーセクションの下に、デフォルトでsecurity = userと表示されているguest = Bad Userへのマップを含める必要がありました

したがって、完全な手順は新しいサーバーの展開になります。

必要に応じてsambaをインストールします

フォルダーを作成して権限を割り当てます

sudo su
cd /
mkdir the_folder
chown -R nobody.nobody the_folder
chmod -R 777 the_folder

Sambaファイルを編集する

nano /etc/samba/smb.conf

行を見つける----スタンドアロンサーバーオプション----「ゲストにマップ」を追加

security = user
passdb backend = tdbsam
map to guest = Bad User

セクションの下で#====共有定義====共有を追加

[SHARENAME]
path = the_folder
read only = no
create mask = 777
guest ok = yes

ファイルを保存して、samabaを再起動します

/etc/init.d/smb restart

0

@Andrewの回答に加えて、ubuntu 17.04から17.10への最近のアップグレードはsystemctl samba-dc-ad.serviceで問題を作成します。おそらく、samba-dc-ad.serviceにsambaを再インストールするときのマスクのバグではありません(意図的)。アップグレードのためにsambaのインストール/再インストールで問題が発生している場合、@ Andrewの回答の前の追加手順:

  1. apt-get update&apt-get-upgrade <-未解決のアップグレードがないことを確認
  2. apt-get install samba
  3. このページに移動し、指示を行ってください:https : //wiki.samba.org/index.php/Managing_the_Samba_AD_DC_Service_Using_Systemd

  4. apt-get -f sambaのインストール

  5. 今、上記の手順を実行します。:-)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.